@webex/contact-center 3.10.0-next.2 → 3.10.0-next.21
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.
- package/dist/cc.js +13 -1
- package/dist/cc.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/logger-proxy.js.map +1 -1
- package/dist/metrics/MetricsManager.js +2 -1
- package/dist/metrics/MetricsManager.js.map +1 -1
- package/dist/metrics/behavioral-events.js +12 -0
- package/dist/metrics/behavioral-events.js.map +1 -1
- package/dist/metrics/constants.js +4 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/AddressBook.js +2 -3
- package/dist/services/AddressBook.js.map +1 -1
- package/dist/services/EntryPoint.js +2 -3
- package/dist/services/EntryPoint.js.map +1 -1
- package/dist/services/Queue.js +2 -3
- package/dist/services/Queue.js.map +1 -1
- package/dist/services/WebCallingService.js +1 -1
- package/dist/services/WebCallingService.js.map +1 -1
- package/dist/services/agent/index.js +1 -2
- package/dist/services/agent/index.js.map +1 -1
- package/dist/services/agent/types.js +10 -0
- package/dist/services/agent/types.js.map +1 -1
- package/dist/services/config/Util.js.map +1 -1
- package/dist/services/config/constants.js.map +1 -1
- package/dist/services/config/index.js +1 -1
- package/dist/services/config/index.js.map +1 -1
- package/dist/services/config/types.js +2 -2
- package/dist/services/config/types.js.map +1 -1
- package/dist/services/constants.js.map +1 -1
- package/dist/services/core/Err.js.map +1 -1
- package/dist/services/core/GlobalTypes.js.map +1 -1
- package/dist/services/core/Utils.js +92 -74
- package/dist/services/core/Utils.js.map +1 -1
- package/dist/services/core/WebexRequest.js +1 -2
- package/dist/services/core/WebexRequest.js.map +1 -1
- package/dist/services/core/aqm-reqs.js +2 -3
- package/dist/services/core/aqm-reqs.js.map +1 -1
- package/dist/services/core/constants.js +17 -1
- package/dist/services/core/constants.js.map +1 -1
- package/dist/services/core/types.js.map +1 -1
- package/dist/services/core/websocket/WebSocketManager.js +1 -2
- package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
- package/dist/services/core/websocket/connection-service.js +1 -1
- package/dist/services/core/websocket/connection-service.js.map +1 -1
- package/dist/services/core/websocket/keepalive.worker.js.map +1 -1
- package/dist/services/core/websocket/types.js.map +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/task/AutoWrapup.js +1 -1
- package/dist/services/task/AutoWrapup.js.map +1 -1
- package/dist/services/task/TaskManager.js +177 -56
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/services/task/TaskUtils.js +122 -5
- package/dist/services/task/TaskUtils.js.map +1 -1
- package/dist/services/task/constants.js +3 -1
- package/dist/services/task/constants.js.map +1 -1
- package/dist/services/task/contact.js +0 -2
- package/dist/services/task/contact.js.map +1 -1
- package/dist/services/task/dialer.js.map +1 -1
- package/dist/services/task/index.js +46 -40
- package/dist/services/task/index.js.map +1 -1
- package/dist/services/task/types.js +377 -4
- package/dist/services/task/types.js.map +1 -1
- package/dist/types/cc.d.ts +6 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/metrics/constants.d.ts +4 -0
- package/dist/types/services/config/types.d.ts +4 -4
- package/dist/types/services/core/Utils.d.ts +32 -17
- package/dist/types/services/core/constants.d.ts +14 -0
- package/dist/types/services/task/TaskUtils.d.ts +59 -3
- package/dist/types/services/task/constants.d.ts +2 -0
- package/dist/types/services/task/types.d.ts +57 -13
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/PageCache.js +1 -1
- package/dist/utils/PageCache.js.map +1 -1
- package/dist/webex-config.js.map +1 -1
- package/dist/webex.js +2 -2
- package/dist/webex.js.map +1 -1
- package/package.json +8 -8
- package/src/cc.ts +12 -0
- package/src/index.ts +1 -0
- package/src/metrics/behavioral-events.ts +12 -0
- package/src/metrics/constants.ts +4 -0
- package/src/services/config/types.ts +2 -2
- package/src/services/core/Utils.ts +101 -85
- package/src/services/core/constants.ts +16 -0
- package/src/services/task/TaskManager.ts +204 -36
- package/src/services/task/TaskUtils.ts +145 -5
- package/src/services/task/constants.ts +2 -0
- package/src/services/task/index.ts +50 -63
- package/src/services/task/types.ts +60 -13
- package/test/unit/spec/cc.ts +1 -0
- package/test/unit/spec/metrics/behavioral-events.ts +14 -0
- package/test/unit/spec/services/core/Utils.ts +262 -31
- package/test/unit/spec/services/task/TaskManager.ts +748 -5
- package/test/unit/spec/services/task/TaskUtils.ts +311 -9
- package/test/unit/spec/services/task/index.ts +323 -68
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
package/dist/index.js
CHANGED
|
@@ -79,7 +79,7 @@ var _AddressBook = _interopRequireDefault(require("./services/AddressBook"));
|
|
|
79
79
|
var _types = require("./services/task/types");
|
|
80
80
|
var _types2 = require("./services/agent/types");
|
|
81
81
|
var _types3 = require("./services/config/types");
|
|
82
|
-
function _interopRequireDefault(
|
|
82
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
83
83
|
/**
|
|
84
84
|
* @module ContactCenterModule
|
|
85
85
|
* /
|
|
@@ -95,56 +95,72 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
95
95
|
* Task class represents a contact center task that can be managed by an agent
|
|
96
96
|
* @category Services
|
|
97
97
|
*/
|
|
98
|
+
|
|
98
99
|
/**
|
|
99
100
|
* Agent routing service for Contact Center operations
|
|
100
101
|
* @category Services
|
|
101
102
|
*/
|
|
103
|
+
|
|
102
104
|
// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)
|
|
105
|
+
|
|
103
106
|
/** EntryPoint API types */
|
|
107
|
+
|
|
104
108
|
// Enums
|
|
105
109
|
/**
|
|
106
110
|
* Task Events for Contact Center operations
|
|
107
111
|
* @enum {string}
|
|
108
112
|
* @category Enums
|
|
109
113
|
*/
|
|
114
|
+
|
|
110
115
|
/**
|
|
111
116
|
* Agent Events for Contact Center operations
|
|
112
117
|
* @enum {string}
|
|
113
118
|
* @category Enums
|
|
114
119
|
*/
|
|
120
|
+
|
|
115
121
|
/**
|
|
116
122
|
* Contact Center Task Events
|
|
117
123
|
* @enum {string}
|
|
118
124
|
* @category Enums
|
|
119
125
|
*/
|
|
126
|
+
|
|
120
127
|
/**
|
|
121
128
|
* Contact Center Agent Events
|
|
122
129
|
* @enum {string}
|
|
123
130
|
* @category Enums
|
|
124
131
|
*/
|
|
132
|
+
|
|
125
133
|
/**
|
|
126
134
|
* Combined Contact Center Events
|
|
127
135
|
* @enum {string}
|
|
128
136
|
* @category Enums
|
|
129
137
|
*/
|
|
138
|
+
|
|
130
139
|
// Interfaces
|
|
131
140
|
/** Main types and interfaces for Contact Center functionality */
|
|
141
|
+
|
|
132
142
|
// Types
|
|
133
143
|
/** Agent related types */
|
|
144
|
+
|
|
134
145
|
/** Task related types */
|
|
146
|
+
|
|
135
147
|
/** Agent related types */
|
|
148
|
+
|
|
136
149
|
/** Config related types */
|
|
150
|
+
|
|
137
151
|
// Constants
|
|
138
152
|
/**
|
|
139
153
|
* Idle code constant
|
|
140
154
|
* @constant {string}
|
|
141
155
|
* @category Enums
|
|
142
156
|
*/
|
|
157
|
+
|
|
143
158
|
/**
|
|
144
159
|
* Wrap up code constant
|
|
145
160
|
* @constant {string}
|
|
146
161
|
* @category Enums
|
|
147
162
|
*/
|
|
163
|
+
|
|
148
164
|
(0, _webexCore.registerPlugin)('cc', _cc.default, {
|
|
149
165
|
config: _config.default
|
|
150
166
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_task","_agent","_AddressBook","_types","_types2","_types3","
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_task","_agent","_AddressBook","_types","_types2","_types3","e","__esModule","default","registerPlugin","ContactCenter","config","_default","exports"],"sources":["index.ts"],"sourcesContent":["import {registerPlugin} from '@webex/webex-core';\nimport config from './config';\nimport ContactCenter from './cc';\n\n/**\n * @module ContactCenterModule\n * /\n\n// Core exports\n/**\n * ContactCenter is the main plugin class for Webex Contact Center integration\n * @category Core\n */\nexport {default as ContactCenter} from './cc';\n\n// Service exports\n/**\n * Task class represents a contact center task that can be managed by an agent\n * @category Services\n */\nexport {default as Task} from './services/task';\n\n/**\n * Agent routing service for Contact Center operations\n * @category Services\n */\nexport {default as routingAgent} from './services/agent';\n\n// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)\nexport {default as AddressBook} from './services/AddressBook';\n\n/** EntryPoint API types */\nexport type {\n EntryPointRecord,\n EntryPointListResponse,\n EntryPointSearchParams,\n AddressBookEntry,\n AddressBookEntriesResponse,\n AddressBookEntrySearchParams,\n ContactServiceQueuesResponse,\n ContactServiceQueueSearchParams,\n ContactServiceQueue,\n} from './types';\n\n// Enums\n/**\n * Task Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {TASK_EVENTS} from './services/task/types';\nexport type {TASK_EVENTS as TaskEvents} from './services/task/types';\n\n/**\n * Agent Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {AGENT_EVENTS} from './services/agent/types';\nexport type {AGENT_EVENTS as AgentEvents} from './services/agent/types';\n\n/**\n * Contact Center Task Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_TASK_EVENTS} from './services/config/types';\n\n/**\n * Contact Center Agent Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_AGENT_EVENTS} from './services/config/types';\n\n/**\n * Combined Contact Center Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_EVENTS} from './services/config/types';\nexport type {CC_EVENTS as ContactCenterEvents} from './services/config/types';\n\n// Interfaces\n/** Main types and interfaces for Contact Center functionality */\nexport type {\n /** Interface for Contact Center plugin */\n IContactCenter,\n /** Configuration options for Contact Center plugin */\n CCPluginConfig,\n /** WebexSDK interface */\n WebexSDK,\n} from './types';\n\n// Types\n/** Agent related types */\nexport type {\n /** Login options for agents */\n LoginOption,\n /** Agent login information */\n AgentLogin,\n /** Agent device update information */\n AgentProfileUpdate,\n /** Station login response */\n StationLoginResponse,\n /** Station logout response */\n StationLogoutResponse,\n /** Buddy agents response */\n BuddyAgentsResponse,\n /** Buddy agents information */\n BuddyAgents,\n /** Subscribe request parameters */\n SubscribeRequest,\n /** Upload logs response */\n UploadLogsResponse,\n /** Update device type response */\n UpdateDeviceTypeResponse,\n /** Generic error interface */\n GenericError,\n /** Set state response */\n SetStateResponse,\n} from './types';\n\n/** Task related types */\nexport type {\n AgentContact,\n /** Task interface */\n ITask,\n Interaction,\n TaskData,\n /** Task response */\n TaskResponse,\n ConsultPayload,\n ConsultEndPayload,\n ConsultTransferPayLoad,\n /** Dialer payload */\n DialerPayload,\n TransferPayLoad,\n ResumeRecordingPayload,\n WrapupPayLoad,\n} from './services/task/types';\n\n/** Agent related types */\nexport type {\n /** State change interface */\n StateChange,\n /** Logout interface */\n Logout,\n /** State change success response */\n StateChangeSuccess,\n /** Station login success response */\n StationLoginSuccess,\n /** Extended station login success response with notification tracking */\n StationLoginSuccessResponse,\n /** Device type update success response */\n DeviceTypeUpdateSuccess,\n /** Agent login success response */\n LogoutSuccess,\n /** Agent relogin success response */\n ReloginSuccess,\n /** Agent state type */\n AgentState,\n /** User station login parameters */\n UserStationLogin,\n /** Device type for agent login */\n DeviceType,\n /** Buddy agent details */\n BuddyDetails,\n /** Buddy agents success response */\n BuddyAgentsSuccess,\n} from './services/agent/types';\n\n/** Config related types */\nexport type {\n /** Profile interface */\n Profile,\n /** Response type from getUserUsingCI method */\n AgentResponse,\n /** Response from getDesktopProfileById */\n DesktopProfileResponse,\n /** Response from getMultimediaProfileById */\n MultimediaProfileResponse,\n /** Response from getListOfTeams */\n ListTeamsResponse,\n /** Response from getListOfAuxCodes */\n ListAuxCodesResponse,\n /** Response from getSiteInfo */\n SiteInfo,\n /** Response from getOrgInfo */\n OrgInfo,\n /** Response from getOrganizationSetting */\n OrgSettings,\n /** Response from getTenantData */\n TenantData,\n /** Response from getURLMapping */\n URLMapping,\n /** Response from getDialPlanData */\n DialPlanEntity,\n /** Auxiliary code information */\n AuxCode,\n /** Team information */\n TeamList,\n /** Wrap-up reason information */\n WrapUpReason,\n /** WebSocket event data */\n WebSocketEvent,\n /** Wrap-up configuration data */\n WrapupData,\n /** Base entity type */\n Entity,\n /** Dial plan configuration */\n DialPlan,\n /** Auxiliary code type (IDLE_CODE or WRAP_UP_CODE) */\n AuxCodeType,\n} from './services/config/types';\n\n// Constants\n/**\n * Idle code constant\n * @constant {string}\n * @category Enums\n */\nexport {IDLE_CODE} from './services/config/types';\n\n/**\n * Wrap up code constant\n * @constant {string}\n * @category Enums\n */\nexport {WRAP_UP_CODE} from './services/config/types';\n\nregisterPlugin('cc', ContactCenter, {\n config,\n});\n\n/** The Contact Center plugin default export */\nexport default ContactCenter;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAD,sBAAA,CAAAF,OAAA;AAkBA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAMA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAqBA,IAAAO,MAAA,GAAAP,OAAA;AAQA,IAAAQ,OAAA,GAAAR,OAAA;AAQA,IAAAS,OAAA,GAAAT,OAAA;AAAuD,SAAAE,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA9DvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;;AAGA;;AAaA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAIA;AACA;;AAUA;AACA;;AA4BA;;AAmBA;;AA8BA;;AA4CA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA,IAAAG,yBAAc,EAAC,IAAI,EAAEC,WAAa,EAAE;EAClCC,MAAM,EAANA;AACF,CAAC,CAAC;;AAEF;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAL,OAAA,GACeE,WAAa","ignoreList":[]}
|
package/dist/logger-proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_constants","LoggerProxy","initialize","logger","log","message","context","format","LOGGING_LEVEL","info","warn","trace","error","level","timestamp","Date","toISOString","moduleName","module","methodName","method","interactionId","trackingId","dataString","data","JSON","stringify","e","errorString","Error","name","stack","String","LOG_PREFIX","exports","default"],"sources":["logger-proxy.ts"],"sourcesContent":["import {Logger, LogContext, LOGGING_LEVEL} from './types';\nimport {LOG_PREFIX} from './constants';\n\n/**\n * LoggerProxy acts as a static proxy to route logging calls to an injected logger implementation.\n * Ensures a consistent log format and centralizes logging behavior for the SDK.\n * @ignore\n */\nexport default class LoggerProxy {\n /**\n * The static logger instance to be used by the proxy.\n * @ignore\n */\n public static logger: Logger;\n\n /**\n * Initializes the logger proxy with a provided logger implementation.\n *\n * @param {Logger} logger - A logger object implementing standard logging methods.\n * @ignore\n */\n public static initialize(logger: Logger): void {\n LoggerProxy.logger = logger;\n }\n\n /**\n * Logs a generic message using the default log level.\n *\n * @param {string} message - The log message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static log(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.log(LoggerProxy.format(LOGGING_LEVEL.log, message, context));\n }\n }\n\n /**\n * Logs an informational message.\n *\n * @param {string} message - The log message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static info(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.info(LoggerProxy.format(LOGGING_LEVEL.info, message, context));\n }\n }\n\n /**\n * Logs a warning message.\n *\n * @param {string} message - The warning message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static warn(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.warn(LoggerProxy.format(LOGGING_LEVEL.warn, message, context));\n }\n }\n\n /**\n * Logs a trace-level message, useful for debugging.\n *\n * @param {string} message - The trace message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static trace(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.trace(LoggerProxy.format(LOGGING_LEVEL.trace, message, context));\n }\n }\n\n /**\n * Logs an error message.\n *\n * @param {string} message - The error message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static error(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.error(LoggerProxy.format(LOGGING_LEVEL.error, message, context));\n }\n }\n\n /**\n * Formats a log message with timestamp, log level, and context details.\n *\n * @private\n * @param {LOGGING_LEVEL} level - Logging level (e.g., info, error).\n * @param {string} message - The message to be logged.\n * @param {LogContext} context - Context containing module and method metadata.\n * @returns {string} The formatted log string.\n * @ignore\n */\n private static format(level: LOGGING_LEVEL, message: string, context: LogContext): string {\n const timestamp = new Date().toISOString();\n const moduleName = context.module || 'unknown';\n const methodName = context.method || 'unknown';\n const interactionId = context.interactionId ? ` - interactionId:${context.interactionId}` : '';\n const trackingId = context.trackingId ? ` - trackingId:${context.trackingId}` : '';\n\n // Format additional data if provided\n let dataString = '';\n if (context.data) {\n try {\n dataString = ` - data:${JSON.stringify(context.data)}`;\n } catch (e) {\n dataString = ` - data:[object]`;\n }\n }\n\n // Format error if provided\n let errorString = '';\n if (context.error) {\n if (context.error instanceof Error) {\n errorString = ` - error:${context.error.name}:${context.error.message}`;\n if (context.error.stack && level === LOGGING_LEVEL.error) {\n errorString += ` - stack:${context.error.stack}`;\n }\n } else {\n errorString = ` - error:${String(context.error)}`;\n }\n }\n\n return `${timestamp} ${LOG_PREFIX} - [${level}]: module:${moduleName} - method:${methodName}${interactionId}${trackingId}${dataString}${errorString} - ${message}`;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,MAAME,WAAW,CAAC;EAC/B;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;EACE,OAAcC,UAAUA,CAACC,MAAc,EAAQ;IAC7CF,WAAW,CAACE,MAAM,GAAGA,MAAM;EAC7B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAcC,GAAGA,CAACC,OAAe,EAAEC,OAAmB,GAAG,CAAC,CAAC,EAAQ;IACjE,IAAIL,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACE,MAAM,CAACC,GAAG,CAACH,WAAW,CAACM,MAAM,CAACC,oBAAa,CAACJ,GAAG,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAAC;IACjF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAcG,IAAIA,CAACJ,OAAe,EAAEC,OAAmB,GAAG,CAAC,CAAC,EAAQ;IAClE,IAAIL,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACE,MAAM,CAACM,IAAI,CAACR,WAAW,CAACM,MAAM,CAACC,oBAAa,CAACC,IAAI,EAAEJ,OAAO,EAAEC,OAAO,CAAC,CAAC;IACnF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAcI,IAAIA,CAACL,OAAe,EAAEC,OAAmB,GAAG,CAAC,CAAC,EAAQ;IAClE,IAAIL,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACE,MAAM,CAACO,IAAI,CAACT,WAAW,CAACM,MAAM,CAACC,oBAAa,CAACE,IAAI,EAAEL,OAAO,EAAEC,OAAO,CAAC,CAAC;IACnF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAcK,KAAKA,CAACN,OAAe,EAAEC,OAAmB,GAAG,CAAC,CAAC,EAAQ;IACnE,IAAIL,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACE,MAAM,CAACQ,KAAK,CAACV,WAAW,CAACM,MAAM,CAACC,oBAAa,CAACG,KAAK,EAAEN,OAAO,EAAEC,OAAO,CAAC,CAAC;IACrF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAcM,KAAKA,CAACP,OAAe,EAAEC,OAAmB,GAAG,CAAC,CAAC,EAAQ;IACnE,IAAIL,WAAW,CAACE,MAAM,EAAE;MACtBF,WAAW,CAACE,MAAM,CAACS,KAAK,CAACX,WAAW,CAACM,MAAM,CAACC,oBAAa,CAACI,KAAK,EAAEP,OAAO,EAAEC,OAAO,CAAC,CAAC;IACrF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAeC,MAAMA,CAACM,KAAoB,EAAER,OAAe,EAAEC,OAAmB,EAAU;IACxF,MAAMQ,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAC1C,MAAMC,UAAU,GAAGX,OAAO,CAACY,MAAM,IAAI,SAAS;IAC9C,MAAMC,UAAU,GAAGb,OAAO,CAACc,MAAM,IAAI,SAAS;IAC9C,MAAMC,aAAa,GAAGf,OAAO,CAACe,aAAa,
|
|
1
|
+
{"version":3,"names":["_types","require","_constants","LoggerProxy","initialize","logger","log","message","context","format","LOGGING_LEVEL","info","warn","trace","error","level","timestamp","Date","toISOString","moduleName","module","methodName","method","interactionId","trackingId","dataString","data","JSON","stringify","e","errorString","Error","name","stack","String","LOG_PREFIX","exports","default"],"sources":["logger-proxy.ts"],"sourcesContent":["import {Logger, LogContext, LOGGING_LEVEL} from './types';\nimport {LOG_PREFIX} from './constants';\n\n/**\n * LoggerProxy acts as a static proxy to route logging calls to an injected logger implementation.\n * Ensures a consistent log format and centralizes logging behavior for the SDK.\n * @ignore\n */\nexport default class LoggerProxy {\n /**\n * The static logger instance to be used by the proxy.\n * @ignore\n */\n public static logger: Logger;\n\n /**\n * Initializes the logger proxy with a provided logger implementation.\n *\n * @param {Logger} logger - A logger object implementing standard logging methods.\n * @ignore\n */\n public static initialize(logger: Logger): void {\n LoggerProxy.logger = logger;\n }\n\n /**\n * Logs a generic message using the default log level.\n *\n * @param {string} message - The log message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static log(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.log(LoggerProxy.format(LOGGING_LEVEL.log, message, context));\n }\n }\n\n /**\n * Logs an informational message.\n *\n * @param {string} message - The log message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static info(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.info(LoggerProxy.format(LOGGING_LEVEL.info, message, context));\n }\n }\n\n /**\n * Logs a warning message.\n *\n * @param {string} message - The warning message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static warn(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.warn(LoggerProxy.format(LOGGING_LEVEL.warn, message, context));\n }\n }\n\n /**\n * Logs a trace-level message, useful for debugging.\n *\n * @param {string} message - The trace message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static trace(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.trace(LoggerProxy.format(LOGGING_LEVEL.trace, message, context));\n }\n }\n\n /**\n * Logs an error message.\n *\n * @param {string} message - The error message.\n * @param {LogContext} [context={}] - Optional context providing module and method names.\n * @ignore\n */\n public static error(message: string, context: LogContext = {}): void {\n if (LoggerProxy.logger) {\n LoggerProxy.logger.error(LoggerProxy.format(LOGGING_LEVEL.error, message, context));\n }\n }\n\n /**\n * Formats a log message with timestamp, log level, and context details.\n *\n * @private\n * @param {LOGGING_LEVEL} level - Logging level (e.g., info, error).\n * @param {string} message - The message to be logged.\n * @param {LogContext} context - Context containing module and method metadata.\n * @returns {string} The formatted log string.\n * @ignore\n */\n private static format(level: LOGGING_LEVEL, message: string, context: LogContext): string {\n const timestamp = new Date().toISOString();\n const moduleName = context.module || 'unknown';\n const methodName = context.method || 'unknown';\n const interactionId = context.interactionId ? ` - interactionId:${context.interactionId}` : '';\n const trackingId = context.trackingId ? ` - trackingId:${context.trackingId}` : '';\n\n // Format additional data if provided\n let dataString = '';\n if (context.data) {\n try {\n dataString = ` - data:${JSON.stringify(context.data)}`;\n } catch (e) {\n dataString = ` - data:[object]`;\n }\n }\n\n // Format error if provided\n let errorString = '';\n if (context.error) {\n if (context.error instanceof Error) {\n errorString = ` - error:${context.error.name}:${context.error.message}`;\n if (context.error.stack && level === LOGGING_LEVEL.error) {\n errorString += ` - stack:${context.error.stack}`;\n }\n } else {\n errorString = ` - error:${String(context.error)}`;\n }\n }\n\n return `${timestamp} ${LOG_PREFIX} - [${level}]: module:${moduleName} - method:${methodName}${interactionId}${trackingId}${dataString}${errorString} - ${message}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _loggerProxy = _interopRequireDefault(require("../logger-proxy"));
|
|
8
8
|
var _behavioralEvents = require("./behavioral-events");
|
|
9
9
|
var _constants = require("../constants");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const PRODUCT_NAME_UPPER = _constants.PRODUCT_NAME.toUpperCase();
|
|
12
12
|
/**
|
|
13
13
|
* @class MetricsManager
|
|
@@ -65,6 +65,7 @@ class MetricsManager {
|
|
|
65
65
|
* Singleton instance of MetricsManager.
|
|
66
66
|
* @private
|
|
67
67
|
*/
|
|
68
|
+
|
|
68
69
|
/**
|
|
69
70
|
* Flag to disable metrics collection.
|
|
70
71
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_behavioralEvents","_constants","obj","__esModule","default","PRODUCT_NAME_UPPER","PRODUCT_NAME","toUpperCase","MetricsManager","runningEvents","pendingBehavioralEvents","pendingOperationalEvents","pendingBusinessEvents","readyToSubmitEvents","submittingEvents","metricsDisabled","constructor","setReadyToSubmitEvents","submitPendingEvents","submitPendingBehavioralEvents","submitPendingOperationalEvents","submitPendingBusinessEvents","length","eventsToSubmit","forEach","event","webex","internal","newMetrics","submitBehavioralEvent","product","taxonomy","agent","target","verb","payload","submitOperationalEvent","name","submitBusinessEvent","metadata","appType","addDurationIfTimed","eventName","options","durationKey","genericKey","timing","Object","entries","keys","has","startTime","Date","now","spacesToUnderscore","str","replace","preparePayload","key","undefined","Array","isArray","window","payloadWithCommonMetadata","tabHidden","document","hidden","isMetricsDisabled","setMetricsDisabled","disabled","clearPendingEvents","trackBehavioralEvent","getEventTaxonomy","push","trackOperationalEvent","trackBusinessEvent","trackEvent","metricServices","metricService","LoggerProxy","error","timeEvent","keyArray","Set","setWebex","ready","once","getInstance","instance","resetInstance","getCommonTrackingFieldForAQMResponse","response","fields","agentId","data","agentSessionId","teamId","siteId","orgId","eventType","type","trackingId","notifTrackingId","getCommonTrackingFieldForAQMResponseFailed","failureResponse","failureType","failureReason","reason","reasonCode","exports"],"sources":["MetricsManager.ts"],"sourcesContent":["import {\n EventPayload,\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {WebexSDK} from '../types';\nimport LoggerProxy from '../logger-proxy';\nimport {BehavioralEventTaxonomy, getEventTaxonomy} from './behavioral-events';\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {Failure} from '../services/core/GlobalTypes';\nimport {PRODUCT_NAME} from '../constants';\n\ntype BehavioralEvent = {\n taxonomy: BehavioralEventTaxonomy;\n payload: EventPayload;\n};\n\ntype GenericEvent = {\n name: string;\n payload: EventPayload;\n};\n\nexport type MetricsType = 'behavioral' | 'operational' | 'business';\n\nconst PRODUCT_NAME_UPPER = PRODUCT_NAME.toUpperCase();\n/**\n * @class MetricsManager\n * @classdesc Manages the collection, batching, and submission of behavioral, operational, and business metrics for the Webex SDK.\n * Implements a singleton pattern to ensure a single instance throughout the application lifecycle.\n *\n * @remarks\n * This class is responsible for tracking, batching, and submitting various types of metric events.\n * It also provides utility methods for extracting common tracking fields from AQM responses.\n * @ignore\n */\nexport default class MetricsManager {\n /**\n * The Webex SDK instance used for submitting metrics.\n * @private\n */\n private webex: WebexSDK;\n\n /**\n * Stores currently running timed events.\n * @private\n */\n private readonly runningEvents: Record<string, {startTime: number; keys: Set<string>}> = {};\n\n /**\n * Queue for pending behavioral events.\n * @private\n */\n private pendingBehavioralEvents: BehavioralEvent[] = [];\n\n /**\n * Queue for pending operational events.\n * @private\n */\n private pendingOperationalEvents: GenericEvent[] = [];\n\n /**\n * Queue for pending business events.\n * @private\n */\n private pendingBusinessEvents: GenericEvent[] = [];\n\n /**\n * Indicates if the manager is ready to submit events.\n * @private\n */\n private readyToSubmitEvents = false;\n\n /**\n * Lock to prevent concurrent submissions.\n * @private\n */\n private submittingEvents = false; // Add a lock for submitting events\n\n /**\n * Singleton instance of MetricsManager.\n * @private\n */\n private static instance: MetricsManager;\n\n /**\n * Flag to disable metrics collection.\n * @private\n */\n private metricsDisabled = false; // TODO: SPARK-637285\n\n /**\n * Private constructor to enforce singleton pattern.\n * @private\n */\n // eslint-disable-next-line no-useless-constructor\n private constructor() {}\n\n /**\n * Marks the manager as ready to submit events and triggers submission.\n * @private\n */\n private setReadyToSubmitEvents() {\n this.readyToSubmitEvents = true;\n this.submitPendingEvents();\n }\n\n /**\n * Submits all pending events if not already submitting.\n * @private\n */\n private async submitPendingEvents() {\n if (this.submittingEvents) {\n return;\n }\n this.submittingEvents = true;\n try {\n await this.submitPendingBehavioralEvents();\n await this.submitPendingOperationalEvents();\n await this.submitPendingBusinessEvents();\n } finally {\n this.submittingEvents = false;\n }\n }\n\n /**\n * Submits all pending behavioral events if ready.\n * @private\n */\n private async submitPendingBehavioralEvents() {\n if (this.pendingBehavioralEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingBehavioralEvents];\n this.pendingBehavioralEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitBehavioralEvent({\n product: event.taxonomy.product as MetricEventProduct,\n agent: event.taxonomy.agent as MetricEventAgent,\n target: event.taxonomy.target,\n verb: event.taxonomy.verb as MetricEventVerb,\n payload: event.payload,\n });\n });\n }\n }\n\n /**\n * Submits all pending operational events if ready.\n * @private\n */\n private async submitPendingOperationalEvents() {\n if (this.pendingOperationalEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingOperationalEvents];\n this.pendingOperationalEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitOperationalEvent({\n name: `${PRODUCT_NAME_UPPER}_${event.name}`,\n payload: event.payload,\n });\n });\n }\n }\n\n /**\n * Submits all pending business events if ready.\n * @private\n */\n private async submitPendingBusinessEvents() {\n if (this.pendingBusinessEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingBusinessEvents];\n this.pendingBusinessEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitBusinessEvent({\n name: `${PRODUCT_NAME_UPPER}_${event.name}`,\n payload: event.payload,\n metadata: {\n appType: PRODUCT_NAME,\n },\n });\n });\n }\n }\n\n /**\n * Adds a duration property to the event payload if the event was timed.\n * @param eventName - The name of the event.\n * @param options - Optional event payload.\n * @returns The event payload with duration if applicable.\n * @private\n */\n private addDurationIfTimed(eventName: string, options?: EventPayload): EventPayload {\n const durationKey = 'duration_ms';\n for (const [genericKey, timing] of Object.entries(this.runningEvents)) {\n if (timing.keys.has(eventName)) {\n const startTime = timing.startTime;\n // Remove all keys for this operation.\n delete this.runningEvents[genericKey];\n options = options || {};\n options[durationKey] = Date.now() - startTime;\n\n return options;\n }\n }\n\n return options || {};\n }\n\n /**\n * Converts spaces in a string to underscores.\n * @param str - The input string.\n * @returns The string with spaces replaced by underscores.\n * @public\n * @example\n * MetricsManager.spacesToUnderscore('my event name'); // 'my_event_name'\n */\n static spacesToUnderscore(str: string): string {\n return str.replace(/ /g, '_');\n }\n\n /**\n * Prepares the event payload by removing empty or undefined fields and adding common metadata.\n * @param obj - The original event payload.\n * @returns The cleaned and enriched event payload.\n * @private\n */\n private static preparePayload(obj: EventPayload): EventPayload {\n const payload: EventPayload = {};\n\n Object.keys(obj).forEach((key) => {\n if (\n obj[key] !== undefined &&\n obj[key] !== null &&\n obj[key] !== '' &&\n !Array.isArray(obj[key]) &&\n !(typeof obj[key] === 'object' && Object.keys(obj[key]).length === 0)\n ) {\n payload[MetricsManager.spacesToUnderscore(key)] = obj[key];\n }\n });\n\n if (typeof window === 'undefined') {\n return payload;\n }\n\n const payloadWithCommonMetadata = {...payload};\n payloadWithCommonMetadata.tabHidden = document.hidden;\n\n return payloadWithCommonMetadata;\n }\n\n /**\n * Checks if metrics collection is currently disabled.\n * @returns True if metrics are disabled, false otherwise.\n * @private\n */\n private isMetricsDisabled(): boolean {\n // TODO: SPARK-637285 Need to return true if in development mode to avoid sending metrics to the server\n return this.metricsDisabled;\n }\n\n /**\n * Enables or disables metrics collection. Clears pending events if disabled.\n * @param disabled - Whether to disable metrics.\n * @public\n * @example\n * MetricsManager.getInstance().setMetricsDisabled(true);\n */\n public setMetricsDisabled(disabled: boolean) {\n this.metricsDisabled = disabled;\n if (disabled) {\n this.clearPendingEvents();\n }\n }\n\n /**\n * Clears all pending events from the queues.\n * @private\n */\n private clearPendingEvents() {\n this.pendingBehavioralEvents.length = 0;\n this.pendingOperationalEvents.length = 0;\n this.pendingBusinessEvents.length = 0;\n }\n\n /**\n * Tracks a behavioral event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackBehavioralEvent('AGENT_LOGIN', {agentId: '123'});\n */\n public trackBehavioralEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const taxonomy = getEventTaxonomy(name);\n\n const payload = MetricsManager.preparePayload(this.addDurationIfTimed(name, options));\n\n this.pendingBehavioralEvents.push({taxonomy, payload});\n this.submitPendingBehavioralEvents();\n }\n\n /**\n * Tracks an operational event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackOperationalEvent('AGENT_LOGOUT', {agentId: '123'});\n */\n public trackOperationalEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const payload = this.addDurationIfTimed(name, options);\n this.pendingOperationalEvents.push({\n name: MetricsManager.spacesToUnderscore(name).toUpperCase(),\n payload: MetricsManager.preparePayload(payload),\n });\n this.submitPendingOperationalEvents();\n }\n\n /**\n * Tracks a business event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackBusinessEvent('AGENT_TRANSFER', {agentId: '123'});\n */\n public trackBusinessEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const payload = this.addDurationIfTimed(name, options);\n this.pendingBusinessEvents.push({\n name: MetricsManager.spacesToUnderscore(name).toUpperCase(),\n payload: MetricsManager.preparePayload(payload),\n });\n this.submitPendingBusinessEvents();\n }\n\n /**\n * Tracks an event across one or more metric services.\n * @param name - The metric event name.\n * @param payload - Optional event payload.\n * @param metricServices - Array of metric types to track (default: ['behavioral']).\n * @public\n * @example\n * MetricsManager.getInstance().trackEvent('AGENT_LOGIN', {agentId: '123'}, ['behavioral', 'operational']);\n */\n public trackEvent(\n name: METRIC_EVENT_NAMES,\n payload?: EventPayload,\n metricServices: MetricsType[] = ['behavioral']\n ) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n for (const metricService of metricServices) {\n switch (metricService) {\n case 'behavioral':\n this.trackBehavioralEvent(name, payload);\n break;\n case 'operational':\n this.trackOperationalEvent(name, payload);\n break;\n case 'business':\n this.trackBusinessEvent(name, payload);\n break;\n default:\n LoggerProxy.error(`[MetricsManager] Invalid metric type: ${metricService}`);\n }\n }\n }\n\n /**\n * Starts timing for one or more event keys.\n * @param keys - A string or array of strings representing event keys.\n * @public\n * @example\n * MetricsManager.getInstance().timeEvent('AGENT_LOGIN');\n * MetricsManager.getInstance().timeEvent(['AGENT_LOGIN', 'AGENT_LOGOUT']);\n */\n public timeEvent(keys: string | string[]) {\n if (this.isMetricsDisabled()) {\n return;\n }\n const keyArray = Array.isArray(keys) ? keys : [keys];\n // Use the first key as the tracking key.\n if (keyArray.length === 0) {\n LoggerProxy.error('[MetricsManager] No keys provided for timeEvent');\n\n return;\n }\n const genericKey = keyArray[0];\n this.runningEvents[genericKey] = {startTime: Date.now(), keys: new Set(keyArray)};\n }\n\n /**\n * Sets the Webex SDK instance and marks the manager as ready when the SDK is ready.\n * @param webex - The Webex SDK instance.\n * @private\n */\n private setWebex(webex: WebexSDK) {\n this.webex = webex;\n if (this.webex.ready) {\n this.setReadyToSubmitEvents();\n }\n this.webex.once('ready', () => {\n this.setReadyToSubmitEvents();\n });\n }\n\n /**\n * Returns the singleton instance of MetricsManager, initializing it if necessary.\n * @param options - Optional object containing the Webex SDK instance.\n * @returns The singleton MetricsManager instance.\n * @public\n * @example\n * const metrics = MetricsManager.getInstance({webex});\n */\n public static getInstance(options?: {webex: WebexSDK}): MetricsManager {\n if (!MetricsManager.instance) {\n MetricsManager.instance = new MetricsManager();\n }\n\n if (!MetricsManager.instance.webex && options && options.webex) {\n MetricsManager.instance.setWebex(options.webex);\n }\n\n return MetricsManager.instance;\n }\n\n /**\n * Resets the singleton instance of MetricsManager. Useful for testing.\n * @public\n * @example\n * MetricsManager.resetInstance();\n */\n public static resetInstance() {\n MetricsManager.instance = undefined;\n }\n\n /**\n * Extracts common tracking fields from an AQM response object.\n * @param response - The AQM response object.\n * @returns An object containing common tracking fields.\n * @public\n * @example\n * const fields = MetricsManager.getCommonTrackingFieldForAQMResponse(response);\n */\n public static getCommonTrackingFieldForAQMResponse(response: any): Record<string, any> {\n // This method is used to extract common tracking fields from the AQM response\n // and return them as an object. The fields are extracted from the response\n // object and its data property.\n const fields = {\n agentId: response?.data?.agentId || response?.agentId,\n agentSessionId: response?.data?.agentSessionId || response?.agentSessionId,\n teamId: response?.teamId ?? response?.data?.teamId ?? undefined,\n siteId: response?.data?.siteId || response?.siteId,\n orgId: response?.data?.orgId || response?.orgId,\n eventType: response?.type,\n trackingId: response?.data?.trackingId,\n notifTrackingId: response?.trackingId,\n };\n\n return fields;\n }\n\n /**\n * Extracts common tracking fields from an AQM failure response object.\n * @param failureResponse - The AQM failure response object.\n * @returns An object containing common tracking fields for failures.\n * @public\n * @example\n * const fields = MetricsManager.getCommonTrackingFieldForAQMResponseFailed(failureResponse);\n */\n public static getCommonTrackingFieldForAQMResponseFailed(\n failureResponse: Failure\n ): Record<string, any> {\n // This method is used to extract common tracking fields from the AQM response failure\n // and return them as an object. The fields are extracted from the response\n // object and its data property.\n const fields = {\n agentId: failureResponse?.data?.agentId,\n trackingId: failureResponse?.trackingId,\n notifTrackingId: failureResponse?.trackingId,\n orgId: failureResponse?.orgId,\n failureType: failureResponse?.type,\n failureReason: failureResponse?.data?.reason,\n reasonCode: failureResponse?.data?.reasonCode,\n };\n\n return fields;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_behavioralEvents","_constants","e","__esModule","default","PRODUCT_NAME_UPPER","PRODUCT_NAME","toUpperCase","MetricsManager","runningEvents","pendingBehavioralEvents","pendingOperationalEvents","pendingBusinessEvents","readyToSubmitEvents","submittingEvents","metricsDisabled","constructor","setReadyToSubmitEvents","submitPendingEvents","submitPendingBehavioralEvents","submitPendingOperationalEvents","submitPendingBusinessEvents","length","eventsToSubmit","forEach","event","webex","internal","newMetrics","submitBehavioralEvent","product","taxonomy","agent","target","verb","payload","submitOperationalEvent","name","submitBusinessEvent","metadata","appType","addDurationIfTimed","eventName","options","durationKey","genericKey","timing","Object","entries","keys","has","startTime","Date","now","spacesToUnderscore","str","replace","preparePayload","obj","key","undefined","Array","isArray","window","payloadWithCommonMetadata","tabHidden","document","hidden","isMetricsDisabled","setMetricsDisabled","disabled","clearPendingEvents","trackBehavioralEvent","getEventTaxonomy","push","trackOperationalEvent","trackBusinessEvent","trackEvent","metricServices","metricService","LoggerProxy","error","timeEvent","keyArray","Set","setWebex","ready","once","getInstance","instance","resetInstance","getCommonTrackingFieldForAQMResponse","response","fields","agentId","data","agentSessionId","teamId","siteId","orgId","eventType","type","trackingId","notifTrackingId","getCommonTrackingFieldForAQMResponseFailed","failureResponse","failureType","failureReason","reason","reasonCode","exports"],"sources":["MetricsManager.ts"],"sourcesContent":["import {\n EventPayload,\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {WebexSDK} from '../types';\nimport LoggerProxy from '../logger-proxy';\nimport {BehavioralEventTaxonomy, getEventTaxonomy} from './behavioral-events';\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {Failure} from '../services/core/GlobalTypes';\nimport {PRODUCT_NAME} from '../constants';\n\ntype BehavioralEvent = {\n taxonomy: BehavioralEventTaxonomy;\n payload: EventPayload;\n};\n\ntype GenericEvent = {\n name: string;\n payload: EventPayload;\n};\n\nexport type MetricsType = 'behavioral' | 'operational' | 'business';\n\nconst PRODUCT_NAME_UPPER = PRODUCT_NAME.toUpperCase();\n/**\n * @class MetricsManager\n * @classdesc Manages the collection, batching, and submission of behavioral, operational, and business metrics for the Webex SDK.\n * Implements a singleton pattern to ensure a single instance throughout the application lifecycle.\n *\n * @remarks\n * This class is responsible for tracking, batching, and submitting various types of metric events.\n * It also provides utility methods for extracting common tracking fields from AQM responses.\n * @ignore\n */\nexport default class MetricsManager {\n /**\n * The Webex SDK instance used for submitting metrics.\n * @private\n */\n private webex: WebexSDK;\n\n /**\n * Stores currently running timed events.\n * @private\n */\n private readonly runningEvents: Record<string, {startTime: number; keys: Set<string>}> = {};\n\n /**\n * Queue for pending behavioral events.\n * @private\n */\n private pendingBehavioralEvents: BehavioralEvent[] = [];\n\n /**\n * Queue for pending operational events.\n * @private\n */\n private pendingOperationalEvents: GenericEvent[] = [];\n\n /**\n * Queue for pending business events.\n * @private\n */\n private pendingBusinessEvents: GenericEvent[] = [];\n\n /**\n * Indicates if the manager is ready to submit events.\n * @private\n */\n private readyToSubmitEvents = false;\n\n /**\n * Lock to prevent concurrent submissions.\n * @private\n */\n private submittingEvents = false; // Add a lock for submitting events\n\n /**\n * Singleton instance of MetricsManager.\n * @private\n */\n private static instance: MetricsManager;\n\n /**\n * Flag to disable metrics collection.\n * @private\n */\n private metricsDisabled = false; // TODO: SPARK-637285\n\n /**\n * Private constructor to enforce singleton pattern.\n * @private\n */\n // eslint-disable-next-line no-useless-constructor\n private constructor() {}\n\n /**\n * Marks the manager as ready to submit events and triggers submission.\n * @private\n */\n private setReadyToSubmitEvents() {\n this.readyToSubmitEvents = true;\n this.submitPendingEvents();\n }\n\n /**\n * Submits all pending events if not already submitting.\n * @private\n */\n private async submitPendingEvents() {\n if (this.submittingEvents) {\n return;\n }\n this.submittingEvents = true;\n try {\n await this.submitPendingBehavioralEvents();\n await this.submitPendingOperationalEvents();\n await this.submitPendingBusinessEvents();\n } finally {\n this.submittingEvents = false;\n }\n }\n\n /**\n * Submits all pending behavioral events if ready.\n * @private\n */\n private async submitPendingBehavioralEvents() {\n if (this.pendingBehavioralEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingBehavioralEvents];\n this.pendingBehavioralEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitBehavioralEvent({\n product: event.taxonomy.product as MetricEventProduct,\n agent: event.taxonomy.agent as MetricEventAgent,\n target: event.taxonomy.target,\n verb: event.taxonomy.verb as MetricEventVerb,\n payload: event.payload,\n });\n });\n }\n }\n\n /**\n * Submits all pending operational events if ready.\n * @private\n */\n private async submitPendingOperationalEvents() {\n if (this.pendingOperationalEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingOperationalEvents];\n this.pendingOperationalEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitOperationalEvent({\n name: `${PRODUCT_NAME_UPPER}_${event.name}`,\n payload: event.payload,\n });\n });\n }\n }\n\n /**\n * Submits all pending business events if ready.\n * @private\n */\n private async submitPendingBusinessEvents() {\n if (this.pendingBusinessEvents.length === 0) {\n return;\n }\n if (this.readyToSubmitEvents) {\n const eventsToSubmit = [...this.pendingBusinessEvents];\n this.pendingBusinessEvents.length = 0;\n eventsToSubmit.forEach((event) => {\n this.webex.internal.newMetrics.submitBusinessEvent({\n name: `${PRODUCT_NAME_UPPER}_${event.name}`,\n payload: event.payload,\n metadata: {\n appType: PRODUCT_NAME,\n },\n });\n });\n }\n }\n\n /**\n * Adds a duration property to the event payload if the event was timed.\n * @param eventName - The name of the event.\n * @param options - Optional event payload.\n * @returns The event payload with duration if applicable.\n * @private\n */\n private addDurationIfTimed(eventName: string, options?: EventPayload): EventPayload {\n const durationKey = 'duration_ms';\n for (const [genericKey, timing] of Object.entries(this.runningEvents)) {\n if (timing.keys.has(eventName)) {\n const startTime = timing.startTime;\n // Remove all keys for this operation.\n delete this.runningEvents[genericKey];\n options = options || {};\n options[durationKey] = Date.now() - startTime;\n\n return options;\n }\n }\n\n return options || {};\n }\n\n /**\n * Converts spaces in a string to underscores.\n * @param str - The input string.\n * @returns The string with spaces replaced by underscores.\n * @public\n * @example\n * MetricsManager.spacesToUnderscore('my event name'); // 'my_event_name'\n */\n static spacesToUnderscore(str: string): string {\n return str.replace(/ /g, '_');\n }\n\n /**\n * Prepares the event payload by removing empty or undefined fields and adding common metadata.\n * @param obj - The original event payload.\n * @returns The cleaned and enriched event payload.\n * @private\n */\n private static preparePayload(obj: EventPayload): EventPayload {\n const payload: EventPayload = {};\n\n Object.keys(obj).forEach((key) => {\n if (\n obj[key] !== undefined &&\n obj[key] !== null &&\n obj[key] !== '' &&\n !Array.isArray(obj[key]) &&\n !(typeof obj[key] === 'object' && Object.keys(obj[key]).length === 0)\n ) {\n payload[MetricsManager.spacesToUnderscore(key)] = obj[key];\n }\n });\n\n if (typeof window === 'undefined') {\n return payload;\n }\n\n const payloadWithCommonMetadata = {...payload};\n payloadWithCommonMetadata.tabHidden = document.hidden;\n\n return payloadWithCommonMetadata;\n }\n\n /**\n * Checks if metrics collection is currently disabled.\n * @returns True if metrics are disabled, false otherwise.\n * @private\n */\n private isMetricsDisabled(): boolean {\n // TODO: SPARK-637285 Need to return true if in development mode to avoid sending metrics to the server\n return this.metricsDisabled;\n }\n\n /**\n * Enables or disables metrics collection. Clears pending events if disabled.\n * @param disabled - Whether to disable metrics.\n * @public\n * @example\n * MetricsManager.getInstance().setMetricsDisabled(true);\n */\n public setMetricsDisabled(disabled: boolean) {\n this.metricsDisabled = disabled;\n if (disabled) {\n this.clearPendingEvents();\n }\n }\n\n /**\n * Clears all pending events from the queues.\n * @private\n */\n private clearPendingEvents() {\n this.pendingBehavioralEvents.length = 0;\n this.pendingOperationalEvents.length = 0;\n this.pendingBusinessEvents.length = 0;\n }\n\n /**\n * Tracks a behavioral event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackBehavioralEvent('AGENT_LOGIN', {agentId: '123'});\n */\n public trackBehavioralEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const taxonomy = getEventTaxonomy(name);\n\n const payload = MetricsManager.preparePayload(this.addDurationIfTimed(name, options));\n\n this.pendingBehavioralEvents.push({taxonomy, payload});\n this.submitPendingBehavioralEvents();\n }\n\n /**\n * Tracks an operational event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackOperationalEvent('AGENT_LOGOUT', {agentId: '123'});\n */\n public trackOperationalEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const payload = this.addDurationIfTimed(name, options);\n this.pendingOperationalEvents.push({\n name: MetricsManager.spacesToUnderscore(name).toUpperCase(),\n payload: MetricsManager.preparePayload(payload),\n });\n this.submitPendingOperationalEvents();\n }\n\n /**\n * Tracks a business event and submits it if possible.\n * @param name - The metric event name.\n * @param options - Optional event payload.\n * @public\n * @example\n * MetricsManager.getInstance().trackBusinessEvent('AGENT_TRANSFER', {agentId: '123'});\n */\n public trackBusinessEvent(name: METRIC_EVENT_NAMES, options?: EventPayload) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n const payload = this.addDurationIfTimed(name, options);\n this.pendingBusinessEvents.push({\n name: MetricsManager.spacesToUnderscore(name).toUpperCase(),\n payload: MetricsManager.preparePayload(payload),\n });\n this.submitPendingBusinessEvents();\n }\n\n /**\n * Tracks an event across one or more metric services.\n * @param name - The metric event name.\n * @param payload - Optional event payload.\n * @param metricServices - Array of metric types to track (default: ['behavioral']).\n * @public\n * @example\n * MetricsManager.getInstance().trackEvent('AGENT_LOGIN', {agentId: '123'}, ['behavioral', 'operational']);\n */\n public trackEvent(\n name: METRIC_EVENT_NAMES,\n payload?: EventPayload,\n metricServices: MetricsType[] = ['behavioral']\n ) {\n if (this.isMetricsDisabled()) {\n return;\n }\n\n for (const metricService of metricServices) {\n switch (metricService) {\n case 'behavioral':\n this.trackBehavioralEvent(name, payload);\n break;\n case 'operational':\n this.trackOperationalEvent(name, payload);\n break;\n case 'business':\n this.trackBusinessEvent(name, payload);\n break;\n default:\n LoggerProxy.error(`[MetricsManager] Invalid metric type: ${metricService}`);\n }\n }\n }\n\n /**\n * Starts timing for one or more event keys.\n * @param keys - A string or array of strings representing event keys.\n * @public\n * @example\n * MetricsManager.getInstance().timeEvent('AGENT_LOGIN');\n * MetricsManager.getInstance().timeEvent(['AGENT_LOGIN', 'AGENT_LOGOUT']);\n */\n public timeEvent(keys: string | string[]) {\n if (this.isMetricsDisabled()) {\n return;\n }\n const keyArray = Array.isArray(keys) ? keys : [keys];\n // Use the first key as the tracking key.\n if (keyArray.length === 0) {\n LoggerProxy.error('[MetricsManager] No keys provided for timeEvent');\n\n return;\n }\n const genericKey = keyArray[0];\n this.runningEvents[genericKey] = {startTime: Date.now(), keys: new Set(keyArray)};\n }\n\n /**\n * Sets the Webex SDK instance and marks the manager as ready when the SDK is ready.\n * @param webex - The Webex SDK instance.\n * @private\n */\n private setWebex(webex: WebexSDK) {\n this.webex = webex;\n if (this.webex.ready) {\n this.setReadyToSubmitEvents();\n }\n this.webex.once('ready', () => {\n this.setReadyToSubmitEvents();\n });\n }\n\n /**\n * Returns the singleton instance of MetricsManager, initializing it if necessary.\n * @param options - Optional object containing the Webex SDK instance.\n * @returns The singleton MetricsManager instance.\n * @public\n * @example\n * const metrics = MetricsManager.getInstance({webex});\n */\n public static getInstance(options?: {webex: WebexSDK}): MetricsManager {\n if (!MetricsManager.instance) {\n MetricsManager.instance = new MetricsManager();\n }\n\n if (!MetricsManager.instance.webex && options && options.webex) {\n MetricsManager.instance.setWebex(options.webex);\n }\n\n return MetricsManager.instance;\n }\n\n /**\n * Resets the singleton instance of MetricsManager. Useful for testing.\n * @public\n * @example\n * MetricsManager.resetInstance();\n */\n public static resetInstance() {\n MetricsManager.instance = undefined;\n }\n\n /**\n * Extracts common tracking fields from an AQM response object.\n * @param response - The AQM response object.\n * @returns An object containing common tracking fields.\n * @public\n * @example\n * const fields = MetricsManager.getCommonTrackingFieldForAQMResponse(response);\n */\n public static getCommonTrackingFieldForAQMResponse(response: any): Record<string, any> {\n // This method is used to extract common tracking fields from the AQM response\n // and return them as an object. The fields are extracted from the response\n // object and its data property.\n const fields = {\n agentId: response?.data?.agentId || response?.agentId,\n agentSessionId: response?.data?.agentSessionId || response?.agentSessionId,\n teamId: response?.teamId ?? response?.data?.teamId ?? undefined,\n siteId: response?.data?.siteId || response?.siteId,\n orgId: response?.data?.orgId || response?.orgId,\n eventType: response?.type,\n trackingId: response?.data?.trackingId,\n notifTrackingId: response?.trackingId,\n };\n\n return fields;\n }\n\n /**\n * Extracts common tracking fields from an AQM failure response object.\n * @param failureResponse - The AQM failure response object.\n * @returns An object containing common tracking fields for failures.\n * @public\n * @example\n * const fields = MetricsManager.getCommonTrackingFieldForAQMResponseFailed(failureResponse);\n */\n public static getCommonTrackingFieldForAQMResponseFailed(\n failureResponse: Failure\n ): Record<string, any> {\n // This method is used to extract common tracking fields from the AQM response failure\n // and return them as an object. The fields are extracted from the response\n // object and its data property.\n const fields = {\n agentId: failureResponse?.data?.agentId,\n trackingId: failureResponse?.trackingId,\n notifTrackingId: failureResponse?.trackingId,\n orgId: failureResponse?.orgId,\n failureType: failureResponse?.type,\n failureReason: failureResponse?.data?.reason,\n reasonCode: failureResponse?.data?.reasonCode,\n };\n\n return fields;\n }\n}\n"],"mappings":";;;;;;AAQA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AAA0C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAc1C,MAAMG,kBAAkB,GAAGC,uBAAY,CAACC,WAAW,CAAC,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,MAAMC,cAAc,CAAC;EAClC;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;EACmBC,aAAa,GAA2D,CAAC,CAAC;;EAE3F;AACF;AACA;AACA;EACUC,uBAAuB,GAAsB,EAAE;;EAEvD;AACF;AACA;AACA;EACUC,wBAAwB,GAAmB,EAAE;;EAErD;AACF;AACA;AACA;EACUC,qBAAqB,GAAmB,EAAE;;EAElD;AACF;AACA;AACA;EACUC,mBAAmB,GAAG,KAAK;;EAEnC;AACF;AACA;AACA;EACUC,gBAAgB,GAAG,KAAK,CAAC,CAAC;;EAElC;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;EACUC,eAAe,GAAG,KAAK,CAAC,CAAC;;EAEjC;AACF;AACA;AACA;EACE;EACQC,WAAWA,CAAA,EAAG,CAAC;;EAEvB;AACF;AACA;AACA;EACUC,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,CAACJ,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAACK,mBAAmB,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;EACE,MAAcA,mBAAmBA,CAAA,EAAG;IAClC,IAAI,IAAI,CAACJ,gBAAgB,EAAE;MACzB;IACF;IACA,IAAI,CAACA,gBAAgB,GAAG,IAAI;IAC5B,IAAI;MACF,MAAM,IAAI,CAACK,6BAA6B,CAAC,CAAC;MAC1C,MAAM,IAAI,CAACC,8BAA8B,CAAC,CAAC;MAC3C,MAAM,IAAI,CAACC,2BAA2B,CAAC,CAAC;IAC1C,CAAC,SAAS;MACR,IAAI,CAACP,gBAAgB,GAAG,KAAK;IAC/B;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAcK,6BAA6BA,CAAA,EAAG;IAC5C,IAAI,IAAI,CAACT,uBAAuB,CAACY,MAAM,KAAK,CAAC,EAAE;MAC7C;IACF;IACA,IAAI,IAAI,CAACT,mBAAmB,EAAE;MAC5B,MAAMU,cAAc,GAAG,CAAC,GAAG,IAAI,CAACb,uBAAuB,CAAC;MACxD,IAAI,CAACA,uBAAuB,CAACY,MAAM,GAAG,CAAC;MACvCC,cAAc,CAACC,OAAO,CAAEC,KAAK,IAAK;QAChC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,qBAAqB,CAAC;UACnDC,OAAO,EAAEL,KAAK,CAACM,QAAQ,CAACD,OAA6B;UACrDE,KAAK,EAAEP,KAAK,CAACM,QAAQ,CAACC,KAAyB;UAC/CC,MAAM,EAAER,KAAK,CAACM,QAAQ,CAACE,MAAM;UAC7BC,IAAI,EAAET,KAAK,CAACM,QAAQ,CAACG,IAAuB;UAC5CC,OAAO,EAAEV,KAAK,CAACU;QACjB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAcf,8BAA8BA,CAAA,EAAG;IAC7C,IAAI,IAAI,CAACT,wBAAwB,CAACW,MAAM,KAAK,CAAC,EAAE;MAC9C;IACF;IACA,IAAI,IAAI,CAACT,mBAAmB,EAAE;MAC5B,MAAMU,cAAc,GAAG,CAAC,GAAG,IAAI,CAACZ,wBAAwB,CAAC;MACzD,IAAI,CAACA,wBAAwB,CAACW,MAAM,GAAG,CAAC;MACxCC,cAAc,CAACC,OAAO,CAAEC,KAAK,IAAK;QAChC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACQ,sBAAsB,CAAC;UACpDC,IAAI,EAAE,GAAGhC,kBAAkB,IAAIoB,KAAK,CAACY,IAAI,EAAE;UAC3CF,OAAO,EAAEV,KAAK,CAACU;QACjB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAcd,2BAA2BA,CAAA,EAAG;IAC1C,IAAI,IAAI,CAACT,qBAAqB,CAACU,MAAM,KAAK,CAAC,EAAE;MAC3C;IACF;IACA,IAAI,IAAI,CAACT,mBAAmB,EAAE;MAC5B,MAAMU,cAAc,GAAG,CAAC,GAAG,IAAI,CAACX,qBAAqB,CAAC;MACtD,IAAI,CAACA,qBAAqB,CAACU,MAAM,GAAG,CAAC;MACrCC,cAAc,CAACC,OAAO,CAAEC,KAAK,IAAK;QAChC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACU,mBAAmB,CAAC;UACjDD,IAAI,EAAE,GAAGhC,kBAAkB,IAAIoB,KAAK,CAACY,IAAI,EAAE;UAC3CF,OAAO,EAAEV,KAAK,CAACU,OAAO;UACtBI,QAAQ,EAAE;YACRC,OAAO,EAAElC;UACX;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUmC,kBAAkBA,CAACC,SAAiB,EAAEC,OAAsB,EAAgB;IAClF,MAAMC,WAAW,GAAG,aAAa;IACjC,KAAK,MAAM,CAACC,UAAU,EAAEC,MAAM,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC,IAAI,CAACvC,aAAa,CAAC,EAAE;MACrE,IAAIqC,MAAM,CAACG,IAAI,CAACC,GAAG,CAACR,SAAS,CAAC,EAAE;QAC9B,MAAMS,SAAS,GAAGL,MAAM,CAACK,SAAS;QAClC;QACA,OAAO,IAAI,CAAC1C,aAAa,CAACoC,UAAU,CAAC;QACrCF,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;QACvBA,OAAO,CAACC,WAAW,CAAC,GAAGQ,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;QAE7C,OAAOR,OAAO;MAChB;IACF;IAEA,OAAOA,OAAO,IAAI,CAAC,CAAC;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOW,kBAAkBA,CAACC,GAAW,EAAU;IAC7C,OAAOA,GAAG,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAeC,cAAcA,CAACC,GAAiB,EAAgB;IAC7D,MAAMvB,OAAqB,GAAG,CAAC,CAAC;IAEhCY,MAAM,CAACE,IAAI,CAACS,GAAG,CAAC,CAAClC,OAAO,CAAEmC,GAAG,IAAK;MAChC,IACED,GAAG,CAACC,GAAG,CAAC,KAAKC,SAAS,IACtBF,GAAG,CAACC,GAAG,CAAC,KAAK,IAAI,IACjBD,GAAG,CAACC,GAAG,CAAC,KAAK,EAAE,IACf,CAACE,KAAK,CAACC,OAAO,CAACJ,GAAG,CAACC,GAAG,CAAC,CAAC,IACxB,EAAE,OAAOD,GAAG,CAACC,GAAG,CAAC,KAAK,QAAQ,IAAIZ,MAAM,CAACE,IAAI,CAACS,GAAG,CAACC,GAAG,CAAC,CAAC,CAACrC,MAAM,KAAK,CAAC,CAAC,EACrE;QACAa,OAAO,CAAC3B,cAAc,CAAC8C,kBAAkB,CAACK,GAAG,CAAC,CAAC,GAAGD,GAAG,CAACC,GAAG,CAAC;MAC5D;IACF,CAAC,CAAC;IAEF,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;MACjC,OAAO5B,OAAO;IAChB;IAEA,MAAM6B,yBAAyB,GAAG;MAAC,GAAG7B;IAAO,CAAC;IAC9C6B,yBAAyB,CAACC,SAAS,GAAGC,QAAQ,CAACC,MAAM;IAErD,OAAOH,yBAAyB;EAClC;;EAEA;AACF;AACA;AACA;AACA;EACUI,iBAAiBA,CAAA,EAAY;IACnC;IACA,OAAO,IAAI,CAACrD,eAAe;EAC7B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACSsD,kBAAkBA,CAACC,QAAiB,EAAE;IAC3C,IAAI,CAACvD,eAAe,GAAGuD,QAAQ;IAC/B,IAAIA,QAAQ,EAAE;MACZ,IAAI,CAACC,kBAAkB,CAAC,CAAC;IAC3B;EACF;;EAEA;AACF;AACA;AACA;EACUA,kBAAkBA,CAAA,EAAG;IAC3B,IAAI,CAAC7D,uBAAuB,CAACY,MAAM,GAAG,CAAC;IACvC,IAAI,CAACX,wBAAwB,CAACW,MAAM,GAAG,CAAC;IACxC,IAAI,CAACV,qBAAqB,CAACU,MAAM,GAAG,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSkD,oBAAoBA,CAACnC,IAAwB,EAAEM,OAAsB,EAAE;IAC5E,IAAI,IAAI,CAACyB,iBAAiB,CAAC,CAAC,EAAE;MAC5B;IACF;IAEA,MAAMrC,QAAQ,GAAG,IAAA0C,kCAAgB,EAACpC,IAAI,CAAC;IAEvC,MAAMF,OAAO,GAAG3B,cAAc,CAACiD,cAAc,CAAC,IAAI,CAAChB,kBAAkB,CAACJ,IAAI,EAAEM,OAAO,CAAC,CAAC;IAErF,IAAI,CAACjC,uBAAuB,CAACgE,IAAI,CAAC;MAAC3C,QAAQ;MAAEI;IAAO,CAAC,CAAC;IACtD,IAAI,CAAChB,6BAA6B,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSwD,qBAAqBA,CAACtC,IAAwB,EAAEM,OAAsB,EAAE;IAC7E,IAAI,IAAI,CAACyB,iBAAiB,CAAC,CAAC,EAAE;MAC5B;IACF;IAEA,MAAMjC,OAAO,GAAG,IAAI,CAACM,kBAAkB,CAACJ,IAAI,EAAEM,OAAO,CAAC;IACtD,IAAI,CAAChC,wBAAwB,CAAC+D,IAAI,CAAC;MACjCrC,IAAI,EAAE7B,cAAc,CAAC8C,kBAAkB,CAACjB,IAAI,CAAC,CAAC9B,WAAW,CAAC,CAAC;MAC3D4B,OAAO,EAAE3B,cAAc,CAACiD,cAAc,CAACtB,OAAO;IAChD,CAAC,CAAC;IACF,IAAI,CAACf,8BAA8B,CAAC,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSwD,kBAAkBA,CAACvC,IAAwB,EAAEM,OAAsB,EAAE;IAC1E,IAAI,IAAI,CAACyB,iBAAiB,CAAC,CAAC,EAAE;MAC5B;IACF;IAEA,MAAMjC,OAAO,GAAG,IAAI,CAACM,kBAAkB,CAACJ,IAAI,EAAEM,OAAO,CAAC;IACtD,IAAI,CAAC/B,qBAAqB,CAAC8D,IAAI,CAAC;MAC9BrC,IAAI,EAAE7B,cAAc,CAAC8C,kBAAkB,CAACjB,IAAI,CAAC,CAAC9B,WAAW,CAAC,CAAC;MAC3D4B,OAAO,EAAE3B,cAAc,CAACiD,cAAc,CAACtB,OAAO;IAChD,CAAC,CAAC;IACF,IAAI,CAACd,2BAA2B,CAAC,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACSwD,UAAUA,CACfxC,IAAwB,EACxBF,OAAsB,EACtB2C,cAA6B,GAAG,CAAC,YAAY,CAAC,EAC9C;IACA,IAAI,IAAI,CAACV,iBAAiB,CAAC,CAAC,EAAE;MAC5B;IACF;IAEA,KAAK,MAAMW,aAAa,IAAID,cAAc,EAAE;MAC1C,QAAQC,aAAa;QACnB,KAAK,YAAY;UACf,IAAI,CAACP,oBAAoB,CAACnC,IAAI,EAAEF,OAAO,CAAC;UACxC;QACF,KAAK,aAAa;UAChB,IAAI,CAACwC,qBAAqB,CAACtC,IAAI,EAAEF,OAAO,CAAC;UACzC;QACF,KAAK,UAAU;UACb,IAAI,CAACyC,kBAAkB,CAACvC,IAAI,EAAEF,OAAO,CAAC;UACtC;QACF;UACE6C,oBAAW,CAACC,KAAK,CAAC,yCAAyCF,aAAa,EAAE,CAAC;MAC/E;IACF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSG,SAASA,CAACjC,IAAuB,EAAE;IACxC,IAAI,IAAI,CAACmB,iBAAiB,CAAC,CAAC,EAAE;MAC5B;IACF;IACA,MAAMe,QAAQ,GAAGtB,KAAK,CAACC,OAAO,CAACb,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;IACpD;IACA,IAAIkC,QAAQ,CAAC7D,MAAM,KAAK,CAAC,EAAE;MACzB0D,oBAAW,CAACC,KAAK,CAAC,iDAAiD,CAAC;MAEpE;IACF;IACA,MAAMpC,UAAU,GAAGsC,QAAQ,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC1E,aAAa,CAACoC,UAAU,CAAC,GAAG;MAACM,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MAAEJ,IAAI,EAAE,IAAImC,GAAG,CAACD,QAAQ;IAAC,CAAC;EACnF;;EAEA;AACF;AACA;AACA;AACA;EACUE,QAAQA,CAAC3D,KAAe,EAAE;IAChC,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,IAAI,CAACA,KAAK,CAAC4D,KAAK,EAAE;MACpB,IAAI,CAACrE,sBAAsB,CAAC,CAAC;IAC/B;IACA,IAAI,CAACS,KAAK,CAAC6D,IAAI,CAAC,OAAO,EAAE,MAAM;MAC7B,IAAI,CAACtE,sBAAsB,CAAC,CAAC;IAC/B,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAcuE,WAAWA,CAAC7C,OAA2B,EAAkB;IACrE,IAAI,CAACnC,cAAc,CAACiF,QAAQ,EAAE;MAC5BjF,cAAc,CAACiF,QAAQ,GAAG,IAAIjF,cAAc,CAAC,CAAC;IAChD;IAEA,IAAI,CAACA,cAAc,CAACiF,QAAQ,CAAC/D,KAAK,IAAIiB,OAAO,IAAIA,OAAO,CAACjB,KAAK,EAAE;MAC9DlB,cAAc,CAACiF,QAAQ,CAACJ,QAAQ,CAAC1C,OAAO,CAACjB,KAAK,CAAC;IACjD;IAEA,OAAOlB,cAAc,CAACiF,QAAQ;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAcC,aAAaA,CAAA,EAAG;IAC5BlF,cAAc,CAACiF,QAAQ,GAAG7B,SAAS;EACrC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAc+B,oCAAoCA,CAACC,QAAa,EAAuB;IACrF;IACA;IACA;IACA,MAAMC,MAAM,GAAG;MACbC,OAAO,EAAEF,QAAQ,EAAEG,IAAI,EAAED,OAAO,IAAIF,QAAQ,EAAEE,OAAO;MACrDE,cAAc,EAAEJ,QAAQ,EAAEG,IAAI,EAAEC,cAAc,IAAIJ,QAAQ,EAAEI,cAAc;MAC1EC,MAAM,EAAEL,QAAQ,EAAEK,MAAM,IAAIL,QAAQ,EAAEG,IAAI,EAAEE,MAAM,IAAIrC,SAAS;MAC/DsC,MAAM,EAAEN,QAAQ,EAAEG,IAAI,EAAEG,MAAM,IAAIN,QAAQ,EAAEM,MAAM;MAClDC,KAAK,EAAEP,QAAQ,EAAEG,IAAI,EAAEI,KAAK,IAAIP,QAAQ,EAAEO,KAAK;MAC/CC,SAAS,EAAER,QAAQ,EAAES,IAAI;MACzBC,UAAU,EAAEV,QAAQ,EAAEG,IAAI,EAAEO,UAAU;MACtCC,eAAe,EAAEX,QAAQ,EAAEU;IAC7B,CAAC;IAED,OAAOT,MAAM;EACf;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAcW,0CAA0CA,CACtDC,eAAwB,EACH;IACrB;IACA;IACA;IACA,MAAMZ,MAAM,GAAG;MACbC,OAAO,EAAEW,eAAe,EAAEV,IAAI,EAAED,OAAO;MACvCQ,UAAU,EAAEG,eAAe,EAAEH,UAAU;MACvCC,eAAe,EAAEE,eAAe,EAAEH,UAAU;MAC5CH,KAAK,EAAEM,eAAe,EAAEN,KAAK;MAC7BO,WAAW,EAAED,eAAe,EAAEJ,IAAI;MAClCM,aAAa,EAAEF,eAAe,EAAEV,IAAI,EAAEa,MAAM;MAC5CC,UAAU,EAAEJ,eAAe,EAAEV,IAAI,EAAEc;IACrC,CAAC;IAED,OAAOhB,MAAM;EACf;AACF;AAACiB,OAAA,CAAA1G,OAAA,GAAAI,cAAA","ignoreList":[]}
|
|
@@ -280,6 +280,18 @@ const eventTaxonomyMap = {
|
|
|
280
280
|
target: 'task_accept_consult',
|
|
281
281
|
verb: 'fail'
|
|
282
282
|
},
|
|
283
|
+
[_constants.METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_SUCCESS]: {
|
|
284
|
+
product,
|
|
285
|
+
agent: 'user',
|
|
286
|
+
target: 'task_auto_answer',
|
|
287
|
+
verb: 'complete'
|
|
288
|
+
},
|
|
289
|
+
[_constants.METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_FAILED]: {
|
|
290
|
+
product,
|
|
291
|
+
agent: 'user',
|
|
292
|
+
target: 'task_auto_answer',
|
|
293
|
+
verb: 'fail'
|
|
294
|
+
},
|
|
283
295
|
[_constants.METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {
|
|
284
296
|
product,
|
|
285
297
|
agent: 'user',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n\n // Outdial ANI API Events\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n\n // Outdial ANI API Events\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,6 +53,8 @@ exports.METRIC_EVENT_NAMES = void 0;
|
|
|
53
53
|
* @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.
|
|
54
54
|
* @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.
|
|
55
55
|
* @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.
|
|
56
|
+
* @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.
|
|
57
|
+
* @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.
|
|
56
58
|
*
|
|
57
59
|
* @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.
|
|
58
60
|
* @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.
|
|
@@ -119,6 +121,8 @@ const METRIC_EVENT_NAMES = exports.METRIC_EVENT_NAMES = {
|
|
|
119
121
|
TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',
|
|
120
122
|
TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',
|
|
121
123
|
TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',
|
|
124
|
+
TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',
|
|
125
|
+
TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',
|
|
122
126
|
// Conference Tasks
|
|
123
127
|
TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',
|
|
124
128
|
TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","WEBSOCKET_EVENT_RECEIVED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","WEBSOCKET_EVENT_RECEIVED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n * @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.\n * @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',\n TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,9 +12,8 @@ var _MetricsManager = _interopRequireDefault(require("../metrics/MetricsManager"
|
|
|
12
12
|
var _constants = require("./constants");
|
|
13
13
|
var _constants2 = require("./config/constants");
|
|
14
14
|
var _constants3 = require("../metrics/constants");
|
|
15
|
-
function
|
|
16
|
-
function
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
17
|
/**
|
|
19
18
|
* AddressBook API class for managing Webex Contact Center address book entries.
|
|
20
19
|
* Provides functionality to fetch address book entries using the entry API.
|