@webex/contact-center 3.12.0-next.13 → 3.12.0-next.130

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 (312) 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 +53 -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 +971 -42
  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 +31 -3
  46. package/dist/constants.js.map +1 -1
  47. package/dist/index.js +45 -15
  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 +205 -0
  52. package/dist/metrics/behavioral-events.js.map +1 -1
  53. package/dist/metrics/constants.js +48 -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 +269 -9
  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 +222 -0
  68. package/dist/services/WebexCrossClientService.js.map +1 -0
  69. package/dist/services/WxAppTelephonyMercurySync.js +108 -0
  70. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  71. package/dist/services/config/Util.js +11 -4
  72. package/dist/services/config/Util.js.map +1 -1
  73. package/dist/services/config/constants.js +41 -7
  74. package/dist/services/config/constants.js.map +1 -1
  75. package/dist/services/config/index.js +51 -0
  76. package/dist/services/config/index.js.map +1 -1
  77. package/dist/services/config/types.js +57 -12
  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 +754 -0
  93. package/dist/services/task/Task.js.map +1 -0
  94. package/dist/services/task/TaskFactory.js +49 -0
  95. package/dist/services/task/TaskFactory.js.map +1 -0
  96. package/dist/services/task/TaskManager.js +1172 -521
  97. package/dist/services/task/TaskManager.js.map +1 -1
  98. package/dist/services/task/TaskUtils.js +211 -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 +12 -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 +228 -5
  127. package/dist/services/task/types.js.map +1 -1
  128. package/dist/services/task/voice/Voice.js +1485 -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/wxAppVoiceMethods.js +354 -0
  133. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  134. package/dist/services/wxAppDiagnosticLogging.js +122 -0
  135. package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
  136. package/dist/services/wxAppTelephonyUtils.js +19 -0
  137. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  138. package/dist/types/cc.d.ts +193 -6
  139. package/dist/types/config.d.ts +13 -0
  140. package/dist/types/constants.d.ts +29 -1
  141. package/dist/types/index.d.ts +35 -8
  142. package/dist/types/metrics/MetricsManager.d.ts +6 -0
  143. package/dist/types/metrics/constants.d.ts +43 -1
  144. package/dist/types/services/AddressBook.d.ts +2 -1
  145. package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
  146. package/dist/types/services/ApiAiAssistant.d.ts +56 -5
  147. package/dist/types/services/EntryPoint.d.ts +7 -5
  148. package/dist/types/services/Queue.d.ts +5 -3
  149. package/dist/types/services/UserPreference.d.ts +118 -0
  150. package/dist/types/services/WebexCrossClientService.d.ts +32 -0
  151. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  152. package/dist/types/services/config/constants.d.ts +34 -5
  153. package/dist/types/services/config/types.d.ts +197 -12
  154. package/dist/types/services/core/Err.d.ts +6 -0
  155. package/dist/types/services/core/Utils.d.ts +35 -13
  156. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  157. package/dist/types/services/core/types.d.ts +2 -0
  158. package/dist/types/services/core/websocket/WebSocketManager.d.ts +1 -0
  159. package/dist/types/services/core/websocket/types.d.ts +1 -1
  160. package/dist/types/services/index.d.ts +1 -1
  161. package/dist/types/services/task/Task.d.ts +175 -0
  162. package/dist/types/services/task/TaskFactory.d.ts +13 -0
  163. package/dist/types/services/task/TaskUtils.d.ts +48 -2
  164. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  165. package/dist/types/services/task/constants.d.ts +10 -0
  166. package/dist/types/services/task/contact.d.ts +4 -0
  167. package/dist/types/services/task/dialer.d.ts +30 -0
  168. package/dist/types/services/task/digital/Digital.d.ts +22 -0
  169. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1442 -0
  170. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  171. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  172. package/dist/types/services/task/state-machine/guards.d.ts +103 -0
  173. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  174. package/dist/types/services/task/state-machine/types.d.ts +277 -0
  175. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  176. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  177. package/dist/types/services/task/types.d.ts +680 -66
  178. package/dist/types/services/task/voice/Voice.d.ts +227 -0
  179. package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
  180. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +55 -0
  181. package/dist/types/services/wxAppDiagnosticLogging.d.ts +51 -0
  182. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  183. package/dist/types/types.d.ts +205 -9
  184. package/dist/types/utils/PageCache.d.ts +20 -3
  185. package/dist/types/webex.d.ts +1 -0
  186. package/dist/types.js +162 -4
  187. package/dist/types.js.map +1 -1
  188. package/dist/utils/PageCache.js +19 -5
  189. package/dist/utils/PageCache.js.map +1 -1
  190. package/dist/webex.js +22 -2
  191. package/dist/webex.js.map +1 -1
  192. package/package.json +16 -12
  193. package/src/cc.ts +1289 -112
  194. package/src/config.ts +13 -0
  195. package/src/constants.ts +29 -1
  196. package/src/index.ts +36 -5
  197. package/src/metrics/MetricsManager.ts +16 -0
  198. package/src/metrics/ai-docs/AGENTS.md +350 -0
  199. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  200. package/src/metrics/ai-docs/metrics-spec.md +921 -0
  201. package/src/metrics/behavioral-events.ts +212 -0
  202. package/src/metrics/constants.ts +52 -4
  203. package/src/services/AddressBook.ts +17 -6
  204. package/src/services/AnswerCallOnWebexService.ts +239 -0
  205. package/src/services/ApiAiAssistant.ts +356 -9
  206. package/src/services/EntryPoint.ts +59 -60
  207. package/src/services/Queue.ts +29 -12
  208. package/src/services/UserPreference.ts +509 -0
  209. package/src/services/WebexCrossClientService.ts +293 -0
  210. package/src/services/WxAppTelephonyMercurySync.ts +142 -0
  211. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  212. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  213. package/src/services/agent/ai-docs/agent-spec.md +505 -0
  214. package/src/services/ai-docs/AGENTS.md +386 -0
  215. package/src/services/ai-docs/services-spec.md +505 -0
  216. package/src/services/config/Util.ts +12 -3
  217. package/src/services/config/ai-docs/AGENTS.md +255 -0
  218. package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
  219. package/src/services/config/ai-docs/config-spec.md +686 -0
  220. package/src/services/config/constants.ts +46 -6
  221. package/src/services/config/index.ts +65 -0
  222. package/src/services/config/types.ts +197 -13
  223. package/src/services/core/Err.ts +3 -0
  224. package/src/services/core/Utils.ts +127 -37
  225. package/src/services/core/WebexRequest.ts +3 -1
  226. package/src/services/core/ai-docs/AGENTS.md +381 -0
  227. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  228. package/src/services/core/ai-docs/core-spec.md +787 -0
  229. package/src/services/core/aqm-reqs.ts +30 -15
  230. package/src/services/core/types.ts +2 -0
  231. package/src/services/core/websocket/WebSocketManager.ts +2 -0
  232. package/src/services/core/websocket/types.ts +1 -1
  233. package/src/services/index.ts +1 -1
  234. package/src/services/task/Task.ts +908 -0
  235. package/src/services/task/TaskFactory.ts +60 -0
  236. package/src/services/task/TaskManager.ts +1419 -608
  237. package/src/services/task/TaskUtils.ts +303 -25
  238. package/src/services/task/WebexCallingUtils.ts +136 -0
  239. package/src/services/task/ai-docs/AGENTS.md +457 -0
  240. package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
  241. package/src/services/task/ai-docs/task-spec.md +1474 -0
  242. package/src/services/task/constants.ts +10 -0
  243. package/src/services/task/contact.ts +30 -0
  244. package/src/services/task/dialer.ts +80 -0
  245. package/src/services/task/digital/Digital.ts +97 -0
  246. package/src/services/task/state-machine/TaskStateMachine.ts +1320 -0
  247. package/src/services/task/state-machine/actions.ts +741 -0
  248. package/src/services/task/state-machine/ai-docs/AGENTS.md +460 -0
  249. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1156 -0
  250. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2247 -0
  251. package/src/services/task/state-machine/constants.ts +172 -0
  252. package/src/services/task/state-machine/guards.ts +442 -0
  253. package/src/services/task/state-machine/index.ts +28 -0
  254. package/src/services/task/state-machine/types.ts +258 -0
  255. package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
  256. package/src/services/task/taskDataNormalizer.ts +137 -0
  257. package/src/services/task/types.ts +819 -70
  258. package/src/services/task/voice/Voice.ts +1851 -0
  259. package/src/services/task/voice/WebRTC.ts +191 -0
  260. package/src/services/task/voice/wxAppVoiceMethods.ts +516 -0
  261. package/src/services/wxAppDiagnosticLogging.ts +174 -0
  262. package/src/services/wxAppTelephonyUtils.ts +14 -0
  263. package/src/types.ts +262 -11
  264. package/src/utils/AGENTS.md +289 -0
  265. package/src/utils/PageCache.ts +38 -5
  266. package/src/utils/ai-docs/utils-spec.md +391 -0
  267. package/src/webex.js +10 -0
  268. package/test/unit/spec/cc.ts +2210 -119
  269. package/test/unit/spec/logger-proxy.ts +70 -0
  270. package/test/unit/spec/metrics/MetricsManager.ts +25 -0
  271. package/test/unit/spec/metrics/behavioral-events.ts +60 -0
  272. package/test/unit/spec/services/AddressBook.ts +37 -6
  273. package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
  274. package/test/unit/spec/services/ApiAiAssistant.ts +311 -21
  275. package/test/unit/spec/services/EntryPoint.ts +87 -40
  276. package/test/unit/spec/services/Queue.ts +123 -12
  277. package/test/unit/spec/services/UserPreference.ts +401 -0
  278. package/test/unit/spec/services/WebCallingService.ts +7 -1
  279. package/test/unit/spec/services/WebexCrossClientService.ts +467 -0
  280. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
  281. package/test/unit/spec/services/config/Util.ts +129 -0
  282. package/test/unit/spec/services/config/index.ts +97 -29
  283. package/test/unit/spec/services/core/Utils.ts +425 -8
  284. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  285. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  286. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +66 -40
  287. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  288. package/test/unit/spec/services/task/Task.ts +745 -0
  289. package/test/unit/spec/services/task/TaskFactory.ts +99 -0
  290. package/test/unit/spec/services/task/TaskManager.ts +2518 -1494
  291. package/test/unit/spec/services/task/TaskUtils.ts +235 -0
  292. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  293. package/test/unit/spec/services/task/contact.ts +33 -0
  294. package/test/unit/spec/services/task/dialer.ts +190 -0
  295. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  296. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +4060 -0
  297. package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
  298. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  299. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
  300. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  301. package/test/unit/spec/services/task/voice/Voice.ts +2061 -0
  302. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  303. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +603 -0
  304. package/test/unit/spec/services/wxAppDiagnosticLogging.ts +143 -0
  305. package/test/unit/spec/wellnessSampleUtils.ts +288 -0
  306. package/umd/contact-center.min.js +2 -2
  307. package/umd/contact-center.min.js.map +1 -1
  308. package/dist/services/task/index.js +0 -1525
  309. package/dist/services/task/index.js.map +0 -1
  310. package/dist/types/services/task/index.d.ts +0 -650
  311. package/src/services/task/index.ts +0 -1801
  312. package/test/unit/spec/services/task/index.ts +0 -2184
@@ -27,7 +27,7 @@ import type { EntryPointListResponse, EntryPointSearchParams } from '../types';
27
27
  * });
28
28
  *
29
29
  * // Search for specific entry points
30
- * const searchResults = await entryPointAPI.searchEntryPoints({
30
+ * const searchResults = await entryPointAPI.getEntryPoints({
31
31
  * search: 'support',
32
32
  * filter: 'type=="voice"'
33
33
  * });
@@ -37,7 +37,6 @@ export declare class EntryPoint {
37
37
  private webexRequest;
38
38
  private webex;
39
39
  private metricsManager;
40
- private pageCache;
41
40
  /**
42
41
  * Creates an instance of EntryPoint
43
42
  * @param {WebexSDK} webex - The Webex SDK instance
@@ -45,14 +44,17 @@ export declare class EntryPoint {
45
44
  */
46
45
  constructor(webex: WebexSDK);
47
46
  /**
48
- * Fetches entry points for the organization with pagination support
49
- * @param {EntryPointSearchParams} [params] - Search and pagination parameters
47
+ * Fetches entry-point dial-number mappings for the organization with pagination support. By
48
+ * default, returns the agent's desktop-profile-filtered mappings in backend entry-point-name order.
49
+ * Search, filter, attribute, and sort parameters can customize the request while desktop-profile
50
+ * scoping and required mapping fields remain SDK-owned.
51
+ * @param {EntryPointSearchParams} [params] - Search, pagination, and compatible override parameters.
50
52
  * @returns {Promise<EntryPointListResponse>} Promise resolving to paginated entry points
51
53
  * @throws {Error} If the API call fails
52
54
  * @public
53
55
  * @example
54
56
  * ```typescript
55
- * // Get first page of entry points
57
+ * // Get the first page using the default entry-point policy
56
58
  * const response = await entryPointAPI.getEntryPoints();
57
59
  *
58
60
  * // Get specific page with custom page size
@@ -48,14 +48,16 @@ export declare class Queue {
48
48
  */
49
49
  constructor(webex: WebexSDK);
50
50
  /**
51
- * Fetches contact service queues for the organization
52
- * @param {ContactServiceQueueSearchParams} [params] - Search and pagination parameters
51
+ * Fetches contact service queues for the organization. By default, returns active inbound
52
+ * telephony queues in backend name-ascending order using the agent's desktop profile views.
53
+ * Existing filter, sort, and desktop-profile parameters override those defaults.
54
+ * @param {ContactServiceQueueSearchParams} [params] - Search, pagination, and override parameters
53
55
  * @returns {Promise<ContactServiceQueuesResponse>} Promise resolving to contact service queues
54
56
  * @throws {Error} If the API call fails
55
57
  * @public
56
58
  * @example
57
59
  * ```typescript
58
- * // Get all queues with default pagination
60
+ * // Get queues using the default list policy and pagination
59
61
  * const response = await queueAPI.getQueues();
60
62
  *
61
63
  * // Get queues with specific pagination
@@ -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}
@@ -22,6 +28,8 @@ export declare const AGENT_STATE_AVAILABLE_ID = "0";
22
28
  * @ignore
23
29
  */
24
30
  export declare const AGENT_STATE_AVAILABLE = "Available";
31
+ /** System idle-code name reserved for Agent Wellness Break. */
32
+ export declare const WELLBEING_BREAK_IDLE_CODE = "WellbeingBreak";
25
33
  /**
26
34
  * Description for the 'Available' agent state.
27
35
  * @type {string}
@@ -52,6 +60,7 @@ export declare const METHODS: {
52
60
  GET_URL_MAPPING: string;
53
61
  GET_DIAL_PLAN_DATA: string;
54
62
  GET_AI_FEATURE_FLAGS: string;
63
+ GET_WELLBEING_BREAK_IDLE_CODE: string;
55
64
  GET_QUEUES: string;
56
65
  PARSE_AGENT_CONFIGS: string;
57
66
  GET_URL_MAPPING_UTIL: string;
@@ -129,6 +138,8 @@ export declare const endPointMap: {
129
138
  * @ignore
130
139
  */
131
140
  listAuxCodes: (orgId: string, page: number, pageSize: number, filter: string[], attributes: string[]) => string;
141
+ /** Lists system idle codes without applying the agent Desktop Profile filter. */
142
+ systemIdleCodes: (orgId: string, page: number, pageSize: number) => string;
132
143
  /**
133
144
  * Gets the endpoint for organization info.
134
145
  * @param orgId - Organization ID.
@@ -212,16 +223,13 @@ export declare const endPointMap: {
212
223
  */
213
224
  queueList: (orgId: string, queryParams: string) => string;
214
225
  /**
215
- * Gets the endpoint for entry points list with custom query parameters.
226
+ * Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.
216
227
  * @param orgId - Organization ID.
217
228
  * @param queryParams - Query parameters string.
218
229
  * @returns The endpoint URL string.
219
- * @public
220
- * @example
221
- * const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');
222
230
  * @ignore
223
231
  */
224
- entryPointList: (orgId: string, queryParams: string) => string;
232
+ entryPointDialNumberList: (orgId: string, queryParams: string) => string;
225
233
  /**
226
234
  * Gets the endpoint for address book entries with custom query parameters.
227
235
  * @param orgId - Organization ID.
@@ -246,4 +254,25 @@ export declare const endPointMap: {
246
254
  * @ignore
247
255
  */
248
256
  outdialAniEntries: (orgId: string, outdialANI: string, queryParams: string) => string;
257
+ /**
258
+ * Gets the endpoint for user preference by user ID.
259
+ * @param orgId - Organization ID.
260
+ * @param userId - User ID.
261
+ * @returns The endpoint URL string.
262
+ * @public
263
+ * @example
264
+ * const url = endPointMap.userPreference('org123', 'user456');
265
+ * @ignore
266
+ */
267
+ userPreference: (orgId: string, userId: string) => string;
268
+ /**
269
+ * Gets the endpoint for creating user preference.
270
+ * @param orgId - Organization ID.
271
+ * @returns The endpoint URL string.
272
+ * @public
273
+ * @example
274
+ * const url = endPointMap.userPreferenceCreate('org123');
275
+ * @ignore
276
+ */
277
+ userPreferenceCreate: (orgId: string) => string;
249
278
  };