@webex/contact-center 3.12.0-next.15 → 3.12.0-next.151

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 (322) hide show
  1. package/.sdd/manifest.json +887 -0
  2. package/AGENTS.md +94 -0
  3. package/ai-docs/ARCHITECTURE.md +168 -0
  4. package/ai-docs/CONTRACTS.md +62 -0
  5. package/ai-docs/GETTING_STARTED.md +168 -0
  6. package/ai-docs/GLOSSARY.md +43 -0
  7. package/ai-docs/README.md +138 -0
  8. package/ai-docs/REVIEW_CHECKLIST.md +41 -0
  9. package/ai-docs/RULES.md +444 -0
  10. package/ai-docs/SECURITY.md +52 -0
  11. package/ai-docs/SERVICE_STATE.md +52 -0
  12. package/ai-docs/SPEC_INDEX.md +65 -0
  13. package/ai-docs/adr/0001-spec-source-policy.md +55 -0
  14. package/ai-docs/adr/README.md +8 -0
  15. package/ai-docs/adr/_adr-template.md +31 -0
  16. package/ai-docs/contact-center-spec.md +382 -0
  17. package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
  18. package/ai-docs/features/contact-owner-change-refactor.md +78 -0
  19. package/ai-docs/features/generated-spec-conformance-fidelity-remediation/spec/feature-spec.md +117 -0
  20. package/ai-docs/features/residual-warning-coverage-completion/spec/feature-spec.md +203 -0
  21. package/ai-docs/features/validator-code-fidelity-drift-fix/spec/feature-spec.md +315 -0
  22. package/ai-docs/patterns/event-driven-patterns.md +485 -0
  23. package/ai-docs/patterns/testing-patterns.md +480 -0
  24. package/ai-docs/patterns/typescript-patterns.md +365 -0
  25. package/ai-docs/templates/README.md +102 -0
  26. package/ai-docs/templates/documentation/create-agents-md.md +240 -0
  27. package/ai-docs/templates/documentation/create-architecture-md.md +295 -0
  28. package/ai-docs/templates/existing-service/bug-fix.md +254 -0
  29. package/ai-docs/templates/existing-service/feature-enhancement.md +450 -0
  30. package/ai-docs/templates/new-method/00-master.md +80 -0
  31. package/ai-docs/templates/new-method/01-requirements.md +232 -0
  32. package/ai-docs/templates/new-method/02-implementation.md +295 -0
  33. package/ai-docs/templates/new-method/03-tests.md +201 -0
  34. package/ai-docs/templates/new-method/04-validation.md +141 -0
  35. package/ai-docs/templates/new-service/00-master.md +109 -0
  36. package/ai-docs/templates/new-service/01-pre-questions.md +159 -0
  37. package/ai-docs/templates/new-service/02-code-generation.md +346 -0
  38. package/ai-docs/templates/new-service/03-integration.md +178 -0
  39. package/ai-docs/templates/new-service/04-test-generation.md +205 -0
  40. package/ai-docs/templates/new-service/05-validation.md +145 -0
  41. package/dist/cc.js +1010 -47
  42. package/dist/cc.js.map +1 -1
  43. package/dist/config.js +13 -0
  44. package/dist/config.js.map +1 -1
  45. package/dist/constants.js +40 -3
  46. package/dist/constants.js.map +1 -1
  47. package/dist/index.js +54 -17
  48. package/dist/index.js.map +1 -1
  49. package/dist/metrics/MetricsManager.js +16 -0
  50. package/dist/metrics/MetricsManager.js.map +1 -1
  51. package/dist/metrics/behavioral-events.js +211 -0
  52. package/dist/metrics/behavioral-events.js.map +1 -1
  53. package/dist/metrics/constants.js +58 -4
  54. package/dist/metrics/constants.js.map +1 -1
  55. package/dist/services/AddressBook.js +18 -15
  56. package/dist/services/AddressBook.js.map +1 -1
  57. package/dist/services/AnswerCallOnWebexService.js +202 -0
  58. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  59. package/dist/services/ApiAiAssistant.js +351 -14
  60. package/dist/services/ApiAiAssistant.js.map +1 -1
  61. package/dist/services/EntryPoint.js +46 -68
  62. package/dist/services/EntryPoint.js.map +1 -1
  63. package/dist/services/Queue.js +27 -22
  64. package/dist/services/Queue.js.map +1 -1
  65. package/dist/services/UserPreference.js +427 -0
  66. package/dist/services/UserPreference.js.map +1 -0
  67. package/dist/services/WebexCrossClientService.js +225 -0
  68. package/dist/services/WebexCrossClientService.js.map +1 -0
  69. package/dist/services/WxAppTelephonyMercurySync.js +111 -0
  70. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  71. package/dist/services/config/Util.js +48 -48
  72. package/dist/services/config/Util.js.map +1 -1
  73. package/dist/services/config/constants.js +56 -78
  74. package/dist/services/config/constants.js.map +1 -1
  75. package/dist/services/config/index.js +100 -226
  76. package/dist/services/config/index.js.map +1 -1
  77. package/dist/services/config/types.js +97 -24
  78. package/dist/services/config/types.js.map +1 -1
  79. package/dist/services/core/Err.js.map +1 -1
  80. package/dist/services/core/Utils.js +111 -32
  81. package/dist/services/core/Utils.js.map +1 -1
  82. package/dist/services/core/WebexRequest.js +6 -2
  83. package/dist/services/core/WebexRequest.js.map +1 -1
  84. package/dist/services/core/aqm-reqs.js +28 -14
  85. package/dist/services/core/aqm-reqs.js.map +1 -1
  86. package/dist/services/core/types.js.map +1 -1
  87. package/dist/services/core/websocket/WebSocketManager.js +2 -1
  88. package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
  89. package/dist/services/core/websocket/types.js.map +1 -1
  90. package/dist/services/index.js +1 -1
  91. package/dist/services/index.js.map +1 -1
  92. package/dist/services/task/Task.js +955 -0
  93. package/dist/services/task/Task.js.map +1 -0
  94. package/dist/services/task/TaskFactory.js +50 -0
  95. package/dist/services/task/TaskFactory.js.map +1 -0
  96. package/dist/services/task/TaskManager.js +1272 -523
  97. package/dist/services/task/TaskManager.js.map +1 -1
  98. package/dist/services/task/TaskUtils.js +221 -27
  99. package/dist/services/task/TaskUtils.js.map +1 -1
  100. package/dist/services/task/WebexCallingUtils.js +70 -0
  101. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  102. package/dist/services/task/constants.js +21 -2
  103. package/dist/services/task/constants.js.map +1 -1
  104. package/dist/services/task/contact.js +29 -0
  105. package/dist/services/task/contact.js.map +1 -1
  106. package/dist/services/task/dialer.js +78 -0
  107. package/dist/services/task/dialer.js.map +1 -1
  108. package/dist/services/task/digital/Digital.js +78 -0
  109. package/dist/services/task/digital/Digital.js.map +1 -0
  110. package/dist/services/task/state-machine/TaskStateMachine.js +982 -0
  111. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
  112. package/dist/services/task/state-machine/actions.js +572 -0
  113. package/dist/services/task/state-machine/actions.js.map +1 -0
  114. package/dist/services/task/state-machine/constants.js +161 -0
  115. package/dist/services/task/state-machine/constants.js.map +1 -0
  116. package/dist/services/task/state-machine/guards.js +379 -0
  117. package/dist/services/task/state-machine/guards.js.map +1 -0
  118. package/dist/services/task/state-machine/index.js +53 -0
  119. package/dist/services/task/state-machine/index.js.map +1 -0
  120. package/dist/services/task/state-machine/types.js +54 -0
  121. package/dist/services/task/state-machine/types.js.map +1 -0
  122. package/dist/services/task/state-machine/uiControlsComputer.js +703 -0
  123. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
  124. package/dist/services/task/taskDataNormalizer.js +99 -0
  125. package/dist/services/task/taskDataNormalizer.js.map +1 -0
  126. package/dist/services/task/types.js +259 -5
  127. package/dist/services/task/types.js.map +1 -1
  128. package/dist/services/task/voice/Voice.js +1504 -0
  129. package/dist/services/task/voice/Voice.js.map +1 -0
  130. package/dist/services/task/voice/WebRTC.js +152 -0
  131. package/dist/services/task/voice/WebRTC.js.map +1 -0
  132. package/dist/services/task/voice/wxAppOfferObservability.js +145 -0
  133. package/dist/services/task/voice/wxAppOfferObservability.js.map +1 -0
  134. package/dist/services/task/voice/wxAppVoiceMethods.js +395 -0
  135. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  136. package/dist/services/wxAppDiagnosticLogging.js +159 -0
  137. package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
  138. package/dist/services/wxAppTelephonyUtils.js +19 -0
  139. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  140. package/dist/types/cc.d.ts +196 -9
  141. package/dist/types/config.d.ts +13 -0
  142. package/dist/types/constants.d.ts +38 -1
  143. package/dist/types/index.d.ts +54 -20
  144. package/dist/types/metrics/MetricsManager.d.ts +6 -0
  145. package/dist/types/metrics/constants.d.ts +52 -1
  146. package/dist/types/services/AddressBook.d.ts +2 -1
  147. package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
  148. package/dist/types/services/ApiAiAssistant.d.ts +58 -5
  149. package/dist/types/services/EntryPoint.d.ts +7 -5
  150. package/dist/types/services/Queue.d.ts +5 -3
  151. package/dist/types/services/UserPreference.d.ts +118 -0
  152. package/dist/types/services/WebexCrossClientService.d.ts +32 -0
  153. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  154. package/dist/types/services/config/Util.d.ts +4 -8
  155. package/dist/types/services/config/constants.d.ts +49 -76
  156. package/dist/types/services/config/index.d.ts +16 -64
  157. package/dist/types/services/config/types.d.ts +248 -114
  158. package/dist/types/services/core/Err.d.ts +6 -0
  159. package/dist/types/services/core/Utils.d.ts +35 -13
  160. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  161. package/dist/types/services/core/types.d.ts +2 -0
  162. package/dist/types/services/core/websocket/WebSocketManager.d.ts +1 -0
  163. package/dist/types/services/core/websocket/types.d.ts +1 -1
  164. package/dist/types/services/index.d.ts +1 -1
  165. package/dist/types/services/task/Task.d.ts +186 -0
  166. package/dist/types/services/task/TaskFactory.d.ts +14 -0
  167. package/dist/types/services/task/TaskUtils.d.ts +54 -2
  168. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  169. package/dist/types/services/task/constants.d.ts +19 -0
  170. package/dist/types/services/task/contact.d.ts +4 -0
  171. package/dist/types/services/task/dialer.d.ts +30 -0
  172. package/dist/types/services/task/digital/Digital.d.ts +23 -0
  173. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1442 -0
  174. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  175. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  176. package/dist/types/services/task/state-machine/guards.d.ts +103 -0
  177. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  178. package/dist/types/services/task/state-machine/types.d.ts +277 -0
  179. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  180. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  181. package/dist/types/services/task/types.d.ts +790 -66
  182. package/dist/types/services/task/voice/Voice.d.ts +241 -0
  183. package/dist/types/services/task/voice/WebRTC.d.ts +54 -0
  184. package/dist/types/services/task/voice/wxAppOfferObservability.d.ts +39 -0
  185. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +68 -0
  186. package/dist/types/services/wxAppDiagnosticLogging.d.ts +63 -0
  187. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  188. package/dist/types/types.d.ts +213 -11
  189. package/dist/types/utils/PageCache.d.ts +20 -3
  190. package/dist/types/webex.d.ts +1 -0
  191. package/dist/types.js +168 -6
  192. package/dist/types.js.map +1 -1
  193. package/dist/utils/PageCache.js +19 -5
  194. package/dist/utils/PageCache.js.map +1 -1
  195. package/dist/webex.js +22 -2
  196. package/dist/webex.js.map +1 -1
  197. package/package.json +16 -12
  198. package/src/cc.ts +1338 -121
  199. package/src/config.ts +13 -0
  200. package/src/constants.ts +41 -1
  201. package/src/index.ts +62 -15
  202. package/src/metrics/MetricsManager.ts +16 -0
  203. package/src/metrics/ai-docs/AGENTS.md +350 -0
  204. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  205. package/src/metrics/ai-docs/metrics-spec.md +971 -0
  206. package/src/metrics/behavioral-events.ts +218 -0
  207. package/src/metrics/constants.ts +63 -4
  208. package/src/services/AddressBook.ts +17 -6
  209. package/src/services/AnswerCallOnWebexService.ts +239 -0
  210. package/src/services/ApiAiAssistant.ts +470 -15
  211. package/src/services/EntryPoint.ts +59 -60
  212. package/src/services/Queue.ts +29 -12
  213. package/src/services/UserPreference.ts +509 -0
  214. package/src/services/WebexCrossClientService.ts +298 -0
  215. package/src/services/WxAppTelephonyMercurySync.ts +142 -0
  216. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  217. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  218. package/src/services/agent/ai-docs/agent-spec.md +505 -0
  219. package/src/services/ai-docs/AGENTS.md +386 -0
  220. package/src/services/ai-docs/services-spec.md +505 -0
  221. package/src/services/config/Util.ts +54 -84
  222. package/src/services/config/ai-docs/AGENTS.md +250 -0
  223. package/src/services/config/ai-docs/ARCHITECTURE.md +413 -0
  224. package/src/services/config/ai-docs/config-spec.md +669 -0
  225. package/src/services/config/constants.ts +63 -85
  226. package/src/services/config/index.ts +116 -277
  227. package/src/services/config/types.ts +233 -125
  228. package/src/services/core/Err.ts +3 -0
  229. package/src/services/core/Utils.ts +127 -37
  230. package/src/services/core/WebexRequest.ts +3 -1
  231. package/src/services/core/ai-docs/AGENTS.md +381 -0
  232. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  233. package/src/services/core/ai-docs/core-spec.md +787 -0
  234. package/src/services/core/aqm-reqs.ts +30 -15
  235. package/src/services/core/types.ts +33 -1
  236. package/src/services/core/websocket/WebSocketManager.ts +2 -0
  237. package/src/services/core/websocket/types.ts +1 -1
  238. package/src/services/index.ts +1 -1
  239. package/src/services/task/Task.ts +1211 -0
  240. package/src/services/task/TaskFactory.ts +82 -0
  241. package/src/services/task/TaskManager.ts +1584 -643
  242. package/src/services/task/TaskUtils.ts +316 -25
  243. package/src/services/task/WebexCallingUtils.ts +136 -0
  244. package/src/services/task/ai-docs/AGENTS.md +457 -0
  245. package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
  246. package/src/services/task/ai-docs/task-spec.md +1501 -0
  247. package/src/services/task/constants.ts +20 -0
  248. package/src/services/task/contact.ts +30 -0
  249. package/src/services/task/dialer.ts +80 -0
  250. package/src/services/task/digital/Digital.ts +102 -0
  251. package/src/services/task/state-machine/TaskStateMachine.ts +1320 -0
  252. package/src/services/task/state-machine/actions.ts +741 -0
  253. package/src/services/task/state-machine/ai-docs/AGENTS.md +460 -0
  254. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1156 -0
  255. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2247 -0
  256. package/src/services/task/state-machine/constants.ts +172 -0
  257. package/src/services/task/state-machine/guards.ts +442 -0
  258. package/src/services/task/state-machine/index.ts +28 -0
  259. package/src/services/task/state-machine/types.ts +258 -0
  260. package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
  261. package/src/services/task/taskDataNormalizer.ts +137 -0
  262. package/src/services/task/types.ts +974 -70
  263. package/src/services/task/voice/Voice.ts +1878 -0
  264. package/src/services/task/voice/WebRTC.ts +194 -0
  265. package/src/services/task/voice/wxAppOfferObservability.ts +204 -0
  266. package/src/services/task/voice/wxAppVoiceMethods.ts +575 -0
  267. package/src/services/wxAppDiagnosticLogging.ts +286 -0
  268. package/src/services/wxAppTelephonyUtils.ts +14 -0
  269. package/src/types.ts +272 -13
  270. package/src/utils/AGENTS.md +289 -0
  271. package/src/utils/PageCache.ts +38 -5
  272. package/src/utils/ai-docs/utils-spec.md +391 -0
  273. package/src/webex.js +10 -0
  274. package/test/unit/fixtures/aiSummaryTestUtils.ts +40 -0
  275. package/test/unit/spec/cc.ts +3705 -150
  276. package/test/unit/spec/index.ts +885 -0
  277. package/test/unit/spec/logger-proxy.ts +70 -0
  278. package/test/unit/spec/metrics/MetricsManager.ts +25 -0
  279. package/test/unit/spec/metrics/behavioral-events.ts +60 -0
  280. package/test/unit/spec/services/AddressBook.ts +37 -6
  281. package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
  282. package/test/unit/spec/services/ApiAiAssistant.ts +429 -23
  283. package/test/unit/spec/services/EntryPoint.ts +87 -40
  284. package/test/unit/spec/services/Queue.ts +123 -12
  285. package/test/unit/spec/services/UserPreference.ts +401 -0
  286. package/test/unit/spec/services/WebCallingService.ts +7 -1
  287. package/test/unit/spec/services/WebexCrossClientService.ts +509 -0
  288. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
  289. package/test/unit/spec/services/config/Util.ts +501 -0
  290. package/test/unit/spec/services/config/index.ts +317 -547
  291. package/test/unit/spec/services/core/Utils.ts +425 -8
  292. package/test/unit/spec/services/core/WebexRequest.ts +8 -7
  293. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  294. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +66 -40
  295. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  296. package/test/unit/spec/services/task/Task.ts +2723 -0
  297. package/test/unit/spec/services/task/TaskFactory.ts +116 -0
  298. package/test/unit/spec/services/task/TaskManager.ts +4781 -1585
  299. package/test/unit/spec/services/task/TaskUtils.ts +307 -0
  300. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  301. package/test/unit/spec/services/task/contact.ts +33 -0
  302. package/test/unit/spec/services/task/dialer.ts +190 -0
  303. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  304. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +4060 -0
  305. package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
  306. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  307. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
  308. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  309. package/test/unit/spec/services/task/voice/Voice.ts +2355 -0
  310. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  311. package/test/unit/spec/services/task/voice/wxAppOfferObservability.ts +361 -0
  312. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +719 -0
  313. package/test/unit/spec/services/wxAppDiagnosticLogging.ts +179 -0
  314. package/test/unit/spec/wellnessSampleUtils.ts +288 -0
  315. package/typedoc.md +1 -1
  316. package/umd/contact-center.min.js +2 -2
  317. package/umd/contact-center.min.js.map +1 -1
  318. package/dist/services/task/index.js +0 -1530
  319. package/dist/services/task/index.js.map +0 -1
  320. package/dist/types/services/task/index.d.ts +0 -650
  321. package/src/services/task/index.ts +0 -1806
  322. package/test/unit/spec/services/task/index.ts +0 -2205
@@ -3,12 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TASK_EVENTS = exports.MEDIA_CHANNEL = exports.DESTINATION_TYPE = exports.CONSULT_TRANSFER_DESTINATION_TYPE = void 0;
6
+ exports.VOICE_VARIANT = exports.TASK_EVENTS = exports.TASK_CHANNEL_TYPE = exports.MEDIA_CHANNEL = exports.DESTINATION_TYPE = exports.CONSULT_TRANSFER_DESTINATION_TYPE = void 0;
7
+ /* eslint-disable import/no-cycle */
8
+
7
9
  /**
8
10
  * Unique identifier for a task in the contact center system
9
11
  * @public
10
12
  */
11
13
 
14
+ /**
15
+ * Unique identifier for a call in the Webex calling system
16
+ */
17
+
12
18
  /**
13
19
  * Helper type for creating enum-like objects with type safety
14
20
  * @internal
@@ -26,7 +32,7 @@ const DESTINATION_TYPE = exports.DESTINATION_TYPE = {
26
32
  DIALNUMBER: 'dialNumber',
27
33
  /** Route task to a specific agent */
28
34
  AGENT: 'agent',
29
- /** Route task to an entry point (supported only for consult operations) */
35
+ /** Route task to an entry point */
30
36
  ENTRYPOINT: 'entryPoint'
31
37
  };
32
38
 
@@ -58,6 +64,11 @@ const CONSULT_TRANSFER_DESTINATION_TYPE = exports.CONSULT_TRANSFER_DESTINATION_T
58
64
  * @public
59
65
  */
60
66
 
67
+ /**
68
+ * Agent-profile policy used by the task state machine to derive consult/transfer destinations.
69
+ * @internal
70
+ */
71
+
61
72
  /**
62
73
  * Defines all supported media channel types for customer interactions
63
74
  * These represent the different ways customers can communicate with agents
@@ -85,6 +96,21 @@ const MEDIA_CHANNEL = exports.MEDIA_CHANNEL = {
85
96
  * Derived from the MEDIA_CHANNEL constant
86
97
  * @public
87
98
  */
99
+
100
+ /**
101
+ * Supported task channel types for UI control configuration
102
+ */
103
+ const TASK_CHANNEL_TYPE = exports.TASK_CHANNEL_TYPE = {
104
+ VOICE: 'voice',
105
+ DIGITAL: 'digital'
106
+ };
107
+ /**
108
+ * Voice channel variants that toggle PSTN/WebRTC specific behaviors
109
+ */
110
+ const VOICE_VARIANT = exports.VOICE_VARIANT = {
111
+ PSTN: 'pstn',
112
+ WEBRTC: 'webrtc'
113
+ };
88
114
  /**
89
115
  * Enumeration of all task-related events that can occur in the contact center system
90
116
  * These events represent different states and actions in the task lifecycle
@@ -189,6 +215,14 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
189
215
  * ```
190
216
  */
191
217
  TASK_EVENTS["TASK_CONSULT_QUEUE_FAILED"] = "task:consultQueueFailed";
218
+ /**
219
+ * Triggered whenever task UI controls are recalculated
220
+ */
221
+ TASK_EVENTS["TASK_UI_CONTROLS_UPDATED"] = "task:ui-controls-updated";
222
+ /**
223
+ * Triggered when wxApp mute state changes from Webex App (Mercury sync or call details).
224
+ */
225
+ TASK_EVENTS["TASK_WXAPP_MUTE_STATE_UPDATED"] = "task:wxapp-mute-state-updated";
192
226
  /**
193
227
  * Triggered when a consultation request is accepted
194
228
  * @example
@@ -266,6 +300,22 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
266
300
  * ```
267
301
  */
268
302
  TASK_EVENTS["TASK_WRAPPEDUP"] = "task:wrappedup";
303
+ /**
304
+ * Triggered when the task state machine reaches a final state and resources should be cleaned up.
305
+ * Used internally by TaskManager to perform collection/call cleanup.
306
+ * @internal
307
+ */
308
+ TASK_EVENTS["TASK_CLEANUP"] = "task:cleanup";
309
+ /**
310
+ * Triggered when recording is started
311
+ * @example
312
+ * ```typescript
313
+ * task.on(TASK_EVENTS.TASK_RECORDING_STARTED, (task: ITask) => {
314
+ * console.log('Recording started:', task.data.interactionId);
315
+ * });
316
+ * ```
317
+ */
318
+ TASK_EVENTS["TASK_RECORDING_STARTED"] = "task:recordingStarted";
269
319
  /**
270
320
  * Triggered when recording is paused
271
321
  * @example
@@ -479,6 +529,40 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
479
529
  * ```
480
530
  */
481
531
  TASK_EVENTS["TASK_PARTICIPANT_LEFT_FAILED"] = "task:participantLeftFailed";
532
+ /**
533
+ * Triggered when agent initiates exit from conference
534
+ * @example
535
+ * ```typescript
536
+ * task.on(TASK_EVENTS.TASK_EXIT_CONFERENCE, (task: ITask) => {
537
+ * console.log('Exiting conference:', task.data.interactionId);
538
+ * // Handle conference exit initiation
539
+ * });
540
+ * ```
541
+ */
542
+ TASK_EVENTS["TASK_EXIT_CONFERENCE"] = "task:exitConference";
543
+ /**
544
+ * Triggered when agent initiates conference transfer
545
+ * @example
546
+ * ```typescript
547
+ * task.on(TASK_EVENTS.TASK_TRANSFER_CONFERENCE, (task: ITask) => {
548
+ * console.log('Transferring conference:', task.data.interactionId);
549
+ * // Handle conference transfer initiation
550
+ * });
551
+ * ```
552
+ */
553
+ TASK_EVENTS["TASK_TRANSFER_CONFERENCE"] = "task:transferConference";
554
+ /**
555
+ * Triggered when agent switches between consult call and main call.
556
+ * Use task.uiControls to determine current state and button visibility.
557
+ * @example
558
+ * ```typescript
559
+ * task.on(TASK_EVENTS.TASK_SWITCH_CALL, (task: ITask) => {
560
+ * console.log('Call switched:', task.data.interactionId);
561
+ * // Update UI based on task.uiControls.main.switch / task.uiControls.consult.switch
562
+ * });
563
+ * ```
564
+ */
565
+ TASK_EVENTS["TASK_SWITCH_CALL"] = "task:switchCall";
482
566
  /**
483
567
  * Triggered when a contact is merged
484
568
  * @example
@@ -501,6 +585,16 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
501
585
  * ```
502
586
  */
503
587
  TASK_EVENTS["TASK_POST_CALL_ACTIVITY"] = "task:postCallActivity";
588
+ /**
589
+ * Triggered when a multi-login task update should hydrate SDK instances without Mobius registration.
590
+ * @example
591
+ * ```typescript
592
+ * task.on(TASK_EVENTS.TASK_MULTI_LOGIN_HYDRATE, (task: ITask) => {
593
+ * console.log('Multi-login hydrate:', task.data.interactionId);
594
+ * });
595
+ * ```
596
+ */
597
+ TASK_EVENTS["TASK_MULTI_LOGIN_HYDRATE"] = "task:multiLoginHydrate";
504
598
  /**
505
599
  * Triggered when a campaign preview contact is offered to the agent
506
600
  * @example
@@ -512,6 +606,69 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
512
606
  * ```
513
607
  */
514
608
  TASK_EVENTS["TASK_CAMPAIGN_PREVIEW_RESERVATION"] = "task:campaignPreviewReservation";
609
+ /**
610
+ * Triggered when accepting a campaign preview contact fails
611
+ * @example
612
+ * ```typescript
613
+ * task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_ACCEPT_FAILED, (task: ITask) => {
614
+ * console.log('Campaign preview accept failed:', task.data.interactionId);
615
+ * // Handle accept failure
616
+ * });
617
+ * ```
618
+ */
619
+ TASK_EVENTS["TASK_CAMPAIGN_PREVIEW_ACCEPT_FAILED"] = "task:campaignPreviewAcceptFailed";
620
+ /**
621
+ * Triggered when skipping a campaign preview contact fails
622
+ * @example
623
+ * ```typescript
624
+ * task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_SKIP_FAILED, (task: ITask) => {
625
+ * console.log('Campaign preview skip failed:', task.data.interactionId);
626
+ * // Handle skip failure
627
+ * });
628
+ * ```
629
+ */
630
+ TASK_EVENTS["TASK_CAMPAIGN_PREVIEW_SKIP_FAILED"] = "task:campaignPreviewSkipFailed";
631
+ /**
632
+ * Triggered when removing a campaign preview contact fails
633
+ * @example
634
+ * ```typescript
635
+ * task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_REMOVE_FAILED, (task: ITask) => {
636
+ * console.log('Campaign preview remove failed:', task.data.interactionId);
637
+ * // Handle remove failure
638
+ * });
639
+ * ```
640
+ */
641
+ TASK_EVENTS["TASK_CAMPAIGN_PREVIEW_REMOVE_FAILED"] = "task:campaignPreviewRemoveFailed";
642
+ /**
643
+ * Triggered when a campaign contact is updated (e.g., after skip or remove, when the next contact is offered)
644
+ * @example
645
+ * ```typescript
646
+ * task.on(TASK_EVENTS.TASK_CAMPAIGN_CONTACT_UPDATED, (task: ITask) => {
647
+ * console.log('Campaign contact updated:', task.data.interactionId);
648
+ * // Handle updated campaign contact (e.g., display next contact)
649
+ * });
650
+ * ```
651
+ */
652
+ TASK_EVENTS["TASK_CAMPAIGN_CONTACT_UPDATED"] = "task:campaignContactUpdated";
653
+ /**
654
+ * Triggered when a mid-call summary is received for the task.
655
+ */
656
+ TASK_EVENTS["TASK_MID_CALL_SUMMARY_RECEIVED"] = "task:midCallSummaryReceived";
657
+ /**
658
+ * Triggered on the task object when AI feature enablement flags arrive for that task's interaction.
659
+ * Fires immediately if the frame arrived after the task was registered, or at registration time
660
+ * if the frame arrived before the task (orphan retention). Consumers should use this event
661
+ * instead of the cc-level `FEATURE_ENABLEMENT` event so they do not need to maintain an
662
+ * interactionId → flags map manually.
663
+ * @example
664
+ * ```typescript
665
+ * task.on(TASK_EVENTS.TASK_FEATURE_ENABLEMENT, (enablement: AISummaryFeatureEnablement) => {
666
+ * const { midCallEnabled, postCallEnabled } = enablement;
667
+ * // gate summary UI on these flags
668
+ * });
669
+ * ```
670
+ */
671
+ TASK_EVENTS["TASK_FEATURE_ENABLEMENT"] = "task:featureEnablement";
515
672
  return TASK_EVENTS;
516
673
  }({});
517
674
  /**
@@ -520,8 +677,28 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
520
677
  * @public
521
678
  */
522
679
  /**
523
- * Task payload containing detailed information about a contact center task
524
- * This structure encapsulates all relevant data for task management
680
+ * Media entry type from interaction.media
681
+ * Used for media state tracking in consult and conference scenarios
682
+ */
683
+ /**
684
+ * Task payload mirroring the Agent Contact event payload from Webex Contact Center
685
+ * (developer.webex.com). Arrives on AGENT_* websocket events and is the source of truth
686
+ * for UI/state machine updates.
687
+ * @public
688
+ */
689
+ /**
690
+ * UI control representation for a single interaction leg.
691
+ */
692
+ /** Options for {@link ITask.toggleMute} — wxApp engaged calls use `muted` for target state. */
693
+ /** Options for {@link ITask.transmitDtmf} — wxApp engaged in-call DTMF. */
694
+ /**
695
+ * UI controls surfaced to task consumers.
696
+ * Consumers should read controls from the per-leg surfaces and use `activeLeg`
697
+ * to determine which one is currently interactive.
698
+ */
699
+ /**
700
+ * Helper class for managing task action control state
701
+ * Tracks visibility and enabled state for task actions that can be executed
525
702
  * @public
526
703
  */
527
704
  /**
@@ -570,6 +747,10 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
570
747
  * Parameters for transferring a task to another destination
571
748
  * @public
572
749
  */
750
+ /**
751
+ * Options for configuring transfer behavior
752
+ * @public
753
+ */
573
754
  /**
574
755
  * API payload for ending a consultation
575
756
  * This is the actual payload that is sent to the developer API
@@ -603,14 +784,87 @@ let TASK_EVENTS = exports.TASK_EVENTS = /*#__PURE__*/function (TASK_EVENTS) {
603
784
  * Data structure for cleaning up contact resources
604
785
  * @public
605
786
  */
787
+ /**
788
+ * Boolean-like fields in callProcessingDetails that may arrive as strings.
789
+ * Used by taskDataNormalizer to coerce payloads to actual booleans.
790
+ */
791
+ /**
792
+ * Interaction-level boolean fields that may arrive as strings from backend payloads.
793
+ */
794
+ /**
795
+ * Participant boolean fields that may arrive as strings and need normalization.
796
+ */
606
797
  /**
607
798
  * Response type for task public methods
608
799
  * Can be an {@link AgentContact} object containing updated task state,
609
800
  * an Error in case of failure, or void for operations that don't return data
610
801
  * @public
611
802
  */
803
+ /** AI-assisted mid-call summary action. @public */
804
+ /** Feedback value sent with an AI summary response. @public */
805
+ /** AI summary response state for post-call and mid-call flows. @public */
806
+ /** Structured fields shared by post-call and mid-call summaries. @public */
807
+ /** RTD payload returned or delivered for an AI summary. @public */
808
+ /** RTD payload describing AI-summary feature enablement for an interaction. @public */
809
+ /** Current AI-summary capabilities for a task. @public */
810
+ /**
811
+ * Payload sent when reporting a post-call or mid-call summary result.
812
+ * Transport timestamps are generated by the SDK when the response is sent.
813
+ * @public
814
+ */
815
+ /**
816
+ * Request payload for removing a supported participant from an active conference.
817
+ * @public
818
+ */
819
+ /**
820
+ * Payload shape used by consult conference helper utilities.
821
+ */
822
+ /**
823
+ * Minimal event-emitter contract exposed to SDK consumers.
824
+ * Defined here so that consumers do NOT need `@types/node` in their tsconfig.
825
+ * The runtime Task class still extends Node's EventEmitter (via ampersand-events),
826
+ * which satisfies this interface at runtime.
827
+ * @public
828
+ */
612
829
  /**
613
830
  * Interface for managing task-related operations in the contact center
614
- * Extends EventEmitter to support event-driven task updates
831
+ * Extends IEventEmitter to support event-driven task updates
832
+ */
833
+ /**
834
+ * Interface for managing digital channel task operations in the contact center
835
+ * Digital channels (chat, email, social, SMS) have a simpler interface than voice
836
+ * Extends ITask but overrides updateTaskData to return IDigital
837
+ * @public
838
+ */
839
+ /**
840
+ * Interface for managing voice/telephony task operations in the contact center
841
+ * Extends ITask with voice-specific functionality for hold/resume operations
842
+ * @public
843
+ */
844
+ /**
845
+ * Configuration options for voice task UI controls
846
+ */
847
+ /**
848
+ * Participant information for UI display
849
+ */
850
+ /**
851
+ * @deprecated Use Participant instead
852
+ */
853
+ /**
854
+ * Actions to be performed after handling an event
855
+ *
856
+ * These actions represent TaskManager-level concerns (task collection lifecycle,
857
+ * resource cleanup) rather than task-level state machine concerns. The separation
858
+ * ensures proper responsibility:
859
+ * - TaskManager: Collection management, metrics, cleanup
860
+ * - State Machine: Task state transitions, event emissions, UI controls
861
+ */
862
+ /**
863
+ * Context for processing an event
864
+ *
865
+ * Contains all information needed to process a WebSocket event:
866
+ * - Event type and payload from the backend
867
+ * - Task instance (if exists)
868
+ * - Pre-mapped state machine event (if applicable)
615
869
  */
616
870
  //# sourceMappingURL=types.js.map