@webex/contact-center 3.12.0-llmrefactor.1 → 3.12.0-llmrefactor.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/.sdd/manifest.json +7 -5
  2. package/ai-docs/ARCHITECTURE.md +1 -1
  3. package/ai-docs/CONTRACTS.md +8 -3
  4. package/ai-docs/SECURITY.md +1 -1
  5. package/ai-docs/contact-center-spec.md +22 -4
  6. package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
  7. package/dist/cc.js +544 -12
  8. package/dist/cc.js.map +1 -1
  9. package/dist/config.js +7 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +10 -2
  12. package/dist/constants.js.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/metrics/MetricsManager.js +16 -0
  15. package/dist/metrics/MetricsManager.js.map +1 -1
  16. package/dist/metrics/behavioral-events.js +104 -0
  17. package/dist/metrics/behavioral-events.js.map +1 -1
  18. package/dist/metrics/constants.js +18 -0
  19. package/dist/metrics/constants.js.map +1 -1
  20. package/dist/services/AddressBook.js +18 -15
  21. package/dist/services/AddressBook.js.map +1 -1
  22. package/dist/services/AnswerCallOnWebexService.js +202 -0
  23. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  24. package/dist/services/EntryPoint.js +46 -68
  25. package/dist/services/EntryPoint.js.map +1 -1
  26. package/dist/services/Queue.js +27 -22
  27. package/dist/services/Queue.js.map +1 -1
  28. package/dist/services/WebexCrossClientService.js +222 -0
  29. package/dist/services/WebexCrossClientService.js.map +1 -0
  30. package/dist/services/WxAppTelephonyMercurySync.js +108 -0
  31. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  32. package/dist/services/config/Util.js +3 -0
  33. package/dist/services/config/Util.js.map +1 -1
  34. package/dist/services/config/constants.js +10 -6
  35. package/dist/services/config/constants.js.map +1 -1
  36. package/dist/services/config/types.js +4 -0
  37. package/dist/services/config/types.js.map +1 -1
  38. package/dist/services/core/Err.js.map +1 -1
  39. package/dist/services/core/WebexRequest.js +6 -2
  40. package/dist/services/core/WebexRequest.js.map +1 -1
  41. package/dist/services/core/aqm-reqs.js +28 -14
  42. package/dist/services/core/aqm-reqs.js.map +1 -1
  43. package/dist/services/core/types.js.map +1 -1
  44. package/dist/services/task/Task.js +73 -7
  45. package/dist/services/task/Task.js.map +1 -1
  46. package/dist/services/task/TaskFactory.js +8 -4
  47. package/dist/services/task/TaskFactory.js.map +1 -1
  48. package/dist/services/task/TaskManager.js +490 -21
  49. package/dist/services/task/TaskManager.js.map +1 -1
  50. package/dist/services/task/WebexCallingUtils.js +70 -0
  51. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  52. package/dist/services/task/constants.js +4 -1
  53. package/dist/services/task/constants.js.map +1 -1
  54. package/dist/services/task/contact.js +29 -0
  55. package/dist/services/task/contact.js.map +1 -1
  56. package/dist/services/task/digital/Digital.js +3 -2
  57. package/dist/services/task/digital/Digital.js.map +1 -1
  58. package/dist/services/task/state-machine/TaskStateMachine.js +162 -53
  59. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -1
  60. package/dist/services/task/state-machine/actions.js +6 -1
  61. package/dist/services/task/state-machine/actions.js.map +1 -1
  62. package/dist/services/task/state-machine/guards.js +7 -10
  63. package/dist/services/task/state-machine/guards.js.map +1 -1
  64. package/dist/services/task/state-machine/types.js.map +1 -1
  65. package/dist/services/task/state-machine/uiControlsComputer.js +118 -18
  66. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -1
  67. package/dist/services/task/types.js +16 -1
  68. package/dist/services/task/types.js.map +1 -1
  69. package/dist/services/task/voice/Voice.js +456 -15
  70. package/dist/services/task/voice/Voice.js.map +1 -1
  71. package/dist/services/task/voice/WebRTC.js +4 -1
  72. package/dist/services/task/voice/WebRTC.js.map +1 -1
  73. package/dist/services/task/voice/wxAppVoiceMethods.js +354 -0
  74. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  75. package/dist/services/wxAppDiagnosticLogging.js +122 -0
  76. package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
  77. package/dist/services/wxAppTelephonyUtils.js +19 -0
  78. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  79. package/dist/types/cc.d.ts +78 -4
  80. package/dist/types/config.d.ts +7 -0
  81. package/dist/types/constants.d.ts +8 -0
  82. package/dist/types/index.d.ts +3 -1
  83. package/dist/types/metrics/MetricsManager.d.ts +6 -0
  84. package/dist/types/metrics/constants.d.ts +17 -0
  85. package/dist/types/services/AddressBook.d.ts +2 -1
  86. package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
  87. package/dist/types/services/EntryPoint.d.ts +7 -5
  88. package/dist/types/services/Queue.d.ts +5 -3
  89. package/dist/types/services/WebexCrossClientService.d.ts +32 -0
  90. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  91. package/dist/types/services/config/constants.d.ts +8 -5
  92. package/dist/types/services/config/types.d.ts +17 -4
  93. package/dist/types/services/core/Err.d.ts +2 -0
  94. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  95. package/dist/types/services/core/types.d.ts +2 -0
  96. package/dist/types/services/task/Task.d.ts +20 -2
  97. package/dist/types/services/task/TaskFactory.d.ts +2 -1
  98. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  99. package/dist/types/services/task/constants.d.ts +3 -0
  100. package/dist/types/services/task/contact.d.ts +4 -0
  101. package/dist/types/services/task/digital/Digital.d.ts +2 -2
  102. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +304 -56
  103. package/dist/types/services/task/state-machine/guards.d.ts +6 -5
  104. package/dist/types/services/task/state-machine/types.d.ts +9 -1
  105. package/dist/types/services/task/types.d.ts +81 -4
  106. package/dist/types/services/task/voice/Voice.d.ts +52 -9
  107. package/dist/types/services/task/voice/WebRTC.d.ts +2 -2
  108. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +55 -0
  109. package/dist/types/services/wxAppDiagnosticLogging.d.ts +51 -0
  110. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  111. package/dist/types/types.d.ts +14 -8
  112. package/dist/types/utils/PageCache.d.ts +20 -3
  113. package/dist/types.js +7 -2
  114. package/dist/types.js.map +1 -1
  115. package/dist/utils/PageCache.js +19 -5
  116. package/dist/utils/PageCache.js.map +1 -1
  117. package/dist/webex.js +1 -1
  118. package/package.json +8 -8
  119. package/src/cc.ts +657 -12
  120. package/src/config.ts +7 -0
  121. package/src/constants.ts +8 -0
  122. package/src/index.ts +2 -0
  123. package/src/metrics/MetricsManager.ts +16 -0
  124. package/src/metrics/ai-docs/metrics-spec.md +78 -10
  125. package/src/metrics/behavioral-events.ts +106 -0
  126. package/src/metrics/constants.ts +20 -0
  127. package/src/services/AddressBook.ts +17 -6
  128. package/src/services/AnswerCallOnWebexService.ts +239 -0
  129. package/src/services/EntryPoint.ts +59 -60
  130. package/src/services/Queue.ts +29 -12
  131. package/src/services/WebexCrossClientService.ts +293 -0
  132. package/src/services/WxAppTelephonyMercurySync.ts +142 -0
  133. package/src/services/agent/ai-docs/agent-spec.md +1 -0
  134. package/src/services/ai-docs/AGENTS.md +10 -10
  135. package/src/services/ai-docs/services-spec.md +6 -1
  136. package/src/services/config/Util.ts +3 -0
  137. package/src/services/config/ai-docs/AGENTS.md +1 -1
  138. package/src/services/config/ai-docs/ARCHITECTURE.md +2 -2
  139. package/src/services/config/ai-docs/config-spec.md +6 -0
  140. package/src/services/config/constants.ts +10 -6
  141. package/src/services/config/types.ts +16 -4
  142. package/src/services/core/Err.ts +1 -0
  143. package/src/services/core/WebexRequest.ts +3 -1
  144. package/src/services/core/ai-docs/core-spec.md +5 -1
  145. package/src/services/core/aqm-reqs.ts +30 -15
  146. package/src/services/core/types.ts +2 -0
  147. package/src/services/task/Task.ts +79 -8
  148. package/src/services/task/TaskFactory.ts +8 -3
  149. package/src/services/task/TaskManager.ts +716 -17
  150. package/src/services/task/WebexCallingUtils.ts +136 -0
  151. package/src/services/task/ai-docs/ARCHITECTURE.md +1 -0
  152. package/src/services/task/ai-docs/task-spec.md +156 -3
  153. package/src/services/task/constants.ts +3 -0
  154. package/src/services/task/contact.ts +30 -0
  155. package/src/services/task/digital/Digital.ts +4 -2
  156. package/src/services/task/state-machine/TaskStateMachine.ts +235 -81
  157. package/src/services/task/state-machine/actions.ts +5 -2
  158. package/src/services/task/state-machine/ai-docs/AGENTS.md +6 -4
  159. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +35 -16
  160. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +103 -33
  161. package/src/services/task/state-machine/guards.ts +7 -10
  162. package/src/services/task/state-machine/types.ts +16 -1
  163. package/src/services/task/state-machine/uiControlsComputer.ts +206 -32
  164. package/src/services/task/types.ts +114 -4
  165. package/src/services/task/voice/Voice.ts +595 -14
  166. package/src/services/task/voice/WebRTC.ts +5 -1
  167. package/src/services/task/voice/wxAppVoiceMethods.ts +516 -0
  168. package/src/services/wxAppDiagnosticLogging.ts +174 -0
  169. package/src/services/wxAppTelephonyUtils.ts +14 -0
  170. package/src/types.ts +33 -9
  171. package/src/utils/AGENTS.md +21 -10
  172. package/src/utils/PageCache.ts +38 -5
  173. package/src/utils/ai-docs/utils-spec.md +21 -11
  174. package/test/unit/spec/cc.ts +1522 -19
  175. package/test/unit/spec/metrics/MetricsManager.ts +25 -0
  176. package/test/unit/spec/metrics/behavioral-events.ts +60 -0
  177. package/test/unit/spec/services/AddressBook.ts +37 -6
  178. package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
  179. package/test/unit/spec/services/EntryPoint.ts +87 -40
  180. package/test/unit/spec/services/Queue.ts +123 -12
  181. package/test/unit/spec/services/WebexCrossClientService.ts +467 -0
  182. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
  183. package/test/unit/spec/services/config/Util.ts +85 -0
  184. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  185. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  186. package/test/unit/spec/services/task/Task.ts +274 -6
  187. package/test/unit/spec/services/task/TaskFactory.ts +39 -2
  188. package/test/unit/spec/services/task/TaskManager.ts +1717 -9
  189. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  190. package/test/unit/spec/services/task/contact.ts +33 -0
  191. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +1485 -109
  192. package/test/unit/spec/services/task/state-machine/guards.ts +210 -8
  193. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +445 -7
  194. package/test/unit/spec/services/task/voice/Voice.ts +1412 -0
  195. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +603 -0
  196. package/test/unit/spec/services/wxAppDiagnosticLogging.ts +143 -0
  197. package/umd/contact-center.min.js +2 -2
  198. package/umd/contact-center.min.js.map +1 -1
package/dist/config.js CHANGED
@@ -37,6 +37,13 @@ var _default = exports.default = {
37
37
  * @default false
38
38
  */
39
39
  disableWebRTCRegistration: false,
40
+ /**
41
+ * Whether wxApp Better Together is enabled at SDK init.
42
+ * Must be set before SDK init. Default false (WXCC-6026).
43
+ * @type {boolean}
44
+ * @default false
45
+ */
46
+ enableWxBetterTogether: false,
40
47
  /**
41
48
  * The type of client making the connection.
42
49
  * @type {string}
@@ -1 +1 @@
1
- {"version":3,"names":["_default","exports","default","cc","allowMultiLogin","allowAutomatedRelogin","disableWebRTCRegistration","clientType","isKeepAliveEnabled","force","metrics","clientName"],"sources":["config.ts"],"sourcesContent":["/**\n * Default configuration for the Webex Contact Center SDK.\n *\n * @public\n * @example\n * import config from './config';\n * const allowMultiLogin = config.cc.allowMultiLogin;\n * @ignore\n */\nexport default {\n /**\n * Contact Center configuration options.\n * @public\n */\n cc: {\n /**\n * Whether to allow multiple logins from different devices.\n * @type {boolean}\n * @default false\n */\n allowMultiLogin: false,\n /**\n * Whether to automatically attempt relogin on connection loss.\n * @type {boolean}\n * @default true\n */\n allowAutomatedRelogin: true,\n /**\n * Whether to skip Mobius/WebRTC registration for browser login flows.\n * @type {boolean}\n * @default false\n */\n disableWebRTCRegistration: false,\n /**\n * The type of client making the connection.\n * @type {string}\n * @default 'WebexCCSDK'\n */\n clientType: 'WebexCCSDK',\n /**\n * Whether to enable keep-alive messages.\n * @type {boolean}\n * @default false\n */\n isKeepAliveEnabled: false,\n /**\n * Whether to force registration.\n * @type {boolean}\n * @default true\n */\n force: true,\n /**\n * Metrics configuration for the client.\n * @public\n */\n metrics: {\n /**\n * Name of the client for metrics.\n * @type {string}\n * @default 'WEBEX_JS_SDK'\n */\n clientName: 'WEBEX_JS_SDK',\n /**\n * Type of client for metrics.\n * @type {string}\n * @default 'WebexCCSDK'\n */\n clientType: 'WebexCCSDK',\n },\n },\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GASe;EACb;AACF;AACA;AACA;EACEC,EAAE,EAAE;IACF;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAE,KAAK;IACtB;AACJ;AACA;AACA;AACA;IACIC,qBAAqB,EAAE,IAAI;IAC3B;AACJ;AACA;AACA;AACA;IACIC,yBAAyB,EAAE,KAAK;IAChC;AACJ;AACA;AACA;AACA;IACIC,UAAU,EAAE,YAAY;IACxB;AACJ;AACA;AACA;AACA;IACIC,kBAAkB,EAAE,KAAK;IACzB;AACJ;AACA;AACA;AACA;IACIC,KAAK,EAAE,IAAI;IACX;AACJ;AACA;AACA;IACIC,OAAO,EAAE;MACP;AACN;AACA;AACA;AACA;MACMC,UAAU,EAAE,cAAc;MAC1B;AACN;AACA;AACA;AACA;MACMJ,UAAU,EAAE;IACd;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_default","exports","default","cc","allowMultiLogin","allowAutomatedRelogin","disableWebRTCRegistration","enableWxBetterTogether","clientType","isKeepAliveEnabled","force","metrics","clientName"],"sources":["config.ts"],"sourcesContent":["/**\n * Default configuration for the Webex Contact Center SDK.\n *\n * @public\n * @example\n * import config from './config';\n * const allowMultiLogin = config.cc.allowMultiLogin;\n * @ignore\n */\nexport default {\n /**\n * Contact Center configuration options.\n * @public\n */\n cc: {\n /**\n * Whether to allow multiple logins from different devices.\n * @type {boolean}\n * @default false\n */\n allowMultiLogin: false,\n /**\n * Whether to automatically attempt relogin on connection loss.\n * @type {boolean}\n * @default true\n */\n allowAutomatedRelogin: true,\n /**\n * Whether to skip Mobius/WebRTC registration for browser login flows.\n * @type {boolean}\n * @default false\n */\n disableWebRTCRegistration: false,\n /**\n * Whether wxApp Better Together is enabled at SDK init.\n * Must be set before SDK init. Default false (WXCC-6026).\n * @type {boolean}\n * @default false\n */\n enableWxBetterTogether: false,\n /**\n * The type of client making the connection.\n * @type {string}\n * @default 'WebexCCSDK'\n */\n clientType: 'WebexCCSDK',\n /**\n * Whether to enable keep-alive messages.\n * @type {boolean}\n * @default false\n */\n isKeepAliveEnabled: false,\n /**\n * Whether to force registration.\n * @type {boolean}\n * @default true\n */\n force: true,\n /**\n * Metrics configuration for the client.\n * @public\n */\n metrics: {\n /**\n * Name of the client for metrics.\n * @type {string}\n * @default 'WEBEX_JS_SDK'\n */\n clientName: 'WEBEX_JS_SDK',\n /**\n * Type of client for metrics.\n * @type {string}\n * @default 'WebexCCSDK'\n */\n clientType: 'WebexCCSDK',\n },\n },\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GASe;EACb;AACF;AACA;AACA;EACEC,EAAE,EAAE;IACF;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAE,KAAK;IACtB;AACJ;AACA;AACA;AACA;IACIC,qBAAqB,EAAE,IAAI;IAC3B;AACJ;AACA;AACA;AACA;IACIC,yBAAyB,EAAE,KAAK;IAChC;AACJ;AACA;AACA;AACA;AACA;IACIC,sBAAsB,EAAE,KAAK;IAC7B;AACJ;AACA;AACA;AACA;IACIC,UAAU,EAAE,YAAY;IACxB;AACJ;AACA;AACA;AACA;IACIC,kBAAkB,EAAE,KAAK;IACzB;AACJ;AACA;AACA;AACA;IACIC,KAAK,EAAE,IAAI;IACX;AACJ;AACA;AACA;IACIC,OAAO,EAAE;MACP;AACN;AACA;AACA;AACA;MACMC,UAAU,EAAE,cAAc;MAC1B;AACN;AACA;AACA;AACA;MACMJ,UAAU,EAAE;IACd;EACF;AACF,CAAC","ignoreList":[]}
package/dist/constants.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WEB_SOCKET_MANAGER_FILE = exports.WEB_CALLING_SERVICE_FILE = exports.WEBEX_REQUEST_FILE = exports.UNKNOWN_ERROR = exports.TIMEOUT_DURATION = exports.TASK_MANAGER_FILE = exports.TASK_FILE = exports.READY = exports.PRODUCT_NAME = exports.OUTDIAL_MEDIA_TYPE = exports.OUTDIAL_DIRECTION = exports.OUTBOUND_TYPE = exports.METHODS = exports.MERCURY_DISCONNECTED_SUCCESS = exports.LOG_PREFIX = exports.EVENT = exports.EMPTY_STRING = exports.CONNECTION_SERVICE_FILE = exports.CONFIG_FILE_NAME = exports.CC_FILE = exports.ATTRIBUTES = exports.AQM_REQS_FILE = void 0;
6
+ exports.WEB_SOCKET_MANAGER_FILE = exports.WEB_CALLING_SERVICE_FILE = exports.WEBEX_REQUEST_FILE = exports.UNKNOWN_ERROR = exports.TIMEOUT_DURATION = exports.TASK_MANAGER_FILE = exports.TASK_FILE = exports.READY = exports.PRODUCT_NAME = exports.OUTDIAL_MEDIA_TYPE = exports.OUTDIAL_DIRECTION = exports.OUTBOUND_TYPE = exports.METHODS = exports.MERCURY_DISCONNECTED_SUCCESS = exports.LOG_PREFIX = exports.INBOUND_DIRECTION = exports.EVENT = exports.EMPTY_STRING = exports.CONNECTION_SERVICE_FILE = exports.CONFIG_FILE_NAME = exports.CC_FILE = exports.ATTRIBUTES = exports.AQM_REQS_FILE = void 0;
7
7
  const EVENT = exports.EVENT = 'event';
8
8
  const READY = exports.READY = 'ready';
9
9
  const TIMEOUT_DURATION = exports.TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration
@@ -21,6 +21,7 @@ const WEBEX_REQUEST_FILE = exports.WEBEX_REQUEST_FILE = 'WebexRequest';
21
21
  const TASK_MANAGER_FILE = exports.TASK_MANAGER_FILE = 'TaskManager';
22
22
  const TASK_FILE = exports.TASK_FILE = 'Task';
23
23
  // AGENT OUTDIAL CONSTANTS
24
+ const INBOUND_DIRECTION = exports.INBOUND_DIRECTION = 'INBOUND';
24
25
  const OUTDIAL_DIRECTION = exports.OUTDIAL_DIRECTION = 'OUTBOUND';
25
26
  const ATTRIBUTES = exports.ATTRIBUTES = {};
26
27
  const OUTDIAL_MEDIA_TYPE = exports.OUTDIAL_MEDIA_TYPE = 'telephony';
@@ -62,9 +63,11 @@ const METHODS = exports.METHODS = {
62
63
  TRANSFER_CALL: 'transfer',
63
64
  CONSULT_TRANSFER: 'consultTransfer',
64
65
  CONSULT_CONFERENCE: 'consultConference',
66
+ DROP_CONFERENCE_PARTICIPANT: 'dropConferenceParticipant',
65
67
  EXIT_CONFERENCE: 'exitConference',
66
68
  TRANSFER_CONFERENCE: 'transferConference',
67
69
  TOGGLE_MUTE: 'toggleMute',
70
+ TRANSMIT_DTMF: 'transmitDtmf',
68
71
  COMPLETE_TRANSFER: 'completeTransfer',
69
72
  GET_OUTDIAL_ANI_ENTRIES: 'getOutdialAniEntries',
70
73
  ACCEPT_PREVIEW_CONTACT: 'acceptPreviewContact',
@@ -74,6 +77,11 @@ const METHODS = exports.METHODS = {
74
77
  SEND_EVENT: 'sendEvent',
75
78
  GET_REAL_TIME_ASSISTANCE: 'getRealTimeAssistance',
76
79
  SEND_REAL_TIME_ASSISTANCE_USER_ACTION: 'sendRealTimeAssistanceUserAction',
77
- FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts'
80
+ FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts',
81
+ SET_MANAGE_WEBEX_CALLING_IN_WXCC: 'setManageWebexCallingInWxcc',
82
+ IS_WX_BETTER_TOGETHER_ENABLED: 'isWxBetterTogetherEnabled',
83
+ SYNC_WXAPP_MUTE_FROM_MERCURY: 'syncWxAppMuteFromMercury',
84
+ GET_CALL_DETAILS_ON_WEBEX: 'getCallDetailsOnWebex',
85
+ ENSURE_WXAPP_MERCURY_CONNECTED: 'ensureWxAppMercuryConnected'
78
86
  };
79
87
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EVENT","exports","READY","TIMEOUT_DURATION","EMPTY_STRING","PRODUCT_NAME","LOG_PREFIX","WEB_CALLING_SERVICE_FILE","CONFIG_FILE_NAME","CC_FILE","CONNECTION_SERVICE_FILE","WEB_SOCKET_MANAGER_FILE","AQM_REQS_FILE","WEBEX_REQUEST_FILE","TASK_MANAGER_FILE","TASK_FILE","OUTDIAL_DIRECTION","ATTRIBUTES","OUTDIAL_MEDIA_TYPE","OUTBOUND_TYPE","UNKNOWN_ERROR","MERCURY_DISCONNECTED_SUCCESS","METHODS","REGISTER","DEREGISTER","GET_BUDDY_AGENTS","CONNECT_WEBSOCKET","STATION_LOGIN","STATION_LOGOUT","STATION_RELOGIN","SET_AGENT_STATE","HANDLE_WEBSOCKET_MESSAGE","SETUP_EVENT_LISTENERS","GET_CONNECTION_CONFIG","HANDLE_CONNECTION_LOST","SILENT_RELOGIN","HANDLE_DEVICE_TYPE","START_OUTDIAL","GET_QUEUES","UPLOAD_LOGS","UPDATE_AGENT_PROFILE","GET_DEVICE_ID","HANDLE_INCOMING_TASK","HANDLE_TASK_HYDRATE","INCOMING_TASK_LISTENER","ACCEPT","REJECT","HOLD","RESUME","HOLD_RESUME","TRANSFER_CALL","CONSULT_TRANSFER","CONSULT_CONFERENCE","EXIT_CONFERENCE","TRANSFER_CONFERENCE","TOGGLE_MUTE","COMPLETE_TRANSFER","GET_OUTDIAL_ANI_ENTRIES","ACCEPT_PREVIEW_CONTACT","SKIP_PREVIEW_CONTACT","REMOVE_PREVIEW_CONTACT","GET_BASE_URL","SEND_EVENT","GET_REAL_TIME_ASSISTANCE","SEND_REAL_TIME_ASSISTANCE_USER_ACTION","FETCH_HISTORIC_TRANSCRIPTS"],"sources":["constants.ts"],"sourcesContent":["export const EVENT = 'event';\nexport const READY = 'ready';\nexport const TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration\nexport const EMPTY_STRING = '';\nexport const PRODUCT_NAME = 'wxcc_sdk';\n// FILE NAMES\nexport const LOG_PREFIX = 'PLUGIN_CC';\nexport const WEB_CALLING_SERVICE_FILE = 'WebCallingService';\nexport const CONFIG_FILE_NAME = 'config-index';\nexport const CC_FILE = 'cc';\nexport const CONNECTION_SERVICE_FILE = 'connection-service';\nexport const WEB_SOCKET_MANAGER_FILE = 'WebSocketManager';\nexport const AQM_REQS_FILE = 'aqm-reqs';\nexport const WEBEX_REQUEST_FILE = 'WebexRequest';\nexport const TASK_MANAGER_FILE = 'TaskManager';\nexport const TASK_FILE = 'Task';\n// AGENT OUTDIAL CONSTANTS\nexport const OUTDIAL_DIRECTION = 'OUTBOUND';\nexport const ATTRIBUTES = {};\nexport const OUTDIAL_MEDIA_TYPE = 'telephony';\nexport const OUTBOUND_TYPE = 'OUTDIAL';\n\n// Log related constants\nexport const UNKNOWN_ERROR = 'Unknown error';\nexport const MERCURY_DISCONNECTED_SUCCESS = 'Mercury disconnected successfully';\n\n// METHOD NAMES\nexport const METHODS = {\n REGISTER: 'register',\n DEREGISTER: 'deregister',\n GET_BUDDY_AGENTS: 'getBuddyAgents',\n CONNECT_WEBSOCKET: 'connectWebsocket',\n STATION_LOGIN: 'stationLogin',\n STATION_LOGOUT: 'stationLogout',\n STATION_RELOGIN: 'stationReLogin',\n SET_AGENT_STATE: 'setAgentState',\n HANDLE_WEBSOCKET_MESSAGE: 'handleWebsocketMessage',\n SETUP_EVENT_LISTENERS: 'setupEventListeners',\n GET_CONNECTION_CONFIG: 'getConnectionConfig',\n HANDLE_CONNECTION_LOST: 'handleConnectionLost',\n SILENT_RELOGIN: 'silentRelogin',\n HANDLE_DEVICE_TYPE: 'handleDeviceType',\n START_OUTDIAL: 'startOutdial',\n GET_QUEUES: 'getQueues',\n UPLOAD_LOGS: 'uploadLogs',\n UPDATE_AGENT_PROFILE: 'updateAgentProfile',\n GET_DEVICE_ID: 'getDeviceId',\n HANDLE_INCOMING_TASK: 'handleIncomingTask',\n HANDLE_TASK_HYDRATE: 'handleTaskHydrate',\n INCOMING_TASK_LISTENER: 'incomingTaskListener',\n ACCEPT: 'accept',\n REJECT: 'decline',\n HOLD: 'hold',\n RESUME: 'resume',\n HOLD_RESUME: 'holdResume',\n TRANSFER_CALL: 'transfer',\n CONSULT_TRANSFER: 'consultTransfer',\n CONSULT_CONFERENCE: 'consultConference',\n EXIT_CONFERENCE: 'exitConference',\n TRANSFER_CONFERENCE: 'transferConference',\n TOGGLE_MUTE: 'toggleMute',\n COMPLETE_TRANSFER: 'completeTransfer',\n GET_OUTDIAL_ANI_ENTRIES: 'getOutdialAniEntries',\n ACCEPT_PREVIEW_CONTACT: 'acceptPreviewContact',\n SKIP_PREVIEW_CONTACT: 'skipPreviewContact',\n REMOVE_PREVIEW_CONTACT: 'removePreviewContact',\n GET_BASE_URL: 'getBaseUrl',\n SEND_EVENT: 'sendEvent',\n GET_REAL_TIME_ASSISTANCE: 'getRealTimeAssistance',\n SEND_REAL_TIME_ASSISTANCE_USER_ACTION: 'sendRealTimeAssistanceUserAction',\n FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts',\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EVENT","exports","READY","TIMEOUT_DURATION","EMPTY_STRING","PRODUCT_NAME","LOG_PREFIX","WEB_CALLING_SERVICE_FILE","CONFIG_FILE_NAME","CC_FILE","CONNECTION_SERVICE_FILE","WEB_SOCKET_MANAGER_FILE","AQM_REQS_FILE","WEBEX_REQUEST_FILE","TASK_MANAGER_FILE","TASK_FILE","INBOUND_DIRECTION","OUTDIAL_DIRECTION","ATTRIBUTES","OUTDIAL_MEDIA_TYPE","OUTBOUND_TYPE","UNKNOWN_ERROR","MERCURY_DISCONNECTED_SUCCESS","METHODS","REGISTER","DEREGISTER","GET_BUDDY_AGENTS","CONNECT_WEBSOCKET","STATION_LOGIN","STATION_LOGOUT","STATION_RELOGIN","SET_AGENT_STATE","HANDLE_WEBSOCKET_MESSAGE","SETUP_EVENT_LISTENERS","GET_CONNECTION_CONFIG","HANDLE_CONNECTION_LOST","SILENT_RELOGIN","HANDLE_DEVICE_TYPE","START_OUTDIAL","GET_QUEUES","UPLOAD_LOGS","UPDATE_AGENT_PROFILE","GET_DEVICE_ID","HANDLE_INCOMING_TASK","HANDLE_TASK_HYDRATE","INCOMING_TASK_LISTENER","ACCEPT","REJECT","HOLD","RESUME","HOLD_RESUME","TRANSFER_CALL","CONSULT_TRANSFER","CONSULT_CONFERENCE","DROP_CONFERENCE_PARTICIPANT","EXIT_CONFERENCE","TRANSFER_CONFERENCE","TOGGLE_MUTE","TRANSMIT_DTMF","COMPLETE_TRANSFER","GET_OUTDIAL_ANI_ENTRIES","ACCEPT_PREVIEW_CONTACT","SKIP_PREVIEW_CONTACT","REMOVE_PREVIEW_CONTACT","GET_BASE_URL","SEND_EVENT","GET_REAL_TIME_ASSISTANCE","SEND_REAL_TIME_ASSISTANCE_USER_ACTION","FETCH_HISTORIC_TRANSCRIPTS","SET_MANAGE_WEBEX_CALLING_IN_WXCC","IS_WX_BETTER_TOGETHER_ENABLED","SYNC_WXAPP_MUTE_FROM_MERCURY","GET_CALL_DETAILS_ON_WEBEX","ENSURE_WXAPP_MERCURY_CONNECTED"],"sources":["constants.ts"],"sourcesContent":["export const EVENT = 'event';\nexport const READY = 'ready';\nexport const TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration\nexport const EMPTY_STRING = '';\nexport const PRODUCT_NAME = 'wxcc_sdk';\n// FILE NAMES\nexport const LOG_PREFIX = 'PLUGIN_CC';\nexport const WEB_CALLING_SERVICE_FILE = 'WebCallingService';\nexport const CONFIG_FILE_NAME = 'config-index';\nexport const CC_FILE = 'cc';\nexport const CONNECTION_SERVICE_FILE = 'connection-service';\nexport const WEB_SOCKET_MANAGER_FILE = 'WebSocketManager';\nexport const AQM_REQS_FILE = 'aqm-reqs';\nexport const WEBEX_REQUEST_FILE = 'WebexRequest';\nexport const TASK_MANAGER_FILE = 'TaskManager';\nexport const TASK_FILE = 'Task';\n// AGENT OUTDIAL CONSTANTS\nexport const INBOUND_DIRECTION = 'INBOUND';\nexport const OUTDIAL_DIRECTION = 'OUTBOUND';\nexport const ATTRIBUTES = {};\nexport const OUTDIAL_MEDIA_TYPE = 'telephony';\nexport const OUTBOUND_TYPE = 'OUTDIAL';\n\n// Log related constants\nexport const UNKNOWN_ERROR = 'Unknown error';\nexport const MERCURY_DISCONNECTED_SUCCESS = 'Mercury disconnected successfully';\n\n// METHOD NAMES\nexport const METHODS = {\n REGISTER: 'register',\n DEREGISTER: 'deregister',\n GET_BUDDY_AGENTS: 'getBuddyAgents',\n CONNECT_WEBSOCKET: 'connectWebsocket',\n STATION_LOGIN: 'stationLogin',\n STATION_LOGOUT: 'stationLogout',\n STATION_RELOGIN: 'stationReLogin',\n SET_AGENT_STATE: 'setAgentState',\n HANDLE_WEBSOCKET_MESSAGE: 'handleWebsocketMessage',\n SETUP_EVENT_LISTENERS: 'setupEventListeners',\n GET_CONNECTION_CONFIG: 'getConnectionConfig',\n HANDLE_CONNECTION_LOST: 'handleConnectionLost',\n SILENT_RELOGIN: 'silentRelogin',\n HANDLE_DEVICE_TYPE: 'handleDeviceType',\n START_OUTDIAL: 'startOutdial',\n GET_QUEUES: 'getQueues',\n UPLOAD_LOGS: 'uploadLogs',\n UPDATE_AGENT_PROFILE: 'updateAgentProfile',\n GET_DEVICE_ID: 'getDeviceId',\n HANDLE_INCOMING_TASK: 'handleIncomingTask',\n HANDLE_TASK_HYDRATE: 'handleTaskHydrate',\n INCOMING_TASK_LISTENER: 'incomingTaskListener',\n ACCEPT: 'accept',\n REJECT: 'decline',\n HOLD: 'hold',\n RESUME: 'resume',\n HOLD_RESUME: 'holdResume',\n TRANSFER_CALL: 'transfer',\n CONSULT_TRANSFER: 'consultTransfer',\n CONSULT_CONFERENCE: 'consultConference',\n DROP_CONFERENCE_PARTICIPANT: 'dropConferenceParticipant',\n EXIT_CONFERENCE: 'exitConference',\n TRANSFER_CONFERENCE: 'transferConference',\n TOGGLE_MUTE: 'toggleMute',\n TRANSMIT_DTMF: 'transmitDtmf',\n COMPLETE_TRANSFER: 'completeTransfer',\n GET_OUTDIAL_ANI_ENTRIES: 'getOutdialAniEntries',\n ACCEPT_PREVIEW_CONTACT: 'acceptPreviewContact',\n SKIP_PREVIEW_CONTACT: 'skipPreviewContact',\n REMOVE_PREVIEW_CONTACT: 'removePreviewContact',\n GET_BASE_URL: 'getBaseUrl',\n SEND_EVENT: 'sendEvent',\n GET_REAL_TIME_ASSISTANCE: 'getRealTimeAssistance',\n SEND_REAL_TIME_ASSISTANCE_USER_ACTION: 'sendRealTimeAssistanceUserAction',\n FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts',\n SET_MANAGE_WEBEX_CALLING_IN_WXCC: 'setManageWebexCallingInWxcc',\n IS_WX_BETTER_TOGETHER_ENABLED: 'isWxBetterTogetherEnabled',\n SYNC_WXAPP_MUTE_FROM_MERCURY: 'syncWxAppMuteFromMercury',\n GET_CALL_DETAILS_ON_WEBEX: 'getCallDetailsOnWebex',\n ENSURE_WXAPP_MERCURY_CONNECTED: 'ensureWxAppMercuryConnected',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG,OAAO;AACrB,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG,OAAO;AACrB,MAAMC,gBAAgB,GAAAF,OAAA,CAAAE,gBAAA,GAAG,KAAK,CAAC,CAAC;AAChC,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,GAAG,EAAE;AACvB,MAAMC,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,UAAU;AACtC;AACO,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GAAG,WAAW;AAC9B,MAAMC,wBAAwB,GAAAN,OAAA,CAAAM,wBAAA,GAAG,mBAAmB;AACpD,MAAMC,gBAAgB,GAAAP,OAAA,CAAAO,gBAAA,GAAG,cAAc;AACvC,MAAMC,OAAO,GAAAR,OAAA,CAAAQ,OAAA,GAAG,IAAI;AACpB,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,oBAAoB;AACpD,MAAMC,uBAAuB,GAAAV,OAAA,CAAAU,uBAAA,GAAG,kBAAkB;AAClD,MAAMC,aAAa,GAAAX,OAAA,CAAAW,aAAA,GAAG,UAAU;AAChC,MAAMC,kBAAkB,GAAAZ,OAAA,CAAAY,kBAAA,GAAG,cAAc;AACzC,MAAMC,iBAAiB,GAAAb,OAAA,CAAAa,iBAAA,GAAG,aAAa;AACvC,MAAMC,SAAS,GAAAd,OAAA,CAAAc,SAAA,GAAG,MAAM;AAC/B;AACO,MAAMC,iBAAiB,GAAAf,OAAA,CAAAe,iBAAA,GAAG,SAAS;AACnC,MAAMC,iBAAiB,GAAAhB,OAAA,CAAAgB,iBAAA,GAAG,UAAU;AACpC,MAAMC,UAAU,GAAAjB,OAAA,CAAAiB,UAAA,GAAG,CAAC,CAAC;AACrB,MAAMC,kBAAkB,GAAAlB,OAAA,CAAAkB,kBAAA,GAAG,WAAW;AACtC,MAAMC,aAAa,GAAAnB,OAAA,CAAAmB,aAAA,GAAG,SAAS;;AAEtC;AACO,MAAMC,aAAa,GAAApB,OAAA,CAAAoB,aAAA,GAAG,eAAe;AACrC,MAAMC,4BAA4B,GAAArB,OAAA,CAAAqB,4BAAA,GAAG,mCAAmC;;AAE/E;AACO,MAAMC,OAAO,GAAAtB,OAAA,CAAAsB,OAAA,GAAG;EACrBC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,gBAAgB;EAClCC,iBAAiB,EAAE,kBAAkB;EACrCC,aAAa,EAAE,cAAc;EAC7BC,cAAc,EAAE,eAAe;EAC/BC,eAAe,EAAE,gBAAgB;EACjCC,eAAe,EAAE,eAAe;EAChCC,wBAAwB,EAAE,wBAAwB;EAClDC,qBAAqB,EAAE,qBAAqB;EAC5CC,qBAAqB,EAAE,qBAAqB;EAC5CC,sBAAsB,EAAE,sBAAsB;EAC9CC,cAAc,EAAE,eAAe;EAC/BC,kBAAkB,EAAE,kBAAkB;EACtCC,aAAa,EAAE,cAAc;EAC7BC,UAAU,EAAE,WAAW;EACvBC,WAAW,EAAE,YAAY;EACzBC,oBAAoB,EAAE,oBAAoB;EAC1CC,aAAa,EAAE,aAAa;EAC5BC,oBAAoB,EAAE,oBAAoB;EAC1CC,mBAAmB,EAAE,mBAAmB;EACxCC,sBAAsB,EAAE,sBAAsB;EAC9CC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,YAAY;EACzBC,aAAa,EAAE,UAAU;EACzBC,gBAAgB,EAAE,iBAAiB;EACnCC,kBAAkB,EAAE,mBAAmB;EACvCC,2BAA2B,EAAE,2BAA2B;EACxDC,eAAe,EAAE,gBAAgB;EACjCC,mBAAmB,EAAE,oBAAoB;EACzCC,WAAW,EAAE,YAAY;EACzBC,aAAa,EAAE,cAAc;EAC7BC,iBAAiB,EAAE,kBAAkB;EACrCC,uBAAuB,EAAE,sBAAsB;EAC/CC,sBAAsB,EAAE,sBAAsB;EAC9CC,oBAAoB,EAAE,oBAAoB;EAC1CC,sBAAsB,EAAE,sBAAsB;EAC9CC,YAAY,EAAE,YAAY;EAC1BC,UAAU,EAAE,WAAW;EACvBC,wBAAwB,EAAE,uBAAuB;EACjDC,qCAAqC,EAAE,kCAAkC;EACzEC,0BAA0B,EAAE,0BAA0B;EACtDC,gCAAgC,EAAE,6BAA6B;EAC/DC,6BAA6B,EAAE,2BAA2B;EAC1DC,4BAA4B,EAAE,0BAA0B;EACxDC,yBAAyB,EAAE,uBAAuB;EAClDC,8BAA8B,EAAE;AAClC,CAAC","ignoreList":[]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_agent","_Task","_AddressBook","_ApiAiAssistant","_UserPreference","_types","_types2","_types3","_uiControlsComputer","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/**\n * Agent routing service for Contact Center operations\n * @category Services\n */\nexport {default as routingAgent} from './services/agent';\n\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/Task';\n\n// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)\nexport {default as AddressBook} from './services/AddressBook';\nexport {default as ApiAIAssistant} from './services/ApiAiAssistant';\nexport {default as UserPreference} from './services/UserPreference';\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 /** Event emitter contract for task consumers (no @types/node needed) */\n IEventEmitter,\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 /** UI control types for task buttons */\n InteractionUIControls,\n TaskUILeg,\n TaskUIControls,\n TaskUIControlState,\n} from './services/task/types';\n\n/** UI controls utilities */\nexport {getDefaultUIControls} from './services/task/state-machine/uiControlsComputer';\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 /** User preference data structure */\n UserPreference as UserPreferenceData,\n /** Request payload for creating user preferences */\n CreateUserPreferenceRequest,\n /** Request payload for updating user preferences */\n UpdateUserPreferenceRequest,\n /** Query parameters for fetching user preferences */\n GetUserPreferenceParams,\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;AAiBA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAMA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,eAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,eAAA,GAAAN,sBAAA,CAAAF,OAAA;AAqBA,IAAAS,MAAA,GAAAT,OAAA;AAQA,IAAAU,OAAA,GAAAV,OAAA;AAQA,IAAAW,OAAA,GAAAX,OAAA;AAoFA,IAAAY,mBAAA,GAAAZ,OAAA;AAAsF,SAAAE,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAnJtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;;AAKA;;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;;AA0BA;;AAGA;;AA8BA;;AAoDA;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":[]}
1
+ {"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_agent","_Task","_AddressBook","_ApiAiAssistant","_UserPreference","_types","_types2","_types3","_uiControlsComputer","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/**\n * Agent routing service for Contact Center operations\n * @category Services\n */\nexport {default as routingAgent} from './services/agent';\n\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/Task';\n\n// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)\nexport {default as AddressBook} from './services/AddressBook';\nexport {default as ApiAIAssistant} from './services/ApiAiAssistant';\nexport {default as UserPreference} from './services/UserPreference';\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 /** Event emitter contract for task consumers (no @types/node needed) */\n IEventEmitter,\n /** Task interface */\n ITask,\n Interaction,\n TaskData,\n /** Task response */\n TaskResponse,\n /** Conference participant drop request */\n DropConferenceParticipantPayload,\n ConsultPayload,\n ConsultEndPayload,\n ConsultTransferPayLoad,\n /** Dialer payload */\n DialerPayload,\n TransferPayLoad,\n ResumeRecordingPayload,\n WrapupPayLoad,\n /** UI control types for task buttons */\n InteractionUIControls,\n TaskUILeg,\n TaskUIControls,\n TaskUIControlState,\n} from './services/task/types';\n\n/** UI controls utilities */\nexport {getDefaultUIControls} from './services/task/state-machine/uiControlsComputer';\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 /** User preference data structure */\n UserPreference as UserPreferenceData,\n /** Request payload for creating user preferences */\n CreateUserPreferenceRequest,\n /** Request payload for updating user preferences */\n UpdateUserPreferenceRequest,\n /** Query parameters for fetching user preferences */\n GetUserPreferenceParams,\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;AAiBA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAMA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,eAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,eAAA,GAAAN,sBAAA,CAAAF,OAAA;AAqBA,IAAAS,MAAA,GAAAT,OAAA;AAQA,IAAAU,OAAA,GAAAV,OAAA;AAQA,IAAAW,OAAA,GAAAX,OAAA;AAsFA,IAAAY,mBAAA,GAAAZ,OAAA;AAAsF,SAAAE,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AArJtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;;AAKA;;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;;AA4BA;;AAGA;;AA8BA;;AAoDA;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":[]}
@@ -379,6 +379,22 @@ class MetricsManager {
379
379
  };
380
380
  }
381
381
 
382
+ /**
383
+ * Clears a running timed event without emitting a metric.
384
+ * @param keys - A string or array of strings representing event keys (same as timeEvent).
385
+ * @public
386
+ */
387
+ cancelTimedEvent(keys) {
388
+ if (this.isMetricsDisabled()) {
389
+ return;
390
+ }
391
+ const keyArray = Array.isArray(keys) ? keys : [keys];
392
+ if (keyArray.length === 0) {
393
+ return;
394
+ }
395
+ delete this.runningEvents[keyArray[0]];
396
+ }
397
+
382
398
  /**
383
399
  * Sets the Webex SDK instance and marks the manager as ready when the SDK is ready.
384
400
  * @param webex - The Webex SDK instance.
@@ -1 +1 @@
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":"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","ignoreList":[]}
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","cancelTimedEvent","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 * Clears a running timed event without emitting a metric.\n * @param keys - A string or array of strings representing event keys (same as timeEvent).\n * @public\n */\n public cancelTimedEvent(keys: string | string[]): void {\n if (this.isMetricsDisabled()) {\n return;\n }\n const keyArray = Array.isArray(keys) ? keys : [keys];\n if (keyArray.length === 0) {\n return;\n }\n delete this.runningEvents[keyArray[0]];\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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","ignoreList":[]}
@@ -304,6 +304,97 @@ const eventTaxonomyMap = {
304
304
  target: 'task_outdial',
305
305
  verb: 'fail'
306
306
  },
307
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_SUCCESS]: {
308
+ product,
309
+ agent: 'user',
310
+ target: 'task_mute_webex_together',
311
+ verb: 'complete'
312
+ },
313
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_FAILED]: {
314
+ product,
315
+ agent: 'user',
316
+ target: 'task_mute_webex_together',
317
+ verb: 'fail'
318
+ },
319
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_SUCCESS]: {
320
+ product,
321
+ agent: 'user',
322
+ target: 'task_dtmf_webex_together',
323
+ verb: 'complete'
324
+ },
325
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_FAILED]: {
326
+ product,
327
+ agent: 'user',
328
+ target: 'task_dtmf_webex_together',
329
+ verb: 'fail'
330
+ },
331
+ // Webex Together (wxApp)
332
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_SUCCESS]: {
333
+ product,
334
+ agent: 'user',
335
+ target: 'task_accept_webex_together',
336
+ verb: 'complete'
337
+ },
338
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_FAILED]: {
339
+ product,
340
+ agent: 'user',
341
+ target: 'task_accept_webex_together',
342
+ verb: 'fail'
343
+ },
344
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_SUCCESS]: {
345
+ product,
346
+ agent: 'user',
347
+ target: 'task_reject_webex_together',
348
+ verb: 'complete'
349
+ },
350
+ [_constants.METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_FAILED]: {
351
+ product,
352
+ agent: 'user',
353
+ target: 'task_reject_webex_together',
354
+ verb: 'fail'
355
+ },
356
+ [_constants.METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_SUCCESS]: {
357
+ product,
358
+ agent: 'user',
359
+ target: 'webex_together_session_init',
360
+ verb: 'complete'
361
+ },
362
+ [_constants.METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_FAILED]: {
363
+ product,
364
+ agent: 'user',
365
+ target: 'webex_together_session_init',
366
+ verb: 'fail'
367
+ },
368
+ [_constants.METRIC_EVENT_NAMES.WXAPP_SESSION_SKIPPED]: {
369
+ product,
370
+ agent: 'user',
371
+ target: 'webex_together_session_init',
372
+ verb: 'ignore'
373
+ },
374
+ [_constants.METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS]: {
375
+ product,
376
+ agent: 'user',
377
+ target: 'webex_together_usersub_publish',
378
+ verb: 'complete'
379
+ },
380
+ [_constants.METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED]: {
381
+ product,
382
+ agent: 'user',
383
+ target: 'webex_together_usersub_publish',
384
+ verb: 'fail'
385
+ },
386
+ [_constants.METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS]: {
387
+ product,
388
+ agent: 'user',
389
+ target: 'webex_together_mercury_subscribe',
390
+ verb: 'complete'
391
+ },
392
+ [_constants.METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED]: {
393
+ product,
394
+ agent: 'user',
395
+ target: 'webex_together_mercury_subscribe',
396
+ verb: 'fail'
397
+ },
307
398
  // Conference Tasks
308
399
  [_constants.METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {
309
400
  product,
@@ -354,6 +445,19 @@ const eventTaxonomyMap = {
354
445
  target: 'task_conference_exit',
355
446
  verb: 'fail'
356
447
  },
448
+ // Conference Participant Drop
449
+ [_constants.METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS]: {
450
+ product,
451
+ agent: 'user',
452
+ target: 'task_conference_participant_drop',
453
+ verb: 'complete'
454
+ },
455
+ [_constants.METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_FAILED]: {
456
+ product,
457
+ agent: 'user',
458
+ target: 'task_conference_participant_drop',
459
+ verb: 'fail'
460
+ },
357
461
  // Switch Call
358
462
  [_constants.METRIC_EVENT_NAMES.TASK_SWITCH_CALL_SUCCESS]: {
359
463
  product,
@@ -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_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","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_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","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_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 // Conference Exit\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'fail',\n },\n\n // Switch Call\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\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 // Campaign Preview API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'fail',\n },\n\n // Campaign Preview Skip API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'fail',\n },\n\n // Campaign Preview Remove API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'fail',\n },\n\n // User Preference API Events\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\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":[]}
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","WXAPP_TASK_MUTE_SUCCESS","WXAPP_TASK_MUTE_FAILED","WXAPP_TASK_DTMF_SUCCESS","WXAPP_TASK_DTMF_FAILED","WXAPP_TASK_ACCEPT_SUCCESS","WXAPP_TASK_ACCEPT_FAILED","WXAPP_TASK_DECLINE_SUCCESS","WXAPP_TASK_DECLINE_FAILED","WXAPP_SESSION_INIT_SUCCESS","WXAPP_SESSION_INIT_FAILED","WXAPP_SESSION_SKIPPED","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","WXAPP_MERCURY_SUBSCRIBE_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_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS","TASK_CONFERENCE_PARTICIPANT_DROP_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_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","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_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 [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_FAILED]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'fail',\n },\n\n // Webex Together (wxApp)\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_SKIPPED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'ignore',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\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 // Conference Exit\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'fail',\n },\n\n // Conference Participant Drop\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'fail',\n },\n\n // Switch Call\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\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 // Campaign Preview API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'fail',\n },\n\n // Campaign Preview Skip API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'fail',\n },\n\n // Campaign Preview Remove API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'fail',\n },\n\n // User Preference API Events\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\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":[]}