@webex/contact-center 3.12.0-next.12 → 3.12.0-next.121

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 (307) hide show
  1. package/.sdd/manifest.json +884 -0
  2. package/AGENTS.md +94 -0
  3. package/ai-docs/ARCHITECTURE.md +168 -0
  4. package/ai-docs/CONTRACTS.md +51 -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 +48 -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 +359 -0
  17. package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
  18. package/ai-docs/features/generated-spec-conformance-fidelity-remediation/spec/feature-spec.md +117 -0
  19. package/ai-docs/features/residual-warning-coverage-completion/spec/feature-spec.md +203 -0
  20. package/ai-docs/features/validator-code-fidelity-drift-fix/spec/feature-spec.md +315 -0
  21. package/ai-docs/patterns/event-driven-patterns.md +485 -0
  22. package/ai-docs/patterns/testing-patterns.md +480 -0
  23. package/ai-docs/patterns/typescript-patterns.md +365 -0
  24. package/ai-docs/templates/README.md +102 -0
  25. package/ai-docs/templates/documentation/create-agents-md.md +240 -0
  26. package/ai-docs/templates/documentation/create-architecture-md.md +295 -0
  27. package/ai-docs/templates/existing-service/bug-fix.md +254 -0
  28. package/ai-docs/templates/existing-service/feature-enhancement.md +450 -0
  29. package/ai-docs/templates/new-method/00-master.md +80 -0
  30. package/ai-docs/templates/new-method/01-requirements.md +232 -0
  31. package/ai-docs/templates/new-method/02-implementation.md +295 -0
  32. package/ai-docs/templates/new-method/03-tests.md +201 -0
  33. package/ai-docs/templates/new-method/04-validation.md +141 -0
  34. package/ai-docs/templates/new-service/00-master.md +109 -0
  35. package/ai-docs/templates/new-service/01-pre-questions.md +159 -0
  36. package/ai-docs/templates/new-service/02-code-generation.md +346 -0
  37. package/ai-docs/templates/new-service/03-integration.md +178 -0
  38. package/ai-docs/templates/new-service/04-test-generation.md +205 -0
  39. package/ai-docs/templates/new-service/05-validation.md +145 -0
  40. package/dist/cc.js +808 -40
  41. package/dist/cc.js.map +1 -1
  42. package/dist/config.js +13 -0
  43. package/dist/config.js.map +1 -1
  44. package/dist/constants.js +27 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/index.js +20 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/metrics/MetricsManager.js +16 -0
  49. package/dist/metrics/MetricsManager.js.map +1 -1
  50. package/dist/metrics/behavioral-events.js +205 -0
  51. package/dist/metrics/behavioral-events.js.map +1 -1
  52. package/dist/metrics/constants.js +43 -4
  53. package/dist/metrics/constants.js.map +1 -1
  54. package/dist/services/AddressBook.js +18 -15
  55. package/dist/services/AddressBook.js.map +1 -1
  56. package/dist/services/AnswerCallOnWebexService.js +202 -0
  57. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  58. package/dist/services/ApiAiAssistant.js +153 -8
  59. package/dist/services/ApiAiAssistant.js.map +1 -1
  60. package/dist/services/EntryPoint.js +46 -68
  61. package/dist/services/EntryPoint.js.map +1 -1
  62. package/dist/services/Queue.js +27 -22
  63. package/dist/services/Queue.js.map +1 -1
  64. package/dist/services/UserPreference.js +427 -0
  65. package/dist/services/UserPreference.js.map +1 -0
  66. package/dist/services/WebexCrossClientService.js +222 -0
  67. package/dist/services/WebexCrossClientService.js.map +1 -0
  68. package/dist/services/WxAppTelephonyMercurySync.js +108 -0
  69. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  70. package/dist/services/config/Util.js +6 -3
  71. package/dist/services/config/Util.js.map +1 -1
  72. package/dist/services/config/constants.js +33 -8
  73. package/dist/services/config/constants.js.map +1 -1
  74. package/dist/services/config/types.js +53 -9
  75. package/dist/services/config/types.js.map +1 -1
  76. package/dist/services/core/Err.js.map +1 -1
  77. package/dist/services/core/Utils.js +107 -32
  78. package/dist/services/core/Utils.js.map +1 -1
  79. package/dist/services/core/WebexRequest.js +6 -2
  80. package/dist/services/core/WebexRequest.js.map +1 -1
  81. package/dist/services/core/aqm-reqs.js +28 -14
  82. package/dist/services/core/aqm-reqs.js.map +1 -1
  83. package/dist/services/core/types.js.map +1 -1
  84. package/dist/services/core/websocket/WebSocketManager.js +2 -1
  85. package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
  86. package/dist/services/core/websocket/types.js.map +1 -1
  87. package/dist/services/index.js +1 -1
  88. package/dist/services/index.js.map +1 -1
  89. package/dist/services/task/Task.js +754 -0
  90. package/dist/services/task/Task.js.map +1 -0
  91. package/dist/services/task/TaskFactory.js +49 -0
  92. package/dist/services/task/TaskFactory.js.map +1 -0
  93. package/dist/services/task/TaskManager.js +1053 -520
  94. package/dist/services/task/TaskManager.js.map +1 -1
  95. package/dist/services/task/TaskUtils.js +211 -27
  96. package/dist/services/task/TaskUtils.js.map +1 -1
  97. package/dist/services/task/WebexCallingUtils.js +70 -0
  98. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  99. package/dist/services/task/constants.js +12 -2
  100. package/dist/services/task/constants.js.map +1 -1
  101. package/dist/services/task/contact.js +29 -0
  102. package/dist/services/task/contact.js.map +1 -1
  103. package/dist/services/task/dialer.js +78 -0
  104. package/dist/services/task/dialer.js.map +1 -1
  105. package/dist/services/task/digital/Digital.js +78 -0
  106. package/dist/services/task/digital/Digital.js.map +1 -0
  107. package/dist/services/task/state-machine/TaskStateMachine.js +954 -0
  108. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
  109. package/dist/services/task/state-machine/actions.js +572 -0
  110. package/dist/services/task/state-machine/actions.js.map +1 -0
  111. package/dist/services/task/state-machine/constants.js +161 -0
  112. package/dist/services/task/state-machine/constants.js.map +1 -0
  113. package/dist/services/task/state-machine/guards.js +379 -0
  114. package/dist/services/task/state-machine/guards.js.map +1 -0
  115. package/dist/services/task/state-machine/index.js +53 -0
  116. package/dist/services/task/state-machine/index.js.map +1 -0
  117. package/dist/services/task/state-machine/types.js +54 -0
  118. package/dist/services/task/state-machine/types.js.map +1 -0
  119. package/dist/services/task/state-machine/uiControlsComputer.js +703 -0
  120. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
  121. package/dist/services/task/taskDataNormalizer.js +99 -0
  122. package/dist/services/task/taskDataNormalizer.js.map +1 -0
  123. package/dist/services/task/types.js +228 -5
  124. package/dist/services/task/types.js.map +1 -1
  125. package/dist/services/task/voice/Voice.js +1447 -0
  126. package/dist/services/task/voice/Voice.js.map +1 -0
  127. package/dist/services/task/voice/WebRTC.js +152 -0
  128. package/dist/services/task/voice/WebRTC.js.map +1 -0
  129. package/dist/services/task/voice/wxAppVoiceMethods.js +354 -0
  130. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  131. package/dist/services/wxAppDiagnosticLogging.js +122 -0
  132. package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
  133. package/dist/services/wxAppTelephonyUtils.js +19 -0
  134. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  135. package/dist/types/cc.d.ts +172 -5
  136. package/dist/types/config.d.ts +13 -0
  137. package/dist/types/constants.d.ts +25 -1
  138. package/dist/types/index.d.ts +24 -7
  139. package/dist/types/metrics/MetricsManager.d.ts +6 -0
  140. package/dist/types/metrics/constants.d.ts +38 -1
  141. package/dist/types/services/AddressBook.d.ts +2 -1
  142. package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
  143. package/dist/types/services/ApiAiAssistant.d.ts +22 -4
  144. package/dist/types/services/EntryPoint.d.ts +7 -5
  145. package/dist/types/services/Queue.d.ts +5 -3
  146. package/dist/types/services/UserPreference.d.ts +118 -0
  147. package/dist/types/services/WebexCrossClientService.d.ts +32 -0
  148. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  149. package/dist/types/services/config/constants.d.ts +29 -5
  150. package/dist/types/services/config/types.d.ts +184 -10
  151. package/dist/types/services/core/Err.d.ts +6 -0
  152. package/dist/types/services/core/Utils.d.ts +33 -13
  153. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  154. package/dist/types/services/core/types.d.ts +2 -0
  155. package/dist/types/services/core/websocket/WebSocketManager.d.ts +1 -0
  156. package/dist/types/services/core/websocket/types.d.ts +1 -1
  157. package/dist/types/services/index.d.ts +1 -1
  158. package/dist/types/services/task/Task.d.ts +175 -0
  159. package/dist/types/services/task/TaskFactory.d.ts +13 -0
  160. package/dist/types/services/task/TaskUtils.d.ts +48 -2
  161. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  162. package/dist/types/services/task/constants.d.ts +10 -0
  163. package/dist/types/services/task/contact.d.ts +4 -0
  164. package/dist/types/services/task/dialer.d.ts +30 -0
  165. package/dist/types/services/task/digital/Digital.d.ts +22 -0
  166. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1356 -0
  167. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  168. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  169. package/dist/types/services/task/state-machine/guards.d.ts +103 -0
  170. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  171. package/dist/types/services/task/state-machine/types.d.ts +277 -0
  172. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  173. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  174. package/dist/types/services/task/types.d.ts +680 -66
  175. package/dist/types/services/task/voice/Voice.d.ts +227 -0
  176. package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
  177. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +55 -0
  178. package/dist/types/services/wxAppDiagnosticLogging.d.ts +51 -0
  179. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  180. package/dist/types/types.d.ts +149 -8
  181. package/dist/types/utils/PageCache.d.ts +20 -3
  182. package/dist/types/webex.d.ts +1 -0
  183. package/dist/types.js +125 -4
  184. package/dist/types.js.map +1 -1
  185. package/dist/utils/PageCache.js +19 -5
  186. package/dist/utils/PageCache.js.map +1 -1
  187. package/dist/webex.js +14 -2
  188. package/dist/webex.js.map +1 -1
  189. package/package.json +16 -12
  190. package/src/cc.ts +986 -42
  191. package/src/config.ts +13 -0
  192. package/src/constants.ts +25 -1
  193. package/src/index.ts +25 -5
  194. package/src/metrics/MetricsManager.ts +16 -0
  195. package/src/metrics/ai-docs/AGENTS.md +350 -0
  196. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  197. package/src/metrics/ai-docs/metrics-spec.md +922 -0
  198. package/src/metrics/behavioral-events.ts +212 -0
  199. package/src/metrics/constants.ts +47 -4
  200. package/src/services/AddressBook.ts +17 -6
  201. package/src/services/AnswerCallOnWebexService.ts +239 -0
  202. package/src/services/ApiAiAssistant.ts +203 -8
  203. package/src/services/EntryPoint.ts +59 -60
  204. package/src/services/Queue.ts +29 -12
  205. package/src/services/UserPreference.ts +509 -0
  206. package/src/services/WebexCrossClientService.ts +293 -0
  207. package/src/services/WxAppTelephonyMercurySync.ts +142 -0
  208. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  209. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  210. package/src/services/agent/ai-docs/agent-spec.md +505 -0
  211. package/src/services/ai-docs/AGENTS.md +386 -0
  212. package/src/services/ai-docs/services-spec.md +497 -0
  213. package/src/services/config/Util.ts +6 -3
  214. package/src/services/config/ai-docs/AGENTS.md +255 -0
  215. package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
  216. package/src/services/config/ai-docs/config-spec.md +675 -0
  217. package/src/services/config/constants.ts +35 -7
  218. package/src/services/config/types.ts +186 -11
  219. package/src/services/core/Err.ts +3 -0
  220. package/src/services/core/Utils.ts +123 -37
  221. package/src/services/core/WebexRequest.ts +3 -1
  222. package/src/services/core/ai-docs/AGENTS.md +381 -0
  223. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  224. package/src/services/core/ai-docs/core-spec.md +787 -0
  225. package/src/services/core/aqm-reqs.ts +30 -15
  226. package/src/services/core/types.ts +2 -0
  227. package/src/services/core/websocket/WebSocketManager.ts +2 -0
  228. package/src/services/core/websocket/types.ts +1 -1
  229. package/src/services/index.ts +1 -1
  230. package/src/services/task/Task.ts +908 -0
  231. package/src/services/task/TaskFactory.ts +60 -0
  232. package/src/services/task/TaskManager.ts +1239 -608
  233. package/src/services/task/TaskUtils.ts +303 -25
  234. package/src/services/task/WebexCallingUtils.ts +136 -0
  235. package/src/services/task/ai-docs/AGENTS.md +457 -0
  236. package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
  237. package/src/services/task/ai-docs/task-spec.md +1470 -0
  238. package/src/services/task/constants.ts +10 -0
  239. package/src/services/task/contact.ts +30 -0
  240. package/src/services/task/dialer.ts +80 -0
  241. package/src/services/task/digital/Digital.ts +97 -0
  242. package/src/services/task/state-machine/TaskStateMachine.ts +1293 -0
  243. package/src/services/task/state-machine/actions.ts +741 -0
  244. package/src/services/task/state-machine/ai-docs/AGENTS.md +460 -0
  245. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1145 -0
  246. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2207 -0
  247. package/src/services/task/state-machine/constants.ts +172 -0
  248. package/src/services/task/state-machine/guards.ts +442 -0
  249. package/src/services/task/state-machine/index.ts +28 -0
  250. package/src/services/task/state-machine/types.ts +258 -0
  251. package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
  252. package/src/services/task/taskDataNormalizer.ts +137 -0
  253. package/src/services/task/types.ts +819 -70
  254. package/src/services/task/voice/Voice.ts +1809 -0
  255. package/src/services/task/voice/WebRTC.ts +191 -0
  256. package/src/services/task/voice/wxAppVoiceMethods.ts +516 -0
  257. package/src/services/wxAppDiagnosticLogging.ts +174 -0
  258. package/src/services/wxAppTelephonyUtils.ts +14 -0
  259. package/src/types.ts +199 -11
  260. package/src/utils/AGENTS.md +289 -0
  261. package/src/utils/PageCache.ts +38 -5
  262. package/src/utils/ai-docs/utils-spec.md +391 -0
  263. package/src/webex.js +2 -0
  264. package/test/unit/spec/cc.ts +1947 -124
  265. package/test/unit/spec/logger-proxy.ts +70 -0
  266. package/test/unit/spec/metrics/MetricsManager.ts +25 -0
  267. package/test/unit/spec/metrics/behavioral-events.ts +60 -0
  268. package/test/unit/spec/services/AddressBook.ts +37 -6
  269. package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
  270. package/test/unit/spec/services/ApiAiAssistant.ts +178 -20
  271. package/test/unit/spec/services/EntryPoint.ts +87 -40
  272. package/test/unit/spec/services/Queue.ts +123 -12
  273. package/test/unit/spec/services/UserPreference.ts +401 -0
  274. package/test/unit/spec/services/WebCallingService.ts +7 -1
  275. package/test/unit/spec/services/WebexCrossClientService.ts +467 -0
  276. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
  277. package/test/unit/spec/services/config/Util.ts +85 -0
  278. package/test/unit/spec/services/config/index.ts +30 -30
  279. package/test/unit/spec/services/core/Utils.ts +425 -8
  280. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  281. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  282. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +66 -40
  283. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  284. package/test/unit/spec/services/task/Task.ts +677 -0
  285. package/test/unit/spec/services/task/TaskFactory.ts +99 -0
  286. package/test/unit/spec/services/task/TaskManager.ts +1972 -1549
  287. package/test/unit/spec/services/task/TaskUtils.ts +235 -0
  288. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  289. package/test/unit/spec/services/task/contact.ts +33 -0
  290. package/test/unit/spec/services/task/dialer.ts +190 -0
  291. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  292. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +3459 -0
  293. package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
  294. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  295. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
  296. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  297. package/test/unit/spec/services/task/voice/Voice.ts +1903 -0
  298. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  299. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +603 -0
  300. package/test/unit/spec/services/wxAppDiagnosticLogging.ts +143 -0
  301. package/umd/contact-center.min.js +2 -2
  302. package/umd/contact-center.min.js.map +1 -1
  303. package/dist/services/task/index.js +0 -1525
  304. package/dist/services/task/index.js.map +0 -1
  305. package/dist/types/services/task/index.d.ts +0 -650
  306. package/src/services/task/index.ts +0 -1801
  307. package/test/unit/spec/services/task/index.ts +0 -2184
@@ -0,0 +1,118 @@
1
+ import { WebexSDK } from '../types';
2
+ import type { UserPreference as UserPreferenceResponse, CreateUserPreferenceRequest, UpdateUserPreferenceRequest, GetUserPreferenceParams } from './config/types';
3
+ /**
4
+ * UserPreference API class for managing Webex Contact Center user preferences.
5
+ * Provides functionality to get, create, update, and delete user preferences.
6
+ *
7
+ * @class UserPreference
8
+ * @public
9
+ * @example
10
+ * ```typescript
11
+ * import Webex from 'webex';
12
+ *
13
+ * const webex = new Webex({ credentials: 'YOUR_ACCESS_TOKEN' });
14
+ * const cc = webex.cc;
15
+ *
16
+ * // Register and login first
17
+ * await cc.register();
18
+ * await cc.stationLogin({ teamId: 'team123', loginOption: 'BROWSER' });
19
+ *
20
+ * // Get UserPreference API instance from ContactCenter
21
+ * const userPreferenceAPI = cc.userPreference;
22
+ *
23
+ * // Get user preferences for the current user
24
+ * const preferences = await userPreferenceAPI.getUserPreference();
25
+ *
26
+ * // Create new user preferences
27
+ * const newPreferences = await userPreferenceAPI.createUserPreference({
28
+ * userId: 'user123',
29
+ * preferences: { e911Reminder: true }
30
+ * });
31
+ *
32
+ * // Update user preferences
33
+ * const updatedPreferences = await userPreferenceAPI.updateUserPreference('user123', {
34
+ * preferences: { e911Reminder: false }
35
+ * });
36
+ *
37
+ * // Delete user preferences
38
+ * await userPreferenceAPI.deleteUserPreference('user123');
39
+ * ```
40
+ */
41
+ export declare class UserPreference {
42
+ private webexRequest;
43
+ private webex;
44
+ private getUserId;
45
+ private metricsManager;
46
+ /**
47
+ * Creates an instance of UserPreference
48
+ * @param {WebexSDK} webex - The Webex SDK instance
49
+ * @param {() => string} getUserId - Function to get the current user's CI user ID
50
+ * @public
51
+ */
52
+ constructor(webex: WebexSDK, getUserId: () => string);
53
+ /**
54
+ * Fetches user preferences for a specific user
55
+ * @param {GetUserPreferenceParams} [params] - Optional parameters for fetching preferences
56
+ * @param {string} [params.userId] - User ID to fetch preferences for. Defaults to current user's CI user ID.
57
+ * @param {number} [params.page=0] - Page number (0-indexed). Default: 0
58
+ * @param {number} [params.pageSize=100] - Number of items per page. Default: 100
59
+ * @returns {Promise<UserPreferenceResponse>} Promise resolving to user preferences
60
+ * @throws {Error} If the API call fails
61
+ * @public
62
+ * @example
63
+ * ```typescript
64
+ * // Get preferences for current user
65
+ * const preferences = await userPreferenceAPI.getUserPreference();
66
+ *
67
+ * // Get preferences for a specific user
68
+ * const preferences = await userPreferenceAPI.getUserPreference({ userId: 'user123' });
69
+ *
70
+ * // Get preferences with pagination
71
+ * const preferences = await userPreferenceAPI.getUserPreference({ page: 0, pageSize: 50 });
72
+ * ```
73
+ */
74
+ getUserPreference(params?: GetUserPreferenceParams): Promise<UserPreferenceResponse>;
75
+ /**
76
+ * Creates new user preferences
77
+ * @param {CreateUserPreferenceRequest} data - The user preference data to create
78
+ * @returns {Promise<UserPreference>} Promise resolving to created user preferences
79
+ * @throws {Error} If the API call fails
80
+ * @public
81
+ * @example
82
+ * ```typescript
83
+ * const newPreferences = await userPreferenceAPI.createUserPreference({
84
+ * userId: 'user123',
85
+ * preferences: { e911Reminder: true, notificationSettings: { email: true } }
86
+ * });
87
+ * ```
88
+ */
89
+ createUserPreference(data: CreateUserPreferenceRequest): Promise<UserPreferenceResponse>;
90
+ /**
91
+ * Updates existing user preferences
92
+ * @param {string} userId - User ID to update preferences for
93
+ * @param {UpdateUserPreferenceRequest} data - The user preference data to update
94
+ * @returns {Promise<UserPreference>} Promise resolving to updated user preferences
95
+ * @throws {Error} If the API call fails
96
+ * @public
97
+ * @example
98
+ * ```typescript
99
+ * const updatedPreferences = await userPreferenceAPI.updateUserPreference('user123', {
100
+ * preferences: { e911Reminder: false }
101
+ * });
102
+ * ```
103
+ */
104
+ updateUserPreference(userId: string, data: UpdateUserPreferenceRequest): Promise<UserPreferenceResponse>;
105
+ /**
106
+ * Deletes user preferences for a specific user
107
+ * @param {string} userId - User ID to delete preferences for
108
+ * @returns {Promise<void>} Promise resolving when deletion is complete
109
+ * @throws {Error} If the API call fails
110
+ * @public
111
+ * @example
112
+ * ```typescript
113
+ * await userPreferenceAPI.deleteUserPreference('user123');
114
+ * ```
115
+ */
116
+ deleteUserPreference(userId: string): Promise<void>;
117
+ }
118
+ export default UserPreference;
@@ -0,0 +1,32 @@
1
+ import { WebexSDK } from '../types';
2
+ /**
3
+ * Publishes usersub cross-client state so Webex App suppresses native calling toasts (WXCC-6026).
4
+ */
5
+ export default class WebexCrossClientService {
6
+ private webex;
7
+ private refreshTimer?;
8
+ private refreshRetryTimer?;
9
+ private answerCallsState;
10
+ private appName;
11
+ /** Incremented on teardown/disable to ignore stale refresh timer callbacks. */
12
+ private refreshGeneration;
13
+ /** Monotonic id for usersub publish metrics timers; stale publishes cancel only their own timer. */
14
+ private usersubPublishMetricsId;
15
+ constructor(webex: WebexSDK);
16
+ private extractDeviceIdFromUrl;
17
+ private getDeviceUrl;
18
+ private clearRefreshTimer;
19
+ private scheduleRefreshRetry;
20
+ private startRefreshTimer;
21
+ private publishCrossClientState;
22
+ setManageWebexCallingInWxcc(enable: boolean, options?: {
23
+ userId?: string;
24
+ ttl?: number;
25
+ appName?: string;
26
+ trackPublishMetrics?: boolean;
27
+ }): Promise<void>;
28
+ private trackUsersubPreflightFailure;
29
+ teardown(): void;
30
+ /** Whether usersub `answer-calls-on-wxcc: true` was successfully published this session. */
31
+ isAnswerCallsStateActive(): boolean;
32
+ }
@@ -0,0 +1,28 @@
1
+ import { WebexSDK } from '../types';
2
+ export declare const TELEPHONY_CALL_MUTED = "event:telephony_calls.muted";
3
+ export declare const TELEPHONY_CALL_UNMUTED = "event:telephony_calls.unmuted";
4
+ export type UpdatedCallMuteStateEvent = {
5
+ data: {
6
+ actorId: string;
7
+ callId: string;
8
+ muted: boolean;
9
+ };
10
+ };
11
+ type MuteChangeHandler = (callId: string, muted: boolean) => void;
12
+ /**
13
+ * Subscribes to Mercury telephony mute/unmute events for wxApp thick-client sync (AD parity).
14
+ */
15
+ export default class WxAppTelephonyMercurySync {
16
+ private webex;
17
+ private subscribedAgentId?;
18
+ private muteChangeHandler?;
19
+ private boundMuteHandler?;
20
+ private boundUnmuteHandler?;
21
+ constructor(webex: WebexSDK);
22
+ private decodeBase64;
23
+ private handleMuteStateEvent;
24
+ subscribe(agentId: string, onMuteChange: MuteChangeHandler): void;
25
+ unsubscribe(): void;
26
+ isSubscribed(): boolean;
27
+ }
28
+ export {};
@@ -1,4 +1,10 @@
1
1
  export declare const DEFAULT_PAGE = 0;
2
+ /** Desktop Profile access levels for collaboration destination categories. */
3
+ export declare const COLLABORATION_ACCESS: {
4
+ readonly ALL: "ALL";
5
+ readonly SPECIFIC: "SPECIFIC";
6
+ readonly NONE: "NONE";
7
+ };
2
8
  /**
3
9
  * Default page size for paginated API requests.
4
10
  * @type {number}
@@ -212,16 +218,13 @@ export declare const endPointMap: {
212
218
  */
213
219
  queueList: (orgId: string, queryParams: string) => string;
214
220
  /**
215
- * Gets the endpoint for entry points list with custom query parameters.
221
+ * Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.
216
222
  * @param orgId - Organization ID.
217
223
  * @param queryParams - Query parameters string.
218
224
  * @returns The endpoint URL string.
219
- * @public
220
- * @example
221
- * const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');
222
225
  * @ignore
223
226
  */
224
- entryPointList: (orgId: string, queryParams: string) => string;
227
+ entryPointDialNumberList: (orgId: string, queryParams: string) => string;
225
228
  /**
226
229
  * Gets the endpoint for address book entries with custom query parameters.
227
230
  * @param orgId - Organization ID.
@@ -246,4 +249,25 @@ export declare const endPointMap: {
246
249
  * @ignore
247
250
  */
248
251
  outdialAniEntries: (orgId: string, outdialANI: string, queryParams: string) => string;
252
+ /**
253
+ * Gets the endpoint for user preference by user ID.
254
+ * @param orgId - Organization ID.
255
+ * @param userId - User ID.
256
+ * @returns The endpoint URL string.
257
+ * @public
258
+ * @example
259
+ * const url = endPointMap.userPreference('org123', 'user456');
260
+ * @ignore
261
+ */
262
+ userPreference: (orgId: string, userId: string) => string;
263
+ /**
264
+ * Gets the endpoint for creating user preference.
265
+ * @param orgId - Organization ID.
266
+ * @returns The endpoint URL string.
267
+ * @public
268
+ * @example
269
+ * const url = endPointMap.userPreferenceCreate('org123');
270
+ * @ignore
271
+ */
272
+ userPreferenceCreate: (orgId: string) => string;
249
273
  };
@@ -1,4 +1,7 @@
1
1
  import * as Agent from '../agent/types';
2
+ import { COLLABORATION_ACCESS } from './constants';
3
+ /** Desktop Profile access level for a collaboration destination category. */
4
+ export type CollaborationAccess = Enum<typeof COLLABORATION_ACCESS>;
2
5
  /**
3
6
  * Events emitted on task objects
4
7
  * @enum {string}
@@ -50,6 +53,8 @@ export declare const CC_TASK_EVENTS: {
50
53
  readonly PARTICIPANT_LEFT_CONFERENCE: "ParticipantLeftConference";
51
54
  /** Event emitted when participant leaving conference fails */
52
55
  readonly PARTICIPANT_LEFT_CONFERENCE_FAILED: "ParticipantLeftConferenceFailed";
56
+ /** Event emitted when dropping another conference participant fails */
57
+ readonly PARTICIPANT_DROP_CONFERENCE_FAILED: "ParticipantDropConferenceFailed";
53
58
  /** Event emitted when consultation conference end fails */
54
59
  readonly AGENT_CONSULT_CONFERENCE_END_FAILED: "AgentConsultConferenceEndFailed";
55
60
  /** Event emitted when conference is successfully transferred */
@@ -58,6 +63,8 @@ export declare const CC_TASK_EVENTS: {
58
63
  readonly AGENT_CONFERENCE_TRANSFER_FAILED: "AgentConferenceTransferFailed";
59
64
  /** Event emitted for post-call activity by participant */
60
65
  readonly PARTICIPANT_POST_CALL_ACTIVITY: "ParticipantPostCallActivity";
66
+ /** Event emitted when consulted participant is being moved/transferred */
67
+ readonly CONSULTED_PARTICIPANT_MOVING: "ConsultedParticipantMoving";
61
68
  /** Event emitted when contact is blind transferred */
62
69
  readonly AGENT_BLIND_TRANSFERRED: "AgentBlindTransferred";
63
70
  /** Event emitted when blind transfer fails */
@@ -74,6 +81,8 @@ export declare const CC_TASK_EVENTS: {
74
81
  readonly AGENT_CONSULT_TRANSFER_FAILED: "AgentConsultTransferFailed";
75
82
  /** Event emitted when contact recording is paused */
76
83
  readonly CONTACT_RECORDING_PAUSED: "ContactRecordingPaused";
84
+ /** Event emitted when contact recording is started */
85
+ readonly CONTACT_RECORDING_STARTED: "ContactRecordingStarted";
77
86
  /** Event emitted when pausing contact recording fails */
78
87
  readonly CONTACT_RECORDING_PAUSE_FAILED: "ContactRecordingPauseFailed";
79
88
  /** Event emitted when contact recording is resumed */
@@ -84,6 +93,10 @@ export declare const CC_TASK_EVENTS: {
84
93
  readonly CONTACT_ENDED: "ContactEnded";
85
94
  /** Event emitted when contact is merged */
86
95
  readonly CONTACT_MERGED: "ContactMerged";
96
+ /** Event emitted when contact payload is updated (routing updates) */
97
+ readonly CONTACT_UPDATED: "ContactUpdated";
98
+ /** Event emitted when contact owner changes */
99
+ readonly CONTACT_OWNER_CHANGED: "ContactOwnerChanged";
87
100
  /** Event emitted when ending contact fails */
88
101
  readonly AGENT_CONTACT_END_FAILED: "AgentContactEndFailed";
89
102
  /** Event emitted when agent enters wrap-up state */
@@ -110,8 +123,20 @@ export declare const CC_TASK_EVENTS: {
110
123
  readonly CAMPAIGN_CONTACT_UPDATED: "CampaignContactUpdated";
111
124
  /** Event emitted when accepting a campaign preview contact fails */
112
125
  readonly CAMPAIGN_PREVIEW_ACCEPT_FAILED: "CampaignPreviewAcceptFailed";
126
+ /** Event emitted when skipping a campaign preview contact fails */
127
+ readonly CAMPAIGN_PREVIEW_SKIP_FAILED: "CampaignPreviewSkipFailed";
128
+ /** Event emitted when removing a campaign preview contact fails */
129
+ readonly CAMPAIGN_PREVIEW_REMOVE_FAILED: "CampaignPreviewRemoveFailed";
113
130
  /** Event emitted when a real-time transcript chunk is received */
114
131
  readonly REAL_TIME_TRANSCRIPTION: "REAL_TIME_TRANSCRIPTION";
132
+ /** Event emitted when an AI assistant suggested response is available */
133
+ readonly SUGGESTED_RESPONSE: "SUGGESTED_RESPONSE";
134
+ /** Event emitted when backend acknowledges it is listening for more context */
135
+ readonly SUGGESTED_RESPONSE_ACKNOWLEDGE: "SUGGESTED_RESPONSE_ACKNOWLEDGE";
136
+ /** Event emitted when a mid-call summary is available */
137
+ readonly MID_CALL_SUMMARY: "MID_CALL_SUMMARY";
138
+ /** Event emitted when a post-call summary is available */
139
+ readonly POST_CALL_SUMMARY: "POST_CALL_SUMMARY";
115
140
  };
116
141
  /**
117
142
  * Events emitted on Contact Center agent operations
@@ -207,6 +232,8 @@ export declare const CC_EVENTS: {
207
232
  readonly PARTICIPANT_LEFT_CONFERENCE: "ParticipantLeftConference";
208
233
  /** Event emitted when participant leaving conference fails */
209
234
  readonly PARTICIPANT_LEFT_CONFERENCE_FAILED: "ParticipantLeftConferenceFailed";
235
+ /** Event emitted when dropping another conference participant fails */
236
+ readonly PARTICIPANT_DROP_CONFERENCE_FAILED: "ParticipantDropConferenceFailed";
210
237
  /** Event emitted when consultation conference end fails */
211
238
  readonly AGENT_CONSULT_CONFERENCE_END_FAILED: "AgentConsultConferenceEndFailed";
212
239
  /** Event emitted when conference is successfully transferred */
@@ -215,6 +242,8 @@ export declare const CC_EVENTS: {
215
242
  readonly AGENT_CONFERENCE_TRANSFER_FAILED: "AgentConferenceTransferFailed";
216
243
  /** Event emitted for post-call activity by participant */
217
244
  readonly PARTICIPANT_POST_CALL_ACTIVITY: "ParticipantPostCallActivity";
245
+ /** Event emitted when consulted participant is being moved/transferred */
246
+ readonly CONSULTED_PARTICIPANT_MOVING: "ConsultedParticipantMoving";
218
247
  /** Event emitted when contact is blind transferred */
219
248
  readonly AGENT_BLIND_TRANSFERRED: "AgentBlindTransferred";
220
249
  /** Event emitted when blind transfer fails */
@@ -231,6 +260,8 @@ export declare const CC_EVENTS: {
231
260
  readonly AGENT_CONSULT_TRANSFER_FAILED: "AgentConsultTransferFailed";
232
261
  /** Event emitted when contact recording is paused */
233
262
  readonly CONTACT_RECORDING_PAUSED: "ContactRecordingPaused";
263
+ /** Event emitted when contact recording is started */
264
+ readonly CONTACT_RECORDING_STARTED: "ContactRecordingStarted";
234
265
  /** Event emitted when pausing contact recording fails */
235
266
  readonly CONTACT_RECORDING_PAUSE_FAILED: "ContactRecordingPauseFailed";
236
267
  /** Event emitted when contact recording is resumed */
@@ -241,6 +272,10 @@ export declare const CC_EVENTS: {
241
272
  readonly CONTACT_ENDED: "ContactEnded";
242
273
  /** Event emitted when contact is merged */
243
274
  readonly CONTACT_MERGED: "ContactMerged";
275
+ /** Event emitted when contact payload is updated (routing updates) */
276
+ readonly CONTACT_UPDATED: "ContactUpdated";
277
+ /** Event emitted when contact owner changes */
278
+ readonly CONTACT_OWNER_CHANGED: "ContactOwnerChanged";
244
279
  /** Event emitted when ending contact fails */
245
280
  readonly AGENT_CONTACT_END_FAILED: "AgentContactEndFailed";
246
281
  /** Event emitted when agent enters wrap-up state */
@@ -267,8 +302,20 @@ export declare const CC_EVENTS: {
267
302
  readonly CAMPAIGN_CONTACT_UPDATED: "CampaignContactUpdated";
268
303
  /** Event emitted when accepting a campaign preview contact fails */
269
304
  readonly CAMPAIGN_PREVIEW_ACCEPT_FAILED: "CampaignPreviewAcceptFailed";
305
+ /** Event emitted when skipping a campaign preview contact fails */
306
+ readonly CAMPAIGN_PREVIEW_SKIP_FAILED: "CampaignPreviewSkipFailed";
307
+ /** Event emitted when removing a campaign preview contact fails */
308
+ readonly CAMPAIGN_PREVIEW_REMOVE_FAILED: "CampaignPreviewRemoveFailed";
270
309
  /** Event emitted when a real-time transcript chunk is received */
271
310
  readonly REAL_TIME_TRANSCRIPTION: "REAL_TIME_TRANSCRIPTION";
311
+ /** Event emitted when an AI assistant suggested response is available */
312
+ readonly SUGGESTED_RESPONSE: "SUGGESTED_RESPONSE";
313
+ /** Event emitted when backend acknowledges it is listening for more context */
314
+ readonly SUGGESTED_RESPONSE_ACKNOWLEDGE: "SUGGESTED_RESPONSE_ACKNOWLEDGE";
315
+ /** Event emitted when a mid-call summary is available */
316
+ readonly MID_CALL_SUMMARY: "MID_CALL_SUMMARY";
317
+ /** Event emitted when a post-call summary is available */
318
+ readonly POST_CALL_SUMMARY: "POST_CALL_SUMMARY";
272
319
  /** Welcome event when agent connects to websocket/backend */
273
320
  readonly WELCOME: "Welcome";
274
321
  /** Event emitted when agent re-login is successful */
@@ -314,6 +361,14 @@ export type WelcomeEvent = {
314
361
  /** ID of the agent that connected */
315
362
  agentId: string;
316
363
  };
364
+ /**
365
+ * Available login options for voice channel access
366
+ * 'AGENT_DN' - Login using agent's DN
367
+ * 'EXTENSION' - Login using extension number
368
+ * 'BROWSER' - Login using browser-based WebRTC
369
+ * @public
370
+ */
371
+ export type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';
317
372
  /**
318
373
  * Response type for welcome events which can be either success or error
319
374
  * @public
@@ -384,13 +439,34 @@ export type AgentResponse = {
384
439
  dbId?: string;
385
440
  /**
386
441
  * The default dialed number of the agent.
442
+ * Note: The API returns this field as "deafultDialledNumber" (with typo).
387
443
  */
388
- defaultDialledNumber?: string;
444
+ deafultDialledNumber?: string;
389
445
  };
390
446
  /**
391
447
  * Represents the response from getDesktopProfileById method.
392
448
  */
393
449
  export type DesktopProfileResponse = {
450
+ /**
451
+ * Unique identifier of the agent profile configuration.
452
+ */
453
+ id: string;
454
+ /**
455
+ * Display name for the agent profile.
456
+ */
457
+ name: string;
458
+ /**
459
+ * Description of the agent profile.
460
+ */
461
+ description: string;
462
+ /**
463
+ * Parent entity type for the profile (for example ORGANIZATION).
464
+ */
465
+ parentType: string;
466
+ /**
467
+ * Indicates whether screen pop is enabled.
468
+ */
469
+ screenPopup: boolean;
394
470
  /**
395
471
  * Represents the voice options of an agent.
396
472
  */
@@ -423,6 +499,10 @@ export type DesktopProfileResponse = {
423
499
  * Auto wrap-up allowed.
424
500
  */
425
501
  autoWrapUp: boolean;
502
+ /**
503
+ * Whether the agent personal greeting is enabled.
504
+ */
505
+ agentPersonalGreeting: boolean;
426
506
  /**
427
507
  * Auto answer allowed.
428
508
  */
@@ -439,6 +519,30 @@ export type DesktopProfileResponse = {
439
519
  * Allow auto wrap-up extension.
440
520
  */
441
521
  allowAutoWrapUpExtension: boolean;
522
+ /**
523
+ * Access control for queues assigned to the agent (ALL, SPECIFIC, or NONE).
524
+ */
525
+ accessQueue: CollaborationAccess;
526
+ /**
527
+ * Queue identifiers available to the agent when access is SPECIFIC.
528
+ */
529
+ queues: string[];
530
+ /**
531
+ * Access control for entry points assigned to the agent.
532
+ */
533
+ accessEntryPoint: CollaborationAccess;
534
+ /**
535
+ * Entry point identifiers available to the agent when access is SPECIFIC.
536
+ */
537
+ entryPoints: string[];
538
+ /**
539
+ * Access control for buddy teams assigned to the agent.
540
+ */
541
+ accessBuddyTeam: CollaborationAccess;
542
+ /**
543
+ * Buddy team identifiers available to the agent when access is SPECIFIC.
544
+ */
545
+ buddyTeams: string[];
442
546
  /**
443
547
  * Outdial enabled for the agent.
444
548
  */
@@ -475,6 +579,10 @@ export type DesktopProfileResponse = {
475
579
  * Agent DN validation of the agent.
476
580
  */
477
581
  agentDNValidation: string;
582
+ /**
583
+ * Additional DN validation criteria configured for the agent.
584
+ */
585
+ agentDNValidationCriterions: string[];
478
586
  /**
479
587
  * Dial plans of the agent.
480
588
  */
@@ -503,6 +611,26 @@ export type DesktopProfileResponse = {
503
611
  * State synchronization in Webex enabled or not.
504
612
  */
505
613
  stateSynchronizationWebex: boolean;
614
+ /**
615
+ * Threshold rules configured for the agent profile.
616
+ */
617
+ thresholdRules: Array<Record<string, string | number>>;
618
+ /**
619
+ * Whether the agent profile is currently active.
620
+ */
621
+ active: boolean;
622
+ /**
623
+ * Whether this profile is the system default.
624
+ */
625
+ systemDefault: boolean;
626
+ /**
627
+ * Timestamp when the profile was created.
628
+ */
629
+ createdTime: number;
630
+ /**
631
+ * Timestamp when the profile was last updated.
632
+ */
633
+ lastUpdatedTime: number;
506
634
  };
507
635
  /**
508
636
  * Response containing multimedia profile configuration for an agent
@@ -898,14 +1026,6 @@ export type WrapupData = {
898
1026
  allowCancelAutoWrapup?: boolean;
899
1027
  };
900
1028
  };
901
- /**
902
- * Available login options for voice channel access
903
- * 'AGENT_DN' - Login using agent's DN
904
- * 'EXTENSION' - Login using extension number
905
- * 'BROWSER' - Login using browser-based WebRTC
906
- * @public
907
- */
908
- export type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';
909
1029
  /**
910
1030
  * Team configuration information
911
1031
  * @public
@@ -1073,7 +1193,7 @@ export type Profile = {
1073
1193
  /** Outbound entry point */
1074
1194
  outDialEp: string;
1075
1195
  /** Whether ending calls is enabled */
1076
- isEndCallEnabled: boolean;
1196
+ isEndTaskEnabled: boolean;
1077
1197
  /** Whether ending consultations is enabled */
1078
1198
  isEndConsultEnabled: boolean;
1079
1199
  /** Optional lifecycle manager URL */
@@ -1084,6 +1204,12 @@ export type Profile = {
1084
1204
  agentAnalyzerId?: string;
1085
1205
  /** Whether consult to queue is allowed */
1086
1206
  allowConsultToQueue: boolean;
1207
+ /** Access control for queues on Desktop Profile Collaboration tab */
1208
+ accessQueue?: CollaborationAccess;
1209
+ /** Access control for entry points on Desktop Profile Collaboration tab */
1210
+ accessEntryPoint?: CollaborationAccess;
1211
+ /** Access control for buddy teams on Desktop Profile Collaboration tab */
1212
+ accessBuddyTeam?: CollaborationAccess;
1087
1213
  /** Additional campaign manager information */
1088
1214
  campaignManagerAdditionalInfo?: string;
1089
1215
  /** Whether personal statistics are enabled */
@@ -1205,3 +1331,51 @@ export type OutdialAniParams = {
1205
1331
  /** Comma-separated list of attributes to include in response (optional) */
1206
1332
  attributes?: string;
1207
1333
  };
1334
+ /**
1335
+ * User preference data structure
1336
+ * @public
1337
+ */
1338
+ export type UserPreference = {
1339
+ /** Unique identifier for the user preference */
1340
+ id: string;
1341
+ /** Organization ID */
1342
+ organizationId: string;
1343
+ /** User ID (CI user ID) */
1344
+ userId: string;
1345
+ /** User preference data as key-value pairs */
1346
+ preferences: Record<string, unknown>;
1347
+ /** Timestamp when this preference was created (Unix timestamp in milliseconds) */
1348
+ createdTime?: number;
1349
+ /** Timestamp when this preference was last updated (Unix timestamp in milliseconds) */
1350
+ lastUpdatedTime?: number;
1351
+ };
1352
+ /**
1353
+ * Request payload for creating user preferences
1354
+ * @public
1355
+ */
1356
+ export type CreateUserPreferenceRequest = {
1357
+ /** User ID (CI user ID) */
1358
+ userId: string;
1359
+ /** Desktop preference data as a JSON string (required) */
1360
+ desktopPreference: string;
1361
+ };
1362
+ /**
1363
+ * Request payload for updating user preferences
1364
+ * @public
1365
+ */
1366
+ export type UpdateUserPreferenceRequest = {
1367
+ /** Desktop preference data as a JSON string (required) */
1368
+ desktopPreference: string;
1369
+ };
1370
+ /**
1371
+ * Query parameters for fetching user preferences
1372
+ * @public
1373
+ */
1374
+ export type GetUserPreferenceParams = {
1375
+ /** User ID to fetch preferences for. Defaults to current user's CI user ID. */
1376
+ userId?: string;
1377
+ /** Page number (0-indexed). Default: 0 */
1378
+ page?: number;
1379
+ /** Number of items per page. Default: 100 */
1380
+ pageSize?: number;
1381
+ };
@@ -49,6 +49,8 @@ export type TaskErrorIds = {
49
49
  'Service.aqm.task.consultAccept': Failure;
50
50
  } | {
51
51
  'Service.aqm.task.consultConference': Failure;
52
+ } | {
53
+ 'Service.aqm.task.dropConferenceParticipant': Failure;
52
54
  } | {
53
55
  'Service.aqm.task.consultEnd': Failure;
54
56
  } | {
@@ -67,6 +69,10 @@ export type TaskErrorIds = {
67
69
  'Service.aqm.dialer.startOutdial': Failure;
68
70
  } | {
69
71
  'Service.aqm.dialer.acceptPreviewContact': Failure;
72
+ } | {
73
+ 'Service.aqm.dialer.skipPreviewContact': Failure;
74
+ } | {
75
+ 'Service.aqm.dialer.removePreviewContact': Failure;
70
76
  } | {
71
77
  'Service.reqs.generic.failure': {
72
78
  trackingId: string;
@@ -1,17 +1,24 @@
1
1
  import * as Err from './Err';
2
2
  import { LoginOption, WebexRequestPayload } from '../../types';
3
3
  import { Failure, AugmentedError } from './GlobalTypes';
4
- import { TaskData, ConsultTransferPayLoad, Interaction } from '../task/types';
4
+ import { ConsultConferenceData, consultConferencePayloadData, ConsultTransferDestinationType, TaskData, Interaction } from '../task/types';
5
5
  import { DialPlan } from '../config/types';
6
- export declare const FALLBACK_DIAL_NUMBER_REGEX: RegExp;
6
+ /**
7
+ * Strips characters defined in the dial plan entry from the input string.
8
+ *
9
+ * @param input - The dial number to sanitize
10
+ * @param strippedChars - String of characters to remove from the input
11
+ * @returns The sanitized input with specified characters removed
12
+ */
13
+ export declare const stripDialPlanChars: (input: string, strippedChars: string) => string;
7
14
  /**
8
15
  * Validates a dial number against the provided dial plan regex patterns.
9
16
  * A number is valid if it matches at least one regex pattern in the dial plans.
10
- * Falls back to US/Canada regex validation if no dial plan entries are configured.
17
+ * Skips validation when no dial plan entries are configured, deferring to the server.
11
18
  *
12
19
  * @param input - The dial number to validate
13
20
  * @param dialPlanEntries - Array of dial plan entries containing regex patterns
14
- * @returns true if the input matches at least one dial plan regex pattern, false otherwise
21
+ * @returns true if the input matches at least one dial plan regex pattern or no entries are configured, false otherwise
15
22
  */
16
23
  export declare const isValidDialNumber: (input: string, dialPlanEntries: DialPlan['dialPlanEntity']) => boolean;
17
24
  export declare const getStationLoginErrorData: (failure: Failure, loginOption: LoginOption) => {
@@ -61,14 +68,6 @@ export declare const generateTaskErrorObject: (error: any, methodName: string, m
61
68
  * @ignore
62
69
  */
63
70
  export declare const createErrDetailsObject: (errObj: WebexRequestPayload) => Err.Details<"Service.reqs.generic.failure">;
64
- /**
65
- * Gets the consulted agent ID from the media object by finding the agent
66
- * in the consult media participants (excluding the current agent).
67
- *
68
- * @param media - The media object from the interaction
69
- * @param agentId - The current agent's ID to exclude from the search
70
- * @returns The consulted agent ID, or empty string if none found
71
- */
72
71
  export declare const getConsultedAgentId: (media: Interaction['media'], agentId: string) => string;
73
72
  /**
74
73
  * Gets the destination agent ID for CBT (Capacity Based Team) scenarios.
@@ -98,4 +97,25 @@ export declare const calculateDestAgentId: (interaction: Interaction, agentId: s
98
97
  * @returns The destination agent ID for determining destination type
99
98
  */
100
99
  export declare const calculateDestType: (interaction: Interaction, agentId: string) => string;
101
- export declare const deriveConsultTransferDestinationType: (taskData?: TaskData) => ConsultTransferPayLoad['destinationType'];
100
+ /**
101
+ * Gets the destination agent ID from participants.
102
+ * Finds a participant who is not the current agent and is an agent type.
103
+ *
104
+ * @param participants - The participants object from interaction
105
+ * @param agentId - The current agent's ID
106
+ * @returns The destination agent ID, or undefined if none found
107
+ */
108
+ export declare const buildConsultConferenceParamData: (dataPassed: consultConferencePayloadData, interactionIdPassed: string) => {
109
+ interactionId: string;
110
+ data: ConsultConferenceData;
111
+ };
112
+ /**
113
+ * Derives the consult transfer destination type based on task data.
114
+ * This function determines the appropriate destination type for a consult transfer
115
+ * by examining the destination type stored in the task data.
116
+ *
117
+ * @param taskData - The task data containing destination information
118
+ * @returns The derived consult transfer destination type
119
+ * @public
120
+ */
121
+ export declare const deriveConsultTransferDestinationType: (taskData: TaskData) => ConsultTransferDestinationType;
@@ -11,6 +11,7 @@ declare class WebexRequest {
11
11
  resource: string;
12
12
  method: HTTP_METHODS;
13
13
  body?: RequestBody;
14
+ headers?: Record<string, string | null>;
14
15
  }): Promise<IHttpResponse>;
15
16
  /**
16
17
  * This is used for uploading the logs to backend/mats.