@webex/contact-center 3.11.0 → 3.12.0-auth-prejoin-fetch.1

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 (325) hide show
  1. package/.sdd/manifest.json +883 -0
  2. package/AGENTS.md +94 -0
  3. package/ai-docs/ARCHITECTURE.md +168 -0
  4. package/ai-docs/CONTRACTS.md +50 -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 +818 -59
  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 +31 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/index.js +27 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/metrics/behavioral-events.js +127 -0
  49. package/dist/metrics/behavioral-events.js.map +1 -1
  50. package/dist/metrics/constants.js +34 -3
  51. package/dist/metrics/constants.js.map +1 -1
  52. package/dist/services/AddressBook.js +18 -15
  53. package/dist/services/AddressBook.js.map +1 -1
  54. package/dist/services/AnswerCallOnWebexService.js +174 -0
  55. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  56. package/dist/services/ApiAiAssistant.js +318 -0
  57. package/dist/services/ApiAiAssistant.js.map +1 -0
  58. package/dist/services/EntryPoint.js +46 -68
  59. package/dist/services/EntryPoint.js.map +1 -1
  60. package/dist/services/Queue.js +27 -22
  61. package/dist/services/Queue.js.map +1 -1
  62. package/dist/services/UserPreference.js +427 -0
  63. package/dist/services/UserPreference.js.map +1 -0
  64. package/dist/services/WebexCrossClientService.js +171 -0
  65. package/dist/services/WebexCrossClientService.js.map +1 -0
  66. package/dist/services/WxAppTelephonyMercurySync.js +93 -0
  67. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  68. package/dist/services/agent/types.js.map +1 -1
  69. package/dist/services/config/Util.js +11 -4
  70. package/dist/services/config/Util.js.map +1 -1
  71. package/dist/services/config/constants.js +45 -8
  72. package/dist/services/config/constants.js.map +1 -1
  73. package/dist/services/config/index.js +41 -2
  74. package/dist/services/config/index.js.map +1 -1
  75. package/dist/services/config/types.js +70 -8
  76. package/dist/services/config/types.js.map +1 -1
  77. package/dist/services/constants.js +27 -1
  78. package/dist/services/constants.js.map +1 -1
  79. package/dist/services/core/Err.js.map +1 -1
  80. package/dist/services/core/Utils.js +122 -25
  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 +119 -30
  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 +22 -6
  88. package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
  89. package/dist/services/core/websocket/connection-service.js +3 -1
  90. package/dist/services/core/websocket/connection-service.js.map +1 -1
  91. package/dist/services/core/websocket/types.js.map +1 -1
  92. package/dist/services/index.js +6 -0
  93. package/dist/services/index.js.map +1 -1
  94. package/dist/services/task/Task.js +754 -0
  95. package/dist/services/task/Task.js.map +1 -0
  96. package/dist/services/task/TaskFactory.js +49 -0
  97. package/dist/services/task/TaskFactory.js.map +1 -0
  98. package/dist/services/task/TaskManager.js +1073 -447
  99. package/dist/services/task/TaskManager.js.map +1 -1
  100. package/dist/services/task/TaskUtils.js +220 -23
  101. package/dist/services/task/TaskUtils.js.map +1 -1
  102. package/dist/services/task/WebexCallingUtils.js +70 -0
  103. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  104. package/dist/services/task/constants.js +26 -2
  105. package/dist/services/task/constants.js.map +1 -1
  106. package/dist/services/task/contact.js +29 -0
  107. package/dist/services/task/contact.js.map +1 -1
  108. package/dist/services/task/dialer.js +129 -0
  109. package/dist/services/task/dialer.js.map +1 -1
  110. package/dist/services/task/digital/Digital.js +78 -0
  111. package/dist/services/task/digital/Digital.js.map +1 -0
  112. package/dist/services/task/state-machine/TaskStateMachine.js +971 -0
  113. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
  114. package/dist/services/task/state-machine/actions.js +572 -0
  115. package/dist/services/task/state-machine/actions.js.map +1 -0
  116. package/dist/services/task/state-machine/constants.js +161 -0
  117. package/dist/services/task/state-machine/constants.js.map +1 -0
  118. package/dist/services/task/state-machine/guards.js +409 -0
  119. package/dist/services/task/state-machine/guards.js.map +1 -0
  120. package/dist/services/task/state-machine/index.js +53 -0
  121. package/dist/services/task/state-machine/index.js.map +1 -0
  122. package/dist/services/task/state-machine/types.js +54 -0
  123. package/dist/services/task/state-machine/types.js.map +1 -0
  124. package/dist/services/task/state-machine/uiControlsComputer.js +703 -0
  125. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
  126. package/dist/services/task/taskDataNormalizer.js +99 -0
  127. package/dist/services/task/taskDataNormalizer.js.map +1 -0
  128. package/dist/services/task/types.js +243 -5
  129. package/dist/services/task/types.js.map +1 -1
  130. package/dist/services/task/voice/Voice.js +1380 -0
  131. package/dist/services/task/voice/Voice.js.map +1 -0
  132. package/dist/services/task/voice/WebRTC.js +152 -0
  133. package/dist/services/task/voice/WebRTC.js.map +1 -0
  134. package/dist/services/task/voice/wxAppVoiceMethods.js +201 -0
  135. package/dist/services/task/voice/wxAppVoiceMethods.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 +967 -0
  139. package/dist/types/config.d.ts +79 -0
  140. package/dist/types/constants.d.ts +74 -0
  141. package/dist/types/index.d.ts +201 -0
  142. package/dist/types/logger-proxy.d.ts +71 -0
  143. package/dist/types/metrics/MetricsManager.d.ts +223 -0
  144. package/dist/types/metrics/behavioral-events.d.ts +29 -0
  145. package/dist/types/metrics/constants.d.ts +183 -0
  146. package/dist/types/services/AddressBook.d.ts +75 -0
  147. package/dist/types/services/AnswerCallOnWebexService.d.ts +37 -0
  148. package/dist/types/services/ApiAiAssistant.d.ts +49 -0
  149. package/dist/types/services/EntryPoint.d.ts +69 -0
  150. package/dist/types/services/Queue.d.ts +78 -0
  151. package/dist/types/services/UserPreference.d.ts +118 -0
  152. package/dist/types/services/WebCallingService.d.ts +1 -0
  153. package/dist/types/services/WebexCrossClientService.d.ts +28 -0
  154. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  155. package/dist/types/services/agent/index.d.ts +46 -0
  156. package/dist/types/services/agent/types.d.ts +413 -0
  157. package/dist/types/services/config/Util.d.ts +20 -0
  158. package/dist/types/services/config/constants.d.ts +273 -0
  159. package/dist/types/services/config/index.d.ts +177 -0
  160. package/dist/types/services/config/types.d.ts +1381 -0
  161. package/dist/types/services/constants.d.ts +110 -0
  162. package/dist/types/services/core/Err.d.ts +127 -0
  163. package/dist/types/services/core/GlobalTypes.d.ts +58 -0
  164. package/dist/types/services/core/Utils.d.ts +121 -0
  165. package/dist/types/services/core/WebexRequest.d.ts +23 -0
  166. package/dist/types/services/core/aqm-reqs.d.ts +65 -0
  167. package/dist/types/services/core/constants.d.ts +99 -0
  168. package/dist/types/services/core/types.d.ts +49 -0
  169. package/dist/types/services/core/websocket/WebSocketManager.d.ts +36 -0
  170. package/dist/types/services/core/websocket/connection-service.d.ts +27 -0
  171. package/dist/types/services/core/websocket/keepalive.worker.d.ts +2 -0
  172. package/dist/types/services/core/websocket/types.d.ts +37 -0
  173. package/dist/types/services/index.d.ts +54 -0
  174. package/dist/types/services/task/AutoWrapup.d.ts +40 -0
  175. package/dist/types/services/task/Task.d.ts +175 -0
  176. package/dist/types/services/task/TaskFactory.d.ts +13 -0
  177. package/dist/types/services/task/TaskManager.d.ts +1 -0
  178. package/dist/types/services/task/TaskUtils.d.ts +138 -0
  179. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  180. package/dist/types/services/task/constants.d.ts +94 -0
  181. package/dist/types/services/task/contact.d.ts +73 -0
  182. package/dist/types/services/task/dialer.d.ts +73 -0
  183. package/dist/types/services/task/digital/Digital.d.ts +22 -0
  184. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1398 -0
  185. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  186. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  187. package/dist/types/services/task/state-machine/guards.d.ts +103 -0
  188. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  189. package/dist/types/services/task/state-machine/types.d.ts +277 -0
  190. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  191. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  192. package/dist/types/services/task/types.d.ts +1933 -0
  193. package/dist/types/services/task/voice/Voice.d.ts +223 -0
  194. package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
  195. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +52 -0
  196. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  197. package/dist/types/types.d.ts +784 -0
  198. package/dist/types/utils/PageCache.d.ts +190 -0
  199. package/dist/types/webex-config.d.ts +53 -0
  200. package/dist/types/webex.d.ts +8 -0
  201. package/dist/types.js +137 -3
  202. package/dist/types.js.map +1 -1
  203. package/dist/utils/PageCache.js +19 -5
  204. package/dist/utils/PageCache.js.map +1 -1
  205. package/dist/webex.js +14 -2
  206. package/dist/webex.js.map +1 -1
  207. package/package.json +16 -12
  208. package/src/cc.ts +983 -60
  209. package/src/config.ts +13 -0
  210. package/src/constants.ts +29 -1
  211. package/src/index.ts +26 -5
  212. package/src/metrics/ai-docs/AGENTS.md +350 -0
  213. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  214. package/src/metrics/ai-docs/metrics-spec.md +860 -0
  215. package/src/metrics/behavioral-events.ts +134 -0
  216. package/src/metrics/constants.ts +39 -3
  217. package/src/services/AddressBook.ts +17 -6
  218. package/src/services/AnswerCallOnWebexService.ts +206 -0
  219. package/src/services/ApiAiAssistant.ts +412 -0
  220. package/src/services/EntryPoint.ts +59 -60
  221. package/src/services/Queue.ts +29 -12
  222. package/src/services/UserPreference.ts +509 -0
  223. package/src/services/WebexCrossClientService.ts +212 -0
  224. package/src/services/WxAppTelephonyMercurySync.ts +115 -0
  225. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  226. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  227. package/src/services/agent/ai-docs/agent-spec.md +504 -0
  228. package/src/services/agent/types.ts +1 -1
  229. package/src/services/ai-docs/AGENTS.md +386 -0
  230. package/src/services/ai-docs/services-spec.md +497 -0
  231. package/src/services/config/Util.ts +13 -2
  232. package/src/services/config/ai-docs/AGENTS.md +255 -0
  233. package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
  234. package/src/services/config/ai-docs/config-spec.md +675 -0
  235. package/src/services/config/constants.ts +47 -7
  236. package/src/services/config/index.ts +45 -1
  237. package/src/services/config/types.ts +253 -11
  238. package/src/services/constants.ts +29 -0
  239. package/src/services/core/Err.ts +4 -0
  240. package/src/services/core/Utils.ts +143 -30
  241. package/src/services/core/WebexRequest.ts +3 -1
  242. package/src/services/core/ai-docs/AGENTS.md +381 -0
  243. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  244. package/src/services/core/ai-docs/core-spec.md +787 -0
  245. package/src/services/core/aqm-reqs.ts +125 -32
  246. package/src/services/core/types.ts +2 -0
  247. package/src/services/core/websocket/WebSocketManager.ts +23 -6
  248. package/src/services/core/websocket/connection-service.ts +5 -1
  249. package/src/services/core/websocket/types.ts +1 -1
  250. package/src/services/index.ts +4 -0
  251. package/src/services/task/Task.ts +908 -0
  252. package/src/services/task/TaskFactory.ts +60 -0
  253. package/src/services/task/TaskManager.ts +1291 -513
  254. package/src/services/task/TaskUtils.ts +314 -24
  255. package/src/services/task/WebexCallingUtils.ts +136 -0
  256. package/src/services/task/ai-docs/AGENTS.md +457 -0
  257. package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
  258. package/src/services/task/ai-docs/task-spec.md +1469 -0
  259. package/src/services/task/constants.ts +26 -0
  260. package/src/services/task/contact.ts +30 -0
  261. package/src/services/task/dialer.ts +136 -1
  262. package/src/services/task/digital/Digital.ts +97 -0
  263. package/src/services/task/state-machine/TaskStateMachine.ts +1313 -0
  264. package/src/services/task/state-machine/actions.ts +741 -0
  265. package/src/services/task/state-machine/ai-docs/AGENTS.md +462 -0
  266. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1146 -0
  267. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2209 -0
  268. package/src/services/task/state-machine/constants.ts +172 -0
  269. package/src/services/task/state-machine/guards.ts +498 -0
  270. package/src/services/task/state-machine/index.ts +28 -0
  271. package/src/services/task/state-machine/types.ts +258 -0
  272. package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
  273. package/src/services/task/taskDataNormalizer.ts +137 -0
  274. package/src/services/task/types.ts +843 -70
  275. package/src/services/task/voice/Voice.ts +1720 -0
  276. package/src/services/task/voice/WebRTC.ts +191 -0
  277. package/src/services/task/voice/wxAppVoiceMethods.ts +307 -0
  278. package/src/services/wxAppTelephonyUtils.ts +14 -0
  279. package/src/types.ts +238 -11
  280. package/src/utils/AGENTS.md +289 -0
  281. package/src/utils/PageCache.ts +38 -5
  282. package/src/utils/ai-docs/utils-spec.md +391 -0
  283. package/src/webex.js +2 -0
  284. package/test/unit/spec/cc.ts +1856 -122
  285. package/test/unit/spec/logger-proxy.ts +70 -0
  286. package/test/unit/spec/metrics/behavioral-events.ts +18 -0
  287. package/test/unit/spec/services/AddressBook.ts +37 -6
  288. package/test/unit/spec/services/AnswerCallOnWebexService.ts +223 -0
  289. package/test/unit/spec/services/ApiAiAssistant.ts +273 -0
  290. package/test/unit/spec/services/EntryPoint.ts +87 -40
  291. package/test/unit/spec/services/Queue.ts +123 -12
  292. package/test/unit/spec/services/UserPreference.ts +401 -0
  293. package/test/unit/spec/services/WebCallingService.ts +7 -1
  294. package/test/unit/spec/services/WebexCrossClientService.ts +261 -0
  295. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +113 -0
  296. package/test/unit/spec/services/config/Util.ts +85 -0
  297. package/test/unit/spec/services/config/index.ts +85 -29
  298. package/test/unit/spec/services/core/Utils.ts +481 -2
  299. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  300. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  301. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +137 -41
  302. package/test/unit/spec/services/core/websocket/connection-service.ts +3 -1
  303. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  304. package/test/unit/spec/services/task/Task.ts +677 -0
  305. package/test/unit/spec/services/task/TaskFactory.ts +99 -0
  306. package/test/unit/spec/services/task/TaskManager.ts +2209 -918
  307. package/test/unit/spec/services/task/TaskUtils.ts +235 -0
  308. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  309. package/test/unit/spec/services/task/contact.ts +33 -0
  310. package/test/unit/spec/services/task/dialer.ts +372 -96
  311. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  312. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +3433 -0
  313. package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
  314. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  315. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
  316. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  317. package/test/unit/spec/services/task/voice/Voice.ts +1523 -0
  318. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  319. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +459 -0
  320. package/umd/contact-center.min.js +2 -2
  321. package/umd/contact-center.min.js.map +1 -1
  322. package/dist/services/task/index.js +0 -1525
  323. package/dist/services/task/index.js.map +0 -1
  324. package/src/services/task/index.ts +0 -1801
  325. package/test/unit/spec/services/task/index.ts +0 -2184
@@ -3,10 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.endPointMap = exports.METHODS = exports.DEFAULT_PAGE_SIZE = exports.DEFAULT_PAGE = exports.DEFAULT_AUXCODE_ATTRIBUTES = exports.AGENT_STATE_AVAILABLE_ID = exports.AGENT_STATE_AVAILABLE_DESCRIPTION = exports.AGENT_STATE_AVAILABLE = void 0;
6
+ exports.endPointMap = exports.METHODS = exports.DEFAULT_PAGE_SIZE = exports.DEFAULT_PAGE = exports.DEFAULT_AUXCODE_ATTRIBUTES = exports.COLLABORATION_ACCESS = exports.AGENT_STATE_AVAILABLE_ID = exports.AGENT_STATE_AVAILABLE_DESCRIPTION = exports.AGENT_STATE_AVAILABLE = void 0;
7
7
  // making query params configurable for List Teams and List Aux Codes API
8
8
  const DEFAULT_PAGE = exports.DEFAULT_PAGE = 0;
9
9
 
10
+ /** Desktop Profile access levels for collaboration destination categories. */
11
+ const COLLABORATION_ACCESS = exports.COLLABORATION_ACCESS = {
12
+ ALL: 'ALL',
13
+ SPECIFIC: 'SPECIFIC',
14
+ NONE: 'NONE'
15
+ };
16
+
10
17
  /**
11
18
  * Default page size for paginated API requests.
12
19
  * @type {number}
@@ -66,6 +73,8 @@ const METHODS = exports.METHODS = {
66
73
  GET_TENANT_DATA: 'getTenantData',
67
74
  GET_URL_MAPPING: 'getURLMapping',
68
75
  GET_DIAL_PLAN_DATA: 'getDialPlanData',
76
+ GET_AI_FEATURE_FLAGS: 'getAIFeatureFlags',
77
+ GET_QUEUES: 'getQueues',
69
78
  // Util methods
70
79
  PARSE_AGENT_CONFIGS: 'parseAgentConfigs',
71
80
  GET_URL_MAPPING_UTIL: 'getUrlMapping',
@@ -143,7 +152,7 @@ const endPointMap = exports.endPointMap = {
143
152
  * const url = endPointMap.listAuxCodes('org123', 0, 100, ['aux1'], ['id', 'name']);
144
153
  * @ignore
145
154
  */
146
- listAuxCodes: (orgId, page, pageSize, filter, attributes) => `organization/${orgId}/v2/auxiliary-code?page=${page}&pageSize=${pageSize}${filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''}&attributes=${attributes}`,
155
+ listAuxCodes: (orgId, page, pageSize, filter, attributes) => `organization/${orgId}/v2/auxiliary-code?page=${page}&pageSize=${pageSize}${filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''}&attributes=${attributes}&desktopProfileFilter=true`,
147
156
  /**
148
157
  * Gets the endpoint for organization info.
149
158
  * @param orgId - Organization ID.
@@ -205,6 +214,16 @@ const endPointMap = exports.endPointMap = {
205
214
  * @ignore
206
215
  */
207
216
  dialPlan: orgId => `organization/${orgId}/dial-plan?agentView=true`,
217
+ /**
218
+ * Gets the endpoint for listing AI feature flags.
219
+ * @param orgId - Organization ID.
220
+ * @returns The endpoint URL string.
221
+ * @public
222
+ * @example
223
+ * const url = endPointMap.aiFeatureFlags('org123');
224
+ * @ignore
225
+ */
226
+ aiFeature: orgId => `organization/${orgId}/v2/ai-feature?page=0&pageSize=100`,
208
227
  /**
209
228
  * Gets the endpoint for the queue list with custom query parameters.
210
229
  * @param orgId - Organization ID.
@@ -217,16 +236,13 @@ const endPointMap = exports.endPointMap = {
217
236
  */
218
237
  queueList: (orgId, queryParams) => `/organization/${orgId}/v2/contact-service-queue?${queryParams}`,
219
238
  /**
220
- * Gets the endpoint for entry points list with custom query parameters.
239
+ * Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.
221
240
  * @param orgId - Organization ID.
222
241
  * @param queryParams - Query parameters string.
223
242
  * @returns The endpoint URL string.
224
- * @public
225
- * @example
226
- * const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');
227
243
  * @ignore
228
244
  */
229
- entryPointList: (orgId, queryParams) => `/organization/${orgId}/v2/entry-point?${queryParams}`,
245
+ entryPointDialNumberList: (orgId, queryParams) => `/organization/${orgId}/v3/dial-number?${queryParams}`,
230
246
  /**
231
247
  * Gets the endpoint for address book entries with custom query parameters.
232
248
  * @param orgId - Organization ID.
@@ -250,6 +266,27 @@ const endPointMap = exports.endPointMap = {
250
266
  * const url = endPointMap.outdialAniEntries('org123', 'ani456', 'page=0&pageSize=10');
251
267
  * @ignore
252
268
  */
253
- outdialAniEntries: (orgId, outdialANI, queryParams) => `organization/${orgId}/v2/outdial-ani/${outdialANI}/entry${queryParams ? `?${queryParams}` : ''}`
269
+ outdialAniEntries: (orgId, outdialANI, queryParams) => `organization/${orgId}/v2/outdial-ani/${outdialANI}/entry${queryParams ? `?${queryParams}` : ''}`,
270
+ /**
271
+ * Gets the endpoint for user preference by user ID.
272
+ * @param orgId - Organization ID.
273
+ * @param userId - User ID.
274
+ * @returns The endpoint URL string.
275
+ * @public
276
+ * @example
277
+ * const url = endPointMap.userPreference('org123', 'user456');
278
+ * @ignore
279
+ */
280
+ userPreference: (orgId, userId) => `organization/${orgId}/user-preference/${userId}`,
281
+ /**
282
+ * Gets the endpoint for creating user preference.
283
+ * @param orgId - Organization ID.
284
+ * @returns The endpoint URL string.
285
+ * @public
286
+ * @example
287
+ * const url = endPointMap.userPreferenceCreate('org123');
288
+ * @ignore
289
+ */
290
+ userPreferenceCreate: orgId => `organization/${orgId}/user-preference`
254
291
  };
255
292
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_PAGE","exports","DEFAULT_PAGE_SIZE","AGENT_STATE_AVAILABLE_ID","AGENT_STATE_AVAILABLE","AGENT_STATE_AVAILABLE_DESCRIPTION","DEFAULT_AUXCODE_ATTRIBUTES","METHODS","GET_AGENT_CONFIG","GET_USER_USING_CI","GET_DESKTOP_PROFILE_BY_ID","GET_MULTIMEDIA_PROFILE_BY_ID","GET_LIST_OF_TEAMS","GET_ALL_TEAMS","GET_LIST_OF_AUX_CODES","GET_ALL_AUX_CODES","GET_SITE_INFO","GET_ORG_INFO","GET_ORGANIZATION_SETTING","GET_TENANT_DATA","GET_URL_MAPPING","GET_DIAL_PLAN_DATA","PARSE_AGENT_CONFIGS","GET_URL_MAPPING_UTIL","GET_MSFT_CONFIG","GET_WEBEX_CONFIG","GET_DEFAULT_AGENT_DN","GET_FILTERED_DIALPLAN_ENTRIES","GET_FILTER_AUX_CODES","GET_DEFAULT_WRAP_UP_CODE","endPointMap","userByCI","orgId","agentId","desktopProfile","desktopProfileId","multimediaProfile","multimediaProfileId","listTeams","page","pageSize","filter","length","listAuxCodes","attributes","orgInfo","orgSettings","siteInfo","siteId","tenantData","urlMapping","dialPlan","queueList","queryParams","entryPointList","addressBookEntries","addressBookId","outdialAniEntries","outdialANI"],"sources":["constants.ts"],"sourcesContent":["// making query params configurable for List Teams and List Aux Codes API\nexport const DEFAULT_PAGE = 0;\n\n/**\n * Default page size for paginated API requests.\n * @type {number}\n * @public\n * @example\n * const pageSize = DEFAULT_PAGE_SIZE; // 100\n * @ignore\n */\nexport const DEFAULT_PAGE_SIZE = 100;\n\n/**\n * Agent state ID for 'Available'.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE_ID = '0';\n\n/**\n * Agent state label for 'Available'.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE = 'Available';\n\n/**\n * Description for the 'Available' agent state.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE_DESCRIPTION = 'Agent is available to receive calls';\n\n/**\n * Default attributes for auxiliary code API requests.\n * @type {string[]}\n * @public\n * @ignore\n */\nexport const DEFAULT_AUXCODE_ATTRIBUTES = [\n 'id',\n 'isSystemCode',\n 'name',\n 'defaultCode',\n 'workTypeCode',\n 'active',\n];\n\n// Method names for config services\nexport const METHODS = {\n // AgentConfigService methods\n GET_AGENT_CONFIG: 'getAgentConfig',\n GET_USER_USING_CI: 'getUserUsingCI',\n GET_DESKTOP_PROFILE_BY_ID: 'getDesktopProfileById',\n GET_MULTIMEDIA_PROFILE_BY_ID: 'getMultimediaProfileById',\n GET_LIST_OF_TEAMS: 'getListOfTeams',\n GET_ALL_TEAMS: 'getAllTeams',\n GET_LIST_OF_AUX_CODES: 'getListOfAuxCodes',\n GET_ALL_AUX_CODES: 'getAllAuxCodes',\n GET_SITE_INFO: 'getSiteInfo',\n GET_ORG_INFO: 'getOrgInfo',\n GET_ORGANIZATION_SETTING: 'getOrganizationSetting',\n GET_TENANT_DATA: 'getTenantData',\n GET_URL_MAPPING: 'getURLMapping',\n GET_DIAL_PLAN_DATA: 'getDialPlanData',\n\n // Util methods\n PARSE_AGENT_CONFIGS: 'parseAgentConfigs',\n GET_URL_MAPPING_UTIL: 'getUrlMapping',\n GET_MSFT_CONFIG: 'getMsftConfig',\n GET_WEBEX_CONFIG: 'getWebexConfig',\n GET_DEFAULT_AGENT_DN: 'getDefaultAgentDN',\n GET_FILTERED_DIALPLAN_ENTRIES: 'getFilteredDialplanEntries',\n GET_FILTER_AUX_CODES: 'getFilterAuxCodes',\n GET_DEFAULT_WRAP_UP_CODE: 'getDefaultWrapUpCode',\n};\n\n/**\n * Maps API endpoint names to functions that generate endpoint URLs for various organization resources.\n * @public\n * @example\n * const url = endPointMap.userByCI('org123', 'agent456');\n */\nexport const endPointMap = {\n /**\n * Gets the endpoint for a user by CI user ID.\n * @param orgId - Organization ID.\n * @param agentId - Agent ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.userByCI('org123', 'agent456');\n * @ignore\n */\n userByCI: (orgId: string, agentId: string) =>\n `organization/${orgId}/user/by-ci-user-id/${agentId}`,\n\n /**\n * Gets the endpoint for a desktop profile.\n * @param orgId - Organization ID.\n * @param desktopProfileId - Desktop profile ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.desktopProfile('org123', 'profile789');\n * @ignore\n */\n desktopProfile: (orgId: string, desktopProfileId: string) =>\n `organization/${orgId}/agent-profile/${desktopProfileId}`,\n\n /**\n * Gets the endpoint for a multimedia profile.\n * @param orgId - Organization ID.\n * @param multimediaProfileId - Multimedia profile ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.multimediaProfile('org123', 'multi456');\n * @ignore\n */\n multimediaProfile: (orgId: string, multimediaProfileId: string) =>\n `organization/${orgId}/multimedia-profile/${multimediaProfileId}`,\n\n /**\n * Gets the endpoint for listing teams with optional filters.\n * @param orgId - Organization ID.\n * @param page - Page number.\n * @param pageSize - Page size.\n * @param filter - Array of team IDs to filter.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.listTeams('org123', 0, 100, ['team1', 'team2']);\n * @ignore\n */\n listTeams: (orgId: string, page: number, pageSize: number, filter: string[]) =>\n `organization/${orgId}/v2/team?page=${page}&pageSize=${pageSize}${\n filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''\n }`,\n\n /**\n * Gets the endpoint for listing auxiliary codes with optional filters and attributes.\n * @param orgId - Organization ID.\n * @param page - Page number.\n * @param pageSize - Page size.\n * @param filter - Array of auxiliary code IDs to filter.\n * @param attributes - Array of attribute names to include.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.listAuxCodes('org123', 0, 100, ['aux1'], ['id', 'name']);\n * @ignore\n */\n listAuxCodes: (\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ) =>\n `organization/${orgId}/v2/auxiliary-code?page=${page}&pageSize=${pageSize}${\n filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''\n }&attributes=${attributes}`,\n\n /**\n * Gets the endpoint for organization info.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.orgInfo('org123');\n * @ignore\n */\n orgInfo: (orgId: string) => `organization/${orgId}`,\n\n /**\n * Gets the endpoint for organization settings.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.orgSettings('org123');\n * @ignore\n */\n orgSettings: (orgId: string) => `organization/${orgId}/v2/organization-setting?agentView=true`,\n\n /**\n * Gets the endpoint for site info.\n * @param orgId - Organization ID.\n * @param siteId - Site ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.siteInfo('org123', 'site456');\n * @ignore\n */\n siteInfo: (orgId: string, siteId: string) => `organization/${orgId}/site/${siteId}`,\n\n /**\n * Gets the endpoint for tenant configuration data.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.tenantData('org123');\n * @ignore\n */\n tenantData: (orgId: string) => `organization/${orgId}/v2/tenant-configuration?agentView=true`,\n\n /**\n * Gets the endpoint for organization URL mapping.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.urlMapping('org123');\n * @ignore\n */\n urlMapping: (orgId: string) => `organization/${orgId}/v2/org-url-mapping?sort=name,ASC`,\n\n /**\n * Gets the endpoint for dial plan.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.dialPlan('org123');\n * @ignore\n */\n dialPlan: (orgId: string) => `organization/${orgId}/dial-plan?agentView=true`,\n\n /**\n * Gets the endpoint for the queue list with custom query parameters.\n * @param orgId - Organization ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.queueList('org123', 'page=0&pageSize=10');\n * @ignore\n */\n queueList: (orgId: string, queryParams: string) =>\n `/organization/${orgId}/v2/contact-service-queue?${queryParams}`,\n /**\n * Gets the endpoint for entry points list with custom query parameters.\n * @param orgId - Organization ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');\n * @ignore\n */\n entryPointList: (orgId: string, queryParams: string) =>\n `/organization/${orgId}/v2/entry-point?${queryParams}`,\n /**\n * Gets the endpoint for address book entries with custom query parameters.\n * @param orgId - Organization ID.\n * @param addressBookId - Address book ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.addressBookEntries('org123', 'book456', 'page=0&pageSize=10');\n * @ignore\n */\n addressBookEntries: (orgId: string, addressBookId: string, queryParams: string) =>\n `/organization/${orgId}/v2/address-book/${addressBookId}/entry?${queryParams}`,\n\n /**\n * Gets the endpoint for outdial ANI entries with custom query parameters.\n * @param orgId - Organization ID.\n * @param outdialANI - Outdial ANI ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.outdialAniEntries('org123', 'ani456', 'page=0&pageSize=10');\n * @ignore\n */\n outdialAniEntries: (orgId: string, outdialANI: string, queryParams: string) =>\n `organization/${orgId}/v2/outdial-ani/${outdialANI}/entry${\n queryParams ? `?${queryParams}` : ''\n }`,\n};\n"],"mappings":";;;;;;AAAA;AACO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,GAAG;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,wBAAwB,GAAAF,OAAA,CAAAE,wBAAA,GAAG,GAAG;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,WAAW;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iCAAiC,GAAAJ,OAAA,CAAAI,iCAAA,GAAG,qCAAqC;;AAEtF;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAG,CACxC,IAAI,EACJ,cAAc,EACd,MAAM,EACN,aAAa,EACb,cAAc,EACd,QAAQ,CACT;;AAED;AACO,MAAMC,OAAO,GAAAN,OAAA,CAAAM,OAAA,GAAG;EACrB;EACAC,gBAAgB,EAAE,gBAAgB;EAClCC,iBAAiB,EAAE,gBAAgB;EACnCC,yBAAyB,EAAE,uBAAuB;EAClDC,4BAA4B,EAAE,0BAA0B;EACxDC,iBAAiB,EAAE,gBAAgB;EACnCC,aAAa,EAAE,aAAa;EAC5BC,qBAAqB,EAAE,mBAAmB;EAC1CC,iBAAiB,EAAE,gBAAgB;EACnCC,aAAa,EAAE,aAAa;EAC5BC,YAAY,EAAE,YAAY;EAC1BC,wBAAwB,EAAE,wBAAwB;EAClDC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,iBAAiB;EAErC;EACAC,mBAAmB,EAAE,mBAAmB;EACxCC,oBAAoB,EAAE,eAAe;EACrCC,eAAe,EAAE,eAAe;EAChCC,gBAAgB,EAAE,gBAAgB;EAClCC,oBAAoB,EAAE,mBAAmB;EACzCC,6BAA6B,EAAE,4BAA4B;EAC3DC,oBAAoB,EAAE,mBAAmB;EACzCC,wBAAwB,EAAE;AAC5B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,GAAA7B,OAAA,CAAA6B,WAAA,GAAG;EACzB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,QAAQ,EAAEA,CAACC,KAAa,EAAEC,OAAe,KACvC,gBAAgBD,KAAK,uBAAuBC,OAAO,EAAE;EAEvD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,cAAc,EAAEA,CAACF,KAAa,EAAEG,gBAAwB,KACtD,gBAAgBH,KAAK,kBAAkBG,gBAAgB,EAAE;EAE3D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,iBAAiB,EAAEA,CAACJ,KAAa,EAAEK,mBAA2B,KAC5D,gBAAgBL,KAAK,uBAAuBK,mBAAmB,EAAE;EAEnE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,SAAS,EAAEA,CAACN,KAAa,EAAEO,IAAY,EAAEC,QAAgB,EAAEC,MAAgB,KACzE,gBAAgBT,KAAK,iBAAiBO,IAAI,aAAaC,QAAQ,GAC7DC,MAAM,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,GAAG,kBAAkBD,MAAM,GAAG,GAAG,EAAE,EAC9D;EAEJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,YAAY,EAAEA,CACZX,KAAa,EACbO,IAAY,EACZC,QAAgB,EAChBC,MAAgB,EAChBG,UAAoB,KAEpB,gBAAgBZ,KAAK,2BAA2BO,IAAI,aAAaC,QAAQ,GACvEC,MAAM,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,GAAG,kBAAkBD,MAAM,GAAG,GAAG,EAAE,eACjDG,UAAU,EAAE;EAE7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,OAAO,EAAGb,KAAa,IAAK,gBAAgBA,KAAK,EAAE;EAEnD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEc,WAAW,EAAGd,KAAa,IAAK,gBAAgBA,KAAK,yCAAyC;EAE9F;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEe,QAAQ,EAAEA,CAACf,KAAa,EAAEgB,MAAc,KAAK,gBAAgBhB,KAAK,SAASgB,MAAM,EAAE;EAEnF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,UAAU,EAAGjB,KAAa,IAAK,gBAAgBA,KAAK,yCAAyC;EAE7F;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEkB,UAAU,EAAGlB,KAAa,IAAK,gBAAgBA,KAAK,mCAAmC;EAEvF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEmB,QAAQ,EAAGnB,KAAa,IAAK,gBAAgBA,KAAK,2BAA2B;EAE7E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEoB,SAAS,EAAEA,CAACpB,KAAa,EAAEqB,WAAmB,KAC5C,iBAAiBrB,KAAK,6BAA6BqB,WAAW,EAAE;EAClE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,cAAc,EAAEA,CAACtB,KAAa,EAAEqB,WAAmB,KACjD,iBAAiBrB,KAAK,mBAAmBqB,WAAW,EAAE;EACxD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,kBAAkB,EAAEA,CAACvB,KAAa,EAAEwB,aAAqB,EAAEH,WAAmB,KAC5E,iBAAiBrB,KAAK,oBAAoBwB,aAAa,UAAUH,WAAW,EAAE;EAEhF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEI,iBAAiB,EAAEA,CAACzB,KAAa,EAAE0B,UAAkB,EAAEL,WAAmB,KACxE,gBAAgBrB,KAAK,mBAAmB0B,UAAU,SAChDL,WAAW,GAAG,IAAIA,WAAW,EAAE,GAAG,EAAE;AAE1C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_PAGE","exports","COLLABORATION_ACCESS","ALL","SPECIFIC","NONE","DEFAULT_PAGE_SIZE","AGENT_STATE_AVAILABLE_ID","AGENT_STATE_AVAILABLE","AGENT_STATE_AVAILABLE_DESCRIPTION","DEFAULT_AUXCODE_ATTRIBUTES","METHODS","GET_AGENT_CONFIG","GET_USER_USING_CI","GET_DESKTOP_PROFILE_BY_ID","GET_MULTIMEDIA_PROFILE_BY_ID","GET_LIST_OF_TEAMS","GET_ALL_TEAMS","GET_LIST_OF_AUX_CODES","GET_ALL_AUX_CODES","GET_SITE_INFO","GET_ORG_INFO","GET_ORGANIZATION_SETTING","GET_TENANT_DATA","GET_URL_MAPPING","GET_DIAL_PLAN_DATA","GET_AI_FEATURE_FLAGS","GET_QUEUES","PARSE_AGENT_CONFIGS","GET_URL_MAPPING_UTIL","GET_MSFT_CONFIG","GET_WEBEX_CONFIG","GET_DEFAULT_AGENT_DN","GET_FILTERED_DIALPLAN_ENTRIES","GET_FILTER_AUX_CODES","GET_DEFAULT_WRAP_UP_CODE","endPointMap","userByCI","orgId","agentId","desktopProfile","desktopProfileId","multimediaProfile","multimediaProfileId","listTeams","page","pageSize","filter","length","listAuxCodes","attributes","orgInfo","orgSettings","siteInfo","siteId","tenantData","urlMapping","dialPlan","aiFeature","queueList","queryParams","entryPointDialNumberList","addressBookEntries","addressBookId","outdialAniEntries","outdialANI","userPreference","userId","userPreferenceCreate"],"sources":["constants.ts"],"sourcesContent":["// making query params configurable for List Teams and List Aux Codes API\nexport const DEFAULT_PAGE = 0;\n\n/** Desktop Profile access levels for collaboration destination categories. */\nexport const COLLABORATION_ACCESS = {\n ALL: 'ALL',\n SPECIFIC: 'SPECIFIC',\n NONE: 'NONE',\n} as const;\n\n/**\n * Default page size for paginated API requests.\n * @type {number}\n * @public\n * @example\n * const pageSize = DEFAULT_PAGE_SIZE; // 100\n * @ignore\n */\nexport const DEFAULT_PAGE_SIZE = 100;\n\n/**\n * Agent state ID for 'Available'.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE_ID = '0';\n\n/**\n * Agent state label for 'Available'.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE = 'Available';\n\n/**\n * Description for the 'Available' agent state.\n * @type {string}\n * @public\n * @ignore\n */\nexport const AGENT_STATE_AVAILABLE_DESCRIPTION = 'Agent is available to receive calls';\n\n/**\n * Default attributes for auxiliary code API requests.\n * @type {string[]}\n * @public\n * @ignore\n */\nexport const DEFAULT_AUXCODE_ATTRIBUTES = [\n 'id',\n 'isSystemCode',\n 'name',\n 'defaultCode',\n 'workTypeCode',\n 'active',\n];\n\n// Method names for config services\nexport const METHODS = {\n // AgentConfigService methods\n GET_AGENT_CONFIG: 'getAgentConfig',\n GET_USER_USING_CI: 'getUserUsingCI',\n GET_DESKTOP_PROFILE_BY_ID: 'getDesktopProfileById',\n GET_MULTIMEDIA_PROFILE_BY_ID: 'getMultimediaProfileById',\n GET_LIST_OF_TEAMS: 'getListOfTeams',\n GET_ALL_TEAMS: 'getAllTeams',\n GET_LIST_OF_AUX_CODES: 'getListOfAuxCodes',\n GET_ALL_AUX_CODES: 'getAllAuxCodes',\n GET_SITE_INFO: 'getSiteInfo',\n GET_ORG_INFO: 'getOrgInfo',\n GET_ORGANIZATION_SETTING: 'getOrganizationSetting',\n GET_TENANT_DATA: 'getTenantData',\n GET_URL_MAPPING: 'getURLMapping',\n GET_DIAL_PLAN_DATA: 'getDialPlanData',\n GET_AI_FEATURE_FLAGS: 'getAIFeatureFlags',\n GET_QUEUES: 'getQueues',\n\n // Util methods\n PARSE_AGENT_CONFIGS: 'parseAgentConfigs',\n GET_URL_MAPPING_UTIL: 'getUrlMapping',\n GET_MSFT_CONFIG: 'getMsftConfig',\n GET_WEBEX_CONFIG: 'getWebexConfig',\n GET_DEFAULT_AGENT_DN: 'getDefaultAgentDN',\n GET_FILTERED_DIALPLAN_ENTRIES: 'getFilteredDialplanEntries',\n GET_FILTER_AUX_CODES: 'getFilterAuxCodes',\n GET_DEFAULT_WRAP_UP_CODE: 'getDefaultWrapUpCode',\n};\n\n/**\n * Maps API endpoint names to functions that generate endpoint URLs for various organization resources.\n * @public\n * @example\n * const url = endPointMap.userByCI('org123', 'agent456');\n */\nexport const endPointMap = {\n /**\n * Gets the endpoint for a user by CI user ID.\n * @param orgId - Organization ID.\n * @param agentId - Agent ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.userByCI('org123', 'agent456');\n * @ignore\n */\n userByCI: (orgId: string, agentId: string) =>\n `organization/${orgId}/user/by-ci-user-id/${agentId}`,\n\n /**\n * Gets the endpoint for a desktop profile.\n * @param orgId - Organization ID.\n * @param desktopProfileId - Desktop profile ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.desktopProfile('org123', 'profile789');\n * @ignore\n */\n desktopProfile: (orgId: string, desktopProfileId: string) =>\n `organization/${orgId}/agent-profile/${desktopProfileId}`,\n\n /**\n * Gets the endpoint for a multimedia profile.\n * @param orgId - Organization ID.\n * @param multimediaProfileId - Multimedia profile ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.multimediaProfile('org123', 'multi456');\n * @ignore\n */\n multimediaProfile: (orgId: string, multimediaProfileId: string) =>\n `organization/${orgId}/multimedia-profile/${multimediaProfileId}`,\n\n /**\n * Gets the endpoint for listing teams with optional filters.\n * @param orgId - Organization ID.\n * @param page - Page number.\n * @param pageSize - Page size.\n * @param filter - Array of team IDs to filter.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.listTeams('org123', 0, 100, ['team1', 'team2']);\n * @ignore\n */\n listTeams: (orgId: string, page: number, pageSize: number, filter: string[]) =>\n `organization/${orgId}/v2/team?page=${page}&pageSize=${pageSize}${\n filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''\n }`,\n\n /**\n * Gets the endpoint for listing auxiliary codes with optional filters and attributes.\n * @param orgId - Organization ID.\n * @param page - Page number.\n * @param pageSize - Page size.\n * @param filter - Array of auxiliary code IDs to filter.\n * @param attributes - Array of attribute names to include.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.listAuxCodes('org123', 0, 100, ['aux1'], ['id', 'name']);\n * @ignore\n */\n listAuxCodes: (\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ) =>\n `organization/${orgId}/v2/auxiliary-code?page=${page}&pageSize=${pageSize}${\n filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''\n }&attributes=${attributes}&desktopProfileFilter=true`,\n\n /**\n * Gets the endpoint for organization info.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.orgInfo('org123');\n * @ignore\n */\n orgInfo: (orgId: string) => `organization/${orgId}`,\n\n /**\n * Gets the endpoint for organization settings.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.orgSettings('org123');\n * @ignore\n */\n orgSettings: (orgId: string) => `organization/${orgId}/v2/organization-setting?agentView=true`,\n\n /**\n * Gets the endpoint for site info.\n * @param orgId - Organization ID.\n * @param siteId - Site ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.siteInfo('org123', 'site456');\n * @ignore\n */\n siteInfo: (orgId: string, siteId: string) => `organization/${orgId}/site/${siteId}`,\n\n /**\n * Gets the endpoint for tenant configuration data.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.tenantData('org123');\n * @ignore\n */\n tenantData: (orgId: string) => `organization/${orgId}/v2/tenant-configuration?agentView=true`,\n\n /**\n * Gets the endpoint for organization URL mapping.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.urlMapping('org123');\n * @ignore\n */\n urlMapping: (orgId: string) => `organization/${orgId}/v2/org-url-mapping?sort=name,ASC`,\n\n /**\n * Gets the endpoint for dial plan.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.dialPlan('org123');\n * @ignore\n */\n dialPlan: (orgId: string) => `organization/${orgId}/dial-plan?agentView=true`,\n /**\n * Gets the endpoint for listing AI feature flags.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.aiFeatureFlags('org123');\n * @ignore\n */\n aiFeature: (orgId: string) => `organization/${orgId}/v2/ai-feature?page=0&pageSize=100`,\n\n /**\n * Gets the endpoint for the queue list with custom query parameters.\n * @param orgId - Organization ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.queueList('org123', 'page=0&pageSize=10');\n * @ignore\n */\n queueList: (orgId: string, queryParams: string) =>\n `/organization/${orgId}/v2/contact-service-queue?${queryParams}`,\n /**\n * Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.\n * @param orgId - Organization ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @ignore\n */\n entryPointDialNumberList: (orgId: string, queryParams: string) =>\n `/organization/${orgId}/v3/dial-number?${queryParams}`,\n /**\n * Gets the endpoint for address book entries with custom query parameters.\n * @param orgId - Organization ID.\n * @param addressBookId - Address book ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.addressBookEntries('org123', 'book456', 'page=0&pageSize=10');\n * @ignore\n */\n addressBookEntries: (orgId: string, addressBookId: string, queryParams: string) =>\n `/organization/${orgId}/v2/address-book/${addressBookId}/entry?${queryParams}`,\n\n /**\n * Gets the endpoint for outdial ANI entries with custom query parameters.\n * @param orgId - Organization ID.\n * @param outdialANI - Outdial ANI ID.\n * @param queryParams - Query parameters string.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.outdialAniEntries('org123', 'ani456', 'page=0&pageSize=10');\n * @ignore\n */\n outdialAniEntries: (orgId: string, outdialANI: string, queryParams: string) =>\n `organization/${orgId}/v2/outdial-ani/${outdialANI}/entry${\n queryParams ? `?${queryParams}` : ''\n }`,\n\n /**\n * Gets the endpoint for user preference by user ID.\n * @param orgId - Organization ID.\n * @param userId - User ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.userPreference('org123', 'user456');\n * @ignore\n */\n userPreference: (orgId: string, userId: string) =>\n `organization/${orgId}/user-preference/${userId}`,\n\n /**\n * Gets the endpoint for creating user preference.\n * @param orgId - Organization ID.\n * @returns The endpoint URL string.\n * @public\n * @example\n * const url = endPointMap.userPreferenceCreate('org123');\n * @ignore\n */\n userPreferenceCreate: (orgId: string) => `organization/${orgId}/user-preference`,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -42,6 +42,7 @@ class AgentConfigService {
42
42
  const orgSettingsPromise = this.getOrganizationSetting(orgId);
43
43
  const tenantDataPromise = this.getTenantData(orgId);
44
44
  const urlMappingPromise = this.getURLMapping(orgId);
45
+ const aiFeatureFlagsPromise = this.getAIFeatureFlags(orgId);
45
46
  const auxCodesPromise = this.getAllAuxCodes(orgId, _constants3.DEFAULT_PAGE_SIZE, [], _constants3.DEFAULT_AUXCODE_ATTRIBUTES);
46
47
  const userConfigData = await userConfigPromise;
47
48
  _loggerProxy.default.info(`Fetched user data, userId: ${userConfigData.ciUserId}`, {
@@ -52,7 +53,7 @@ class AgentConfigService {
52
53
  const siteInfoPromise = this.getSiteInfo(orgId, userConfigData.siteId);
53
54
  const userDialPlanPromise = agentProfilePromise.then(agentProfileConfigData => agentProfileConfigData.dialPlanEnabled ? this.getDialPlanData(orgId) : []);
54
55
  const userTeamPromise = userConfigData.teamIds ? this.getAllTeams(orgId, _constants3.DEFAULT_PAGE_SIZE, userConfigData.teamIds) : Promise.resolve([]);
55
- const [agentProfileConfigData, siteInfo, userDialPlanData, userTeamData, orgInfo, orgSettingsData, tenantData, urlMappingData, auxCodesData] = await Promise.all([agentProfilePromise, siteInfoPromise, userDialPlanPromise, userTeamPromise, orgInfoPromise, orgSettingsPromise, tenantDataPromise, urlMappingPromise, auxCodesPromise]);
56
+ const [agentProfileConfigData, siteInfo, userDialPlanData, userTeamData, orgInfo, orgSettingsData, tenantData, urlMappingData, aiFeatureFlagsData, auxCodesData] = await Promise.all([agentProfilePromise, siteInfoPromise, userDialPlanPromise, userTeamPromise, orgInfoPromise, orgSettingsPromise, tenantDataPromise, urlMappingPromise, aiFeatureFlagsPromise, auxCodesPromise]);
56
57
  const multimediaProfileId = userConfigData.multimediaProfileId || userTeamData[0]?.multiMediaProfileId || siteInfo.multimediaProfileId;
57
58
  _loggerProxy.default.info('Fetched all required data', {
58
59
  module: _constants2.CONFIG_FILE_NAME,
@@ -68,7 +69,8 @@ class AgentConfigService {
68
69
  agentProfileData: agentProfileConfigData,
69
70
  dialPlanData: userDialPlanData,
70
71
  urlMapping: urlMappingData,
71
- multimediaProfileId
72
+ multimediaProfileId,
73
+ aiFeatureFlags: aiFeatureFlagsData
72
74
  });
73
75
  _loggerProxy.default.info('Parsing completed for agent-config', {
74
76
  module: _constants2.CONFIG_FILE_NAME,
@@ -526,6 +528,43 @@ class AgentConfigService {
526
528
  }
527
529
  }
528
530
 
531
+ /**
532
+ * Fetches AI feature resources for the organization.
533
+ * @ignore
534
+ * @param {string} orgId - organization ID for which AI feature resources are to be fetched.
535
+ * @returns {Promise<AIFeatureFlagsResponse>} - AI feature resources response.
536
+ * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.
537
+ * @private
538
+ */
539
+ async getAIFeatureFlags(orgId) {
540
+ _loggerProxy.default.info('Fetching AI feature resources', {
541
+ module: _constants2.CONFIG_FILE_NAME,
542
+ method: _constants3.METHODS.GET_AI_FEATURE_FLAGS
543
+ });
544
+ try {
545
+ const resource = _constants3.endPointMap.aiFeature(orgId);
546
+ const response = await this.webexReq.request({
547
+ service: _constants.WCC_API_GATEWAY,
548
+ resource,
549
+ method: _types.HTTP_METHODS.GET
550
+ });
551
+ if (response.statusCode !== 200) {
552
+ throw new Error(`API call failed with ${response.statusCode}`);
553
+ }
554
+ _loggerProxy.default.log('getAIFeatureFlags api success.', {
555
+ module: _constants2.CONFIG_FILE_NAME,
556
+ method: _constants3.METHODS.GET_AI_FEATURE_FLAGS
557
+ });
558
+ return Promise.resolve(response.body);
559
+ } catch (error) {
560
+ _loggerProxy.default.error(`getAIFeatureFlags API call failed with ${error}`, {
561
+ module: _constants2.CONFIG_FILE_NAME,
562
+ method: _constants3.METHODS.GET_AI_FEATURE_FLAGS
563
+ });
564
+ throw error;
565
+ }
566
+ }
567
+
529
568
  /**
530
569
  * Fetches the dial plan data for the given orgId.
531
570
  * @ignore
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_loggerProxy","_interopRequireDefault","_WebexRequest","_constants","_constants2","_Util","_constants3","e","__esModule","default","AgentConfigService","constructor","webexReq","WebexRequest","getInstance","getAgentConfig","orgId","agentId","userConfigPromise","getUserUsingCI","orgInfoPromise","getOrgInfo","orgSettingsPromise","getOrganizationSetting","tenantDataPromise","getTenantData","urlMappingPromise","getURLMapping","auxCodesPromise","getAllAuxCodes","DEFAULT_PAGE_SIZE","DEFAULT_AUXCODE_ATTRIBUTES","userConfigData","LoggerProxy","info","ciUserId","module","CONFIG_FILE_NAME","method","METHODS","GET_AGENT_CONFIG","agentProfilePromise","getDesktopProfileById","agentProfileId","siteInfoPromise","getSiteInfo","siteId","userDialPlanPromise","then","agentProfileConfigData","dialPlanEnabled","getDialPlanData","userTeamPromise","teamIds","getAllTeams","Promise","resolve","siteInfo","userDialPlanData","userTeamData","orgInfo","orgSettingsData","tenantData","urlMappingData","auxCodesData","all","multimediaProfileId","multiMediaProfileId","response","parseAgentConfigs","userData","teamData","orgInfoData","auxCodes","agentProfileData","dialPlanData","urlMapping","error","GET_USER_USING_CI","resource","endPointMap","userByCI","request","service","WCC_API_GATEWAY","HTTP_METHODS","GET","statusCode","Error","log","body","desktopProfileId","GET_DESKTOP_PROFILE_BY_ID","desktopProfile","getMultimediaProfileById","GET_MULTIMEDIA_PROFILE_BY_ID","multimediaProfile","getListOfTeams","page","pageSize","filter","GET_LIST_OF_TEAMS","listTeams","allTeams","DEFAULT_PAGE","firstResponse","totalPages","meta","concat","data","requests","push","responses","GET_ALL_TEAMS","getListOfAuxCodes","attributes","GET_LIST_OF_AUX_CODES","listAuxCodes","allAuxCodes","promises","forEach","GET_ALL_AUX_CODES","GET_SITE_INFO","GET_ORG_INFO","orgSettings","GET_ORGANIZATION_SETTING","GET_TENANT_DATA","GET_URL_MAPPING","dialPlan","GET_DIAL_PLAN_DATA","getOutdialAniEntries","params","outdialANI","search","MAIN_METHODS","GET_OUTDIAL_ANI_ENTRIES","queryParams","undefined","queryString","length","join","outdialAniEntries","exports"],"sources":["index.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * @module AgentConfigService\n */\n\nimport {HTTP_METHODS} from '../../types';\nimport LoggerProxy from '../../logger-proxy';\nimport {\n DesktopProfileResponse,\n ListAuxCodesResponse,\n AgentResponse,\n TenantData,\n OrgInfo,\n OrgSettings,\n URLMapping,\n TeamList,\n DialPlanEntity,\n Profile,\n ListTeamsResponse,\n AuxCode,\n MultimediaProfileResponse,\n SiteInfo,\n OutdialAniEntriesResponse,\n OutdialAniParams,\n} from './types';\nimport WebexRequest from '../core/WebexRequest';\nimport {WCC_API_GATEWAY} from '../constants';\nimport {CONFIG_FILE_NAME, METHODS as MAIN_METHODS} from '../../constants';\nimport {parseAgentConfigs} from './Util';\nimport {\n DEFAULT_AUXCODE_ATTRIBUTES,\n DEFAULT_PAGE,\n DEFAULT_PAGE_SIZE,\n endPointMap,\n METHODS,\n} from './constants';\n\n/**\n * The AgentConfigService class provides methods to fetch agent configuration data.\n * @private\n * @ignore\n */\nexport default class AgentConfigService {\n private webexReq: WebexRequest;\n constructor() {\n this.webexReq = WebexRequest.getInstance();\n }\n\n /**\n * Fetches the agent configuration data for the given orgId and agentId.\n * @param {string} orgId - organization ID for which the agent configuration is to be fetched.\n * @param {string} agentId - agent ID for which the configuration is to be fetched.\n * @returns {Promise<Profile>} - A promise that resolves to the agent configuration profile.\n * @throws {Error} - Throws an error if any API call fails or if the response status is not 200.\n * @public\n */\n public async getAgentConfig(orgId: string, agentId: string): Promise<Profile> {\n try {\n const userConfigPromise = this.getUserUsingCI(orgId, agentId);\n const orgInfoPromise = this.getOrgInfo(orgId);\n const orgSettingsPromise = this.getOrganizationSetting(orgId);\n const tenantDataPromise = this.getTenantData(orgId);\n const urlMappingPromise = this.getURLMapping(orgId);\n const auxCodesPromise = this.getAllAuxCodes(\n orgId,\n DEFAULT_PAGE_SIZE,\n [],\n DEFAULT_AUXCODE_ATTRIBUTES\n );\n\n const userConfigData = await userConfigPromise;\n LoggerProxy.info(`Fetched user data, userId: ${userConfigData.ciUserId}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n const agentProfilePromise = this.getDesktopProfileById(orgId, userConfigData.agentProfileId);\n const siteInfoPromise = this.getSiteInfo(orgId, userConfigData.siteId);\n\n const userDialPlanPromise = agentProfilePromise.then((agentProfileConfigData) =>\n agentProfileConfigData.dialPlanEnabled ? this.getDialPlanData(orgId) : []\n );\n\n const userTeamPromise = userConfigData.teamIds\n ? this.getAllTeams(orgId, DEFAULT_PAGE_SIZE, userConfigData.teamIds)\n : Promise.resolve([]);\n\n const [\n agentProfileConfigData,\n siteInfo,\n userDialPlanData,\n userTeamData,\n orgInfo,\n orgSettingsData,\n tenantData,\n urlMappingData,\n auxCodesData,\n ] = await Promise.all([\n agentProfilePromise,\n siteInfoPromise,\n userDialPlanPromise,\n userTeamPromise,\n orgInfoPromise,\n orgSettingsPromise,\n tenantDataPromise,\n urlMappingPromise,\n auxCodesPromise,\n ]);\n\n const multimediaProfileId =\n userConfigData.multimediaProfileId ||\n userTeamData[0]?.multiMediaProfileId ||\n siteInfo.multimediaProfileId;\n\n LoggerProxy.info('Fetched all required data', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n const response = parseAgentConfigs({\n userData: userConfigData,\n teamData: userTeamData,\n tenantData,\n orgInfoData: orgInfo,\n auxCodes: auxCodesData,\n orgSettingsData,\n agentProfileData: agentProfileConfigData,\n dialPlanData: userDialPlanData,\n urlMapping: urlMappingData,\n multimediaProfileId,\n });\n\n LoggerProxy.info('Parsing completed for agent-config', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n LoggerProxy.info('Fetched configuration data successfully', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n return response;\n } catch (error) {\n LoggerProxy.error(`getAgentConfig call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the agent configuration data for the given orgId and agentId.\n * @ignore\n * @param {string} orgId - organization ID for which the agent configuration is to be fetched.\n * @param {string} agentId - agent ID for which the configuration is to be fetched.\n * @returns {Promise<AgentResponse>} - A promise that resolves to the agent configuration response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getUserUsingCI(orgId: string, agentId: string): Promise<AgentResponse> {\n LoggerProxy.info('Fetching user data using CI', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n\n try {\n const resource = endPointMap.userByCI(orgId, agentId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getUserUsingCI api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getUserUsingCI API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the desktop profile data for the given orgId and desktopProfileId.\n * @ignore\n * @param {string} orgId - organization ID for which the desktop profile is to be fetched.\n * @param {string} desktopProfileId - desktop profile ID for which the data is to be fetched.\n * @returns {Promise<DesktopProfileResponse>} - A promise that resolves to the desktop profile response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getDesktopProfileById(\n orgId: string,\n desktopProfileId: string\n ): Promise<DesktopProfileResponse> {\n LoggerProxy.info('Fetching desktop profile', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n\n try {\n const resource = endPointMap.desktopProfile(orgId, desktopProfileId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getDesktopProfileById api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getDesktopProfileById API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the multimedia profile data for the given orgId and multimediaProfileId.\n * @ignore\n * @param {string} orgId - organization ID for which the multimedia profile is to be fetched.\n * @param {string} multimediaProfileId - multimedia profile ID for which the data is to be fetched.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @returns {Promise<MultimediaProfileResponse>} - A promise that resolves to the multimedia profile response.\n * @private\n */\n public async getMultimediaProfileById(\n orgId: string,\n multimediaProfileId: string\n ): Promise<MultimediaProfileResponse> {\n LoggerProxy.info('Fetching multimedia profile', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n\n try {\n const resource = endPointMap.multimediaProfile(orgId, multimediaProfileId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getMultimediaProfileById API success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getMultimediaProfileById API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n throw error;\n }\n }\n\n /**\n * fetches the list of teams for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the teams are to be fetched.\n * @param {number} page - the page number to fetch.\n * @param {number} pageSize - the number of teams to fetch per page.\n * @param {string[]} filter - optional filter criteria for the teams.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<ListTeamsResponse>} - A promise that resolves to the list of teams response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getListOfTeams(\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[]\n ): Promise<ListTeamsResponse> {\n LoggerProxy.info('Fetching list of teams', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n\n try {\n const resource = endPointMap.listTeams(orgId, page, pageSize, filter);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getListOfTeams api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getListOfTeams API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n throw error;\n }\n }\n\n /**\n * Fetches all teams from all pages for the given orgId\n * @ignore\n * @param {string} orgId - organization ID for which the teams are to be fetched.\n * @param {number} pageSize - the number of teams to fetch per page.\n * @param {string[]} filter - optional filter criteria for the teams.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<TeamList[]>} - A promise that resolves to the list of teams.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getAllTeams(orgId: string, pageSize: number, filter: string[]): Promise<TeamList[]> {\n try {\n let allTeams: TeamList[] = [];\n let page = DEFAULT_PAGE;\n const firstResponse = await this.getListOfTeams(orgId, page, pageSize, filter);\n const totalPages = firstResponse.meta.totalPages;\n allTeams = allTeams.concat(firstResponse.data);\n const requests = [];\n for (page = DEFAULT_PAGE + 1; page < totalPages; page += 1) {\n requests.push(this.getListOfTeams(orgId, page, pageSize, filter));\n }\n const responses = await Promise.all(requests);\n\n for (const response of responses) {\n allTeams = allTeams.concat(response.data);\n }\n\n return allTeams;\n } catch (error) {\n LoggerProxy.error(`getAllTeams API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ALL_TEAMS,\n });\n throw error;\n }\n }\n\n /**\n * fetches the list of aux codes for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the aux codes are to be fetched.\n * @param {number} page - the page number to fetch.\n * @param {number} pageSize - the number of aux codes to fetch per page.\n * @param {string[]} filter - optional filter criteria for the aux codes.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<ListAuxCodesResponse>} - A promise that resolves to the list of aux codes response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getListOfAuxCodes(\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ): Promise<ListAuxCodesResponse> {\n LoggerProxy.info('Fetching list of aux codes', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n\n try {\n const resource = endPointMap.listAuxCodes(orgId, page, pageSize, filter, attributes);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getListOfAuxCodes api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getListOfAuxCodes API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n throw error;\n }\n }\n\n /**\n * Fetches all aux codes from all pages for the given orgId\n * @ignore\n * @param {string} orgId - organization ID for which the aux codes are to be fetched.\n * @param {number} pageSize - the number of aux codes to fetch per page.\n * @param {string[]} filter - optional filter criteria for the aux codes.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<AuxCode[]>} - A promise that resolves to the list of aux codes.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getAllAuxCodes(\n orgId: string,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ): Promise<AuxCode[]> {\n try {\n let allAuxCodes: AuxCode[] = [];\n let page = DEFAULT_PAGE;\n\n const firstResponse = await this.getListOfAuxCodes(orgId, page, pageSize, filter, attributes);\n allAuxCodes = allAuxCodes.concat(firstResponse.data);\n const totalPages = firstResponse.meta.totalPages;\n\n const promises: Promise<ListAuxCodesResponse>[] = [];\n for (page = DEFAULT_PAGE + 1; page < totalPages; page += 1) {\n promises.push(this.getListOfAuxCodes(orgId, page, pageSize, filter, attributes));\n }\n\n const responses = await Promise.all(promises);\n\n responses.forEach((response) => {\n allAuxCodes = allAuxCodes.concat(response.data);\n });\n\n return allAuxCodes;\n } catch (error) {\n LoggerProxy.error(`getAllAuxCodes API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ALL_AUX_CODES,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the site data for the given orgId and siteId.\n * @ignore\n * @param {string} orgId - organization ID for which the site info is to be fetched.\n * @param {string} siteId - site ID for which the data is to be fetched.\n * @returns {Promise<SiteInfo>} - A promise that resolves to the site info response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getSiteInfo(orgId: string, siteId: string): Promise<SiteInfo> {\n LoggerProxy.info('Fetching site information', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n try {\n const resource = endPointMap.siteInfo(orgId, siteId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getSiteInfo api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getSiteInfo API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the organization info for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the organization info is to be fetched.\n * @returns {Promise<OrgInfo>} - A promise that resolves to the organization info response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOrgInfo(orgId: string): Promise<OrgInfo> {\n try {\n const resource = endPointMap.orgInfo(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getOrgInfo api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORG_INFO,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getOrgInfo API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORG_INFO,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the organization settings for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the organization settings are to be fetched.\n * @returns {Promise<OrgSettings>} - A promise that resolves to the organization settings response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOrganizationSetting(orgId: string): Promise<OrgSettings> {\n try {\n const resource = endPointMap.orgSettings(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getOrganizationSetting api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORGANIZATION_SETTING,\n });\n\n return Promise.resolve(response.body.data[0]);\n } catch (error) {\n LoggerProxy.error(`getOrganizationSetting API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORGANIZATION_SETTING,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the tenant data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the tenant data is to be fetched.\n * @returns {Promise<TenantData>} - A promise that resolves to the tenant data response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getTenantData(orgId: string): Promise<TenantData> {\n try {\n const resource = endPointMap.tenantData(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getTenantData api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_TENANT_DATA,\n });\n\n return Promise.resolve(response.body.data[0]);\n } catch (error) {\n LoggerProxy.error(`getTenantData API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_TENANT_DATA,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the URL mapping data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the URL mapping is to be fetched.\n * @returns {Promise<URLMapping[]>} - A promise that resolves to the URL mapping response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getURLMapping(orgId: string): Promise<URLMapping[]> {\n try {\n const resource = endPointMap.urlMapping(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getURLMapping api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_URL_MAPPING,\n });\n\n return Promise.resolve(response.body.data);\n } catch (error) {\n LoggerProxy.error(`getURLMapping API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_URL_MAPPING,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the dial plan data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the dial plan data is to be fetched.\n * @returns {Promise<DialPlanEntity[]>} - A promise that resolves to the dial plan data response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getDialPlanData(orgId: string): Promise<DialPlanEntity[]> {\n try {\n const resource = endPointMap.dialPlan(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getDialPlanData api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DIAL_PLAN_DATA,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getDialPlanData API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DIAL_PLAN_DATA,\n });\n throw error;\n }\n }\n\n // getQueues removed - use Queue instead\n\n /**\n * Fetches outdial ANI (Automatic Number Identification) entries for the given orgId and outdial ANI ID.\n * @ignore\n * @param {string} orgId - organization ID for which the outdial ANI entries are to be fetched.\n * @param {OutdialAniParams} params - parameters object containing outdialANI and optional pagination/filtering options\n * @returns {Promise<OutdialAniEntriesResponse>} - A promise that resolves to the outdial ANI entries response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOutdialAniEntries(\n orgId: string,\n params: OutdialAniParams\n ): Promise<OutdialAniEntriesResponse> {\n const {outdialANI, page, pageSize, search, filter, attributes} = params;\n\n LoggerProxy.info('Fetching outdial ANI entries', {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n\n try {\n const queryParams = [];\n if (page !== undefined) queryParams.push(`page=${page}`);\n if (pageSize !== undefined) queryParams.push(`pageSize=${pageSize}`);\n if (search) queryParams.push(`search=${search}`);\n if (filter) queryParams.push(`filter=${filter}`);\n if (attributes) queryParams.push(`attributes=${attributes}`);\n\n const queryString = queryParams.length > 0 ? queryParams.join('&') : '';\n const resource = endPointMap.outdialAniEntries(orgId, outdialANI, queryString);\n\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n LoggerProxy.log('getOutdialAniEntries API success.', {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n\n return response.body?.data;\n } catch (error) {\n LoggerProxy.error(`getOutdialAniEntries API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n throw error;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_loggerProxy","_interopRequireDefault","_WebexRequest","_constants","_constants2","_Util","_constants3","e","__esModule","default","AgentConfigService","constructor","webexReq","WebexRequest","getInstance","getAgentConfig","orgId","agentId","userConfigPromise","getUserUsingCI","orgInfoPromise","getOrgInfo","orgSettingsPromise","getOrganizationSetting","tenantDataPromise","getTenantData","urlMappingPromise","getURLMapping","aiFeatureFlagsPromise","getAIFeatureFlags","auxCodesPromise","getAllAuxCodes","DEFAULT_PAGE_SIZE","DEFAULT_AUXCODE_ATTRIBUTES","userConfigData","LoggerProxy","info","ciUserId","module","CONFIG_FILE_NAME","method","METHODS","GET_AGENT_CONFIG","agentProfilePromise","getDesktopProfileById","agentProfileId","siteInfoPromise","getSiteInfo","siteId","userDialPlanPromise","then","agentProfileConfigData","dialPlanEnabled","getDialPlanData","userTeamPromise","teamIds","getAllTeams","Promise","resolve","siteInfo","userDialPlanData","userTeamData","orgInfo","orgSettingsData","tenantData","urlMappingData","aiFeatureFlagsData","auxCodesData","all","multimediaProfileId","multiMediaProfileId","response","parseAgentConfigs","userData","teamData","orgInfoData","auxCodes","agentProfileData","dialPlanData","urlMapping","aiFeatureFlags","error","GET_USER_USING_CI","resource","endPointMap","userByCI","request","service","WCC_API_GATEWAY","HTTP_METHODS","GET","statusCode","Error","log","body","desktopProfileId","GET_DESKTOP_PROFILE_BY_ID","desktopProfile","getMultimediaProfileById","GET_MULTIMEDIA_PROFILE_BY_ID","multimediaProfile","getListOfTeams","page","pageSize","filter","GET_LIST_OF_TEAMS","listTeams","allTeams","DEFAULT_PAGE","firstResponse","totalPages","meta","concat","data","requests","push","responses","GET_ALL_TEAMS","getListOfAuxCodes","attributes","GET_LIST_OF_AUX_CODES","listAuxCodes","allAuxCodes","promises","forEach","GET_ALL_AUX_CODES","GET_SITE_INFO","GET_ORG_INFO","orgSettings","GET_ORGANIZATION_SETTING","GET_TENANT_DATA","GET_URL_MAPPING","GET_AI_FEATURE_FLAGS","aiFeature","dialPlan","GET_DIAL_PLAN_DATA","getOutdialAniEntries","params","outdialANI","search","MAIN_METHODS","GET_OUTDIAL_ANI_ENTRIES","queryParams","undefined","queryString","length","join","outdialAniEntries","exports"],"sources":["index.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * @module AgentConfigService\n */\n\nimport {HTTP_METHODS} from '../../types';\nimport LoggerProxy from '../../logger-proxy';\nimport {\n DesktopProfileResponse,\n ListAuxCodesResponse,\n AgentResponse,\n TenantData,\n OrgInfo,\n OrgSettings,\n URLMapping,\n TeamList,\n DialPlanEntity,\n Profile,\n ListTeamsResponse,\n AuxCode,\n MultimediaProfileResponse,\n SiteInfo,\n OutdialAniEntriesResponse,\n OutdialAniParams,\n AIFeatureFlagsResponse,\n} from './types';\nimport WebexRequest from '../core/WebexRequest';\nimport {WCC_API_GATEWAY} from '../constants';\nimport {CONFIG_FILE_NAME, METHODS as MAIN_METHODS} from '../../constants';\nimport {parseAgentConfigs} from './Util';\nimport {\n DEFAULT_AUXCODE_ATTRIBUTES,\n DEFAULT_PAGE,\n DEFAULT_PAGE_SIZE,\n endPointMap,\n METHODS,\n} from './constants';\n\n/**\n * The AgentConfigService class provides methods to fetch agent configuration data.\n * @private\n * @ignore\n */\nexport default class AgentConfigService {\n private webexReq: WebexRequest;\n constructor() {\n this.webexReq = WebexRequest.getInstance();\n }\n\n /**\n * Fetches the agent configuration data for the given orgId and agentId.\n * @param {string} orgId - organization ID for which the agent configuration is to be fetched.\n * @param {string} agentId - agent ID for which the configuration is to be fetched.\n * @returns {Promise<Profile>} - A promise that resolves to the agent configuration profile.\n * @throws {Error} - Throws an error if any API call fails or if the response status is not 200.\n * @public\n */\n public async getAgentConfig(orgId: string, agentId: string): Promise<Profile> {\n try {\n const userConfigPromise = this.getUserUsingCI(orgId, agentId);\n const orgInfoPromise = this.getOrgInfo(orgId);\n const orgSettingsPromise = this.getOrganizationSetting(orgId);\n const tenantDataPromise = this.getTenantData(orgId);\n const urlMappingPromise = this.getURLMapping(orgId);\n const aiFeatureFlagsPromise = this.getAIFeatureFlags(orgId);\n const auxCodesPromise = this.getAllAuxCodes(\n orgId,\n DEFAULT_PAGE_SIZE,\n [],\n DEFAULT_AUXCODE_ATTRIBUTES\n );\n\n const userConfigData = await userConfigPromise;\n LoggerProxy.info(`Fetched user data, userId: ${userConfigData.ciUserId}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n const agentProfilePromise = this.getDesktopProfileById(orgId, userConfigData.agentProfileId);\n const siteInfoPromise = this.getSiteInfo(orgId, userConfigData.siteId);\n\n const userDialPlanPromise = agentProfilePromise.then((agentProfileConfigData) =>\n agentProfileConfigData.dialPlanEnabled ? this.getDialPlanData(orgId) : []\n );\n\n const userTeamPromise = userConfigData.teamIds\n ? this.getAllTeams(orgId, DEFAULT_PAGE_SIZE, userConfigData.teamIds)\n : Promise.resolve([]);\n\n const [\n agentProfileConfigData,\n siteInfo,\n userDialPlanData,\n userTeamData,\n orgInfo,\n orgSettingsData,\n tenantData,\n urlMappingData,\n aiFeatureFlagsData,\n auxCodesData,\n ] = await Promise.all([\n agentProfilePromise,\n siteInfoPromise,\n userDialPlanPromise,\n userTeamPromise,\n orgInfoPromise,\n orgSettingsPromise,\n tenantDataPromise,\n urlMappingPromise,\n aiFeatureFlagsPromise,\n auxCodesPromise,\n ]);\n const multimediaProfileId =\n userConfigData.multimediaProfileId ||\n userTeamData[0]?.multiMediaProfileId ||\n siteInfo.multimediaProfileId;\n\n LoggerProxy.info('Fetched all required data', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n const response = parseAgentConfigs({\n userData: userConfigData,\n teamData: userTeamData,\n tenantData,\n orgInfoData: orgInfo,\n auxCodes: auxCodesData,\n orgSettingsData,\n agentProfileData: agentProfileConfigData,\n dialPlanData: userDialPlanData,\n urlMapping: urlMappingData,\n multimediaProfileId,\n aiFeatureFlags: aiFeatureFlagsData,\n });\n\n LoggerProxy.info('Parsing completed for agent-config', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n LoggerProxy.info('Fetched configuration data successfully', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n\n return response;\n } catch (error) {\n LoggerProxy.error(`getAgentConfig call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AGENT_CONFIG,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the agent configuration data for the given orgId and agentId.\n * @ignore\n * @param {string} orgId - organization ID for which the agent configuration is to be fetched.\n * @param {string} agentId - agent ID for which the configuration is to be fetched.\n * @returns {Promise<AgentResponse>} - A promise that resolves to the agent configuration response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getUserUsingCI(orgId: string, agentId: string): Promise<AgentResponse> {\n LoggerProxy.info('Fetching user data using CI', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n\n try {\n const resource = endPointMap.userByCI(orgId, agentId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getUserUsingCI api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getUserUsingCI API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_USER_USING_CI,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the desktop profile data for the given orgId and desktopProfileId.\n * @ignore\n * @param {string} orgId - organization ID for which the desktop profile is to be fetched.\n * @param {string} desktopProfileId - desktop profile ID for which the data is to be fetched.\n * @returns {Promise<DesktopProfileResponse>} - A promise that resolves to the desktop profile response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getDesktopProfileById(\n orgId: string,\n desktopProfileId: string\n ): Promise<DesktopProfileResponse> {\n LoggerProxy.info('Fetching desktop profile', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n\n try {\n const resource = endPointMap.desktopProfile(orgId, desktopProfileId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getDesktopProfileById api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getDesktopProfileById API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DESKTOP_PROFILE_BY_ID,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the multimedia profile data for the given orgId and multimediaProfileId.\n * @ignore\n * @param {string} orgId - organization ID for which the multimedia profile is to be fetched.\n * @param {string} multimediaProfileId - multimedia profile ID for which the data is to be fetched.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @returns {Promise<MultimediaProfileResponse>} - A promise that resolves to the multimedia profile response.\n * @private\n */\n public async getMultimediaProfileById(\n orgId: string,\n multimediaProfileId: string\n ): Promise<MultimediaProfileResponse> {\n LoggerProxy.info('Fetching multimedia profile', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n\n try {\n const resource = endPointMap.multimediaProfile(orgId, multimediaProfileId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getMultimediaProfileById API success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getMultimediaProfileById API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_MULTIMEDIA_PROFILE_BY_ID,\n });\n throw error;\n }\n }\n\n /**\n * fetches the list of teams for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the teams are to be fetched.\n * @param {number} page - the page number to fetch.\n * @param {number} pageSize - the number of teams to fetch per page.\n * @param {string[]} filter - optional filter criteria for the teams.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<ListTeamsResponse>} - A promise that resolves to the list of teams response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getListOfTeams(\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[]\n ): Promise<ListTeamsResponse> {\n LoggerProxy.info('Fetching list of teams', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n\n try {\n const resource = endPointMap.listTeams(orgId, page, pageSize, filter);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getListOfTeams api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getListOfTeams API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_TEAMS,\n });\n throw error;\n }\n }\n\n /**\n * Fetches all teams from all pages for the given orgId\n * @ignore\n * @param {string} orgId - organization ID for which the teams are to be fetched.\n * @param {number} pageSize - the number of teams to fetch per page.\n * @param {string[]} filter - optional filter criteria for the teams.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<TeamList[]>} - A promise that resolves to the list of teams.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getAllTeams(orgId: string, pageSize: number, filter: string[]): Promise<TeamList[]> {\n try {\n let allTeams: TeamList[] = [];\n let page = DEFAULT_PAGE;\n const firstResponse = await this.getListOfTeams(orgId, page, pageSize, filter);\n const totalPages = firstResponse.meta.totalPages;\n allTeams = allTeams.concat(firstResponse.data);\n const requests = [];\n for (page = DEFAULT_PAGE + 1; page < totalPages; page += 1) {\n requests.push(this.getListOfTeams(orgId, page, pageSize, filter));\n }\n const responses = await Promise.all(requests);\n\n for (const response of responses) {\n allTeams = allTeams.concat(response.data);\n }\n\n return allTeams;\n } catch (error) {\n LoggerProxy.error(`getAllTeams API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ALL_TEAMS,\n });\n throw error;\n }\n }\n\n /**\n * fetches the list of aux codes for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the aux codes are to be fetched.\n * @param {number} page - the page number to fetch.\n * @param {number} pageSize - the number of aux codes to fetch per page.\n * @param {string[]} filter - optional filter criteria for the aux codes.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<ListAuxCodesResponse>} - A promise that resolves to the list of aux codes response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getListOfAuxCodes(\n orgId: string,\n page: number,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ): Promise<ListAuxCodesResponse> {\n LoggerProxy.info('Fetching list of aux codes', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n\n try {\n const resource = endPointMap.listAuxCodes(orgId, page, pageSize, filter, attributes);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getListOfAuxCodes api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getListOfAuxCodes API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_LIST_OF_AUX_CODES,\n });\n throw error;\n }\n }\n\n /**\n * Fetches all aux codes from all pages for the given orgId\n * @ignore\n * @param {string} orgId - organization ID for which the aux codes are to be fetched.\n * @param {number} pageSize - the number of aux codes to fetch per page.\n * @param {string[]} filter - optional filter criteria for the aux codes.\n * @param {string[]} attributes - optional attributes to include in the response.\n * @returns {Promise<AuxCode[]>} - A promise that resolves to the list of aux codes.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getAllAuxCodes(\n orgId: string,\n pageSize: number,\n filter: string[],\n attributes: string[]\n ): Promise<AuxCode[]> {\n try {\n let allAuxCodes: AuxCode[] = [];\n let page = DEFAULT_PAGE;\n\n const firstResponse = await this.getListOfAuxCodes(orgId, page, pageSize, filter, attributes);\n allAuxCodes = allAuxCodes.concat(firstResponse.data);\n const totalPages = firstResponse.meta.totalPages;\n\n const promises: Promise<ListAuxCodesResponse>[] = [];\n for (page = DEFAULT_PAGE + 1; page < totalPages; page += 1) {\n promises.push(this.getListOfAuxCodes(orgId, page, pageSize, filter, attributes));\n }\n\n const responses = await Promise.all(promises);\n\n responses.forEach((response) => {\n allAuxCodes = allAuxCodes.concat(response.data);\n });\n\n return allAuxCodes;\n } catch (error) {\n LoggerProxy.error(`getAllAuxCodes API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ALL_AUX_CODES,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the site data for the given orgId and siteId.\n * @ignore\n * @param {string} orgId - organization ID for which the site info is to be fetched.\n * @param {string} siteId - site ID for which the data is to be fetched.\n * @returns {Promise<SiteInfo>} - A promise that resolves to the site info response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getSiteInfo(orgId: string, siteId: string): Promise<SiteInfo> {\n LoggerProxy.info('Fetching site information', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n try {\n const resource = endPointMap.siteInfo(orgId, siteId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getSiteInfo api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getSiteInfo API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_SITE_INFO,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the organization info for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the organization info is to be fetched.\n * @returns {Promise<OrgInfo>} - A promise that resolves to the organization info response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOrgInfo(orgId: string): Promise<OrgInfo> {\n try {\n const resource = endPointMap.orgInfo(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getOrgInfo api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORG_INFO,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getOrgInfo API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORG_INFO,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the organization settings for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the organization settings are to be fetched.\n * @returns {Promise<OrgSettings>} - A promise that resolves to the organization settings response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOrganizationSetting(orgId: string): Promise<OrgSettings> {\n try {\n const resource = endPointMap.orgSettings(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getOrganizationSetting api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORGANIZATION_SETTING,\n });\n\n return Promise.resolve(response.body.data[0]);\n } catch (error) {\n LoggerProxy.error(`getOrganizationSetting API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_ORGANIZATION_SETTING,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the tenant data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the tenant data is to be fetched.\n * @returns {Promise<TenantData>} - A promise that resolves to the tenant data response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getTenantData(orgId: string): Promise<TenantData> {\n try {\n const resource = endPointMap.tenantData(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getTenantData api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_TENANT_DATA,\n });\n\n return Promise.resolve(response.body.data[0]);\n } catch (error) {\n LoggerProxy.error(`getTenantData API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_TENANT_DATA,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the URL mapping data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the URL mapping is to be fetched.\n * @returns {Promise<URLMapping[]>} - A promise that resolves to the URL mapping response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getURLMapping(orgId: string): Promise<URLMapping[]> {\n try {\n const resource = endPointMap.urlMapping(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getURLMapping api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_URL_MAPPING,\n });\n\n return Promise.resolve(response.body.data);\n } catch (error) {\n LoggerProxy.error(`getURLMapping API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_URL_MAPPING,\n });\n throw error;\n }\n }\n\n /**\n * Fetches AI feature resources for the organization.\n * @ignore\n * @param {string} orgId - organization ID for which AI feature resources are to be fetched.\n * @returns {Promise<AIFeatureFlagsResponse>} - AI feature resources response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getAIFeatureFlags(orgId: string): Promise<AIFeatureFlagsResponse> {\n LoggerProxy.info('Fetching AI feature resources', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AI_FEATURE_FLAGS,\n });\n try {\n const resource = endPointMap.aiFeature(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getAIFeatureFlags api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AI_FEATURE_FLAGS,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getAIFeatureFlags API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_AI_FEATURE_FLAGS,\n });\n throw error;\n }\n }\n\n /**\n * Fetches the dial plan data for the given orgId.\n * @ignore\n * @param {string} orgId - organization ID for which the dial plan data is to be fetched.\n * @returns {Promise<DialPlanEntity[]>} - A promise that resolves to the dial plan data response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getDialPlanData(orgId: string): Promise<DialPlanEntity[]> {\n try {\n const resource = endPointMap.dialPlan(orgId);\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n if (response.statusCode !== 200) {\n throw new Error(`API call failed with ${response.statusCode}`);\n }\n\n LoggerProxy.log('getDialPlanData api success.', {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DIAL_PLAN_DATA,\n });\n\n return Promise.resolve(response.body);\n } catch (error) {\n LoggerProxy.error(`getDialPlanData API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: METHODS.GET_DIAL_PLAN_DATA,\n });\n throw error;\n }\n }\n\n // getQueues removed - use Queue instead\n\n /**\n * Fetches outdial ANI (Automatic Number Identification) entries for the given orgId and outdial ANI ID.\n * @ignore\n * @param {string} orgId - organization ID for which the outdial ANI entries are to be fetched.\n * @param {OutdialAniParams} params - parameters object containing outdialANI and optional pagination/filtering options\n * @returns {Promise<OutdialAniEntriesResponse>} - A promise that resolves to the outdial ANI entries response.\n * @throws {Error} - Throws an error if the API call fails or if the response status is not 200.\n * @private\n */\n public async getOutdialAniEntries(\n orgId: string,\n params: OutdialAniParams\n ): Promise<OutdialAniEntriesResponse> {\n const {outdialANI, page, pageSize, search, filter, attributes} = params;\n\n LoggerProxy.info('Fetching outdial ANI entries', {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n\n try {\n const queryParams = [];\n if (page !== undefined) queryParams.push(`page=${page}`);\n if (pageSize !== undefined) queryParams.push(`pageSize=${pageSize}`);\n if (search) queryParams.push(`search=${search}`);\n if (filter) queryParams.push(`filter=${filter}`);\n if (attributes) queryParams.push(`attributes=${attributes}`);\n\n const queryString = queryParams.length > 0 ? queryParams.join('&') : '';\n const resource = endPointMap.outdialAniEntries(orgId, outdialANI, queryString);\n\n const response = await this.webexReq.request({\n service: WCC_API_GATEWAY,\n resource,\n method: HTTP_METHODS.GET,\n });\n\n LoggerProxy.log('getOutdialAniEntries API success.', {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n\n return response.body?.data;\n } catch (error) {\n LoggerProxy.error(`getOutdialAniEntries API call failed with ${error}`, {\n module: CONFIG_FILE_NAME,\n method: MAIN_METHODS.GET_OUTDIAL_ANI_ENTRIES,\n });\n throw error;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,8 @@ exports.WRAP_UP_CODE = exports.IDLE_CODE = exports.CC_TASK_EVENTS = exports.CC_E
9
9
  * @internal
10
10
  */
11
11
 
12
+ /** Desktop Profile access level for a collaboration destination category. */
13
+
12
14
  /**
13
15
  * Events emitted on task objects
14
16
  * @enum {string}
@@ -60,6 +62,8 @@ const CC_TASK_EVENTS = exports.CC_TASK_EVENTS = {
60
62
  PARTICIPANT_LEFT_CONFERENCE: 'ParticipantLeftConference',
61
63
  /** Event emitted when participant leaving conference fails */
62
64
  PARTICIPANT_LEFT_CONFERENCE_FAILED: 'ParticipantLeftConferenceFailed',
65
+ /** Event emitted when dropping another conference participant fails */
66
+ PARTICIPANT_DROP_CONFERENCE_FAILED: 'ParticipantDropConferenceFailed',
63
67
  /** Event emitted when consultation conference end fails */
64
68
  AGENT_CONSULT_CONFERENCE_END_FAILED: 'AgentConsultConferenceEndFailed',
65
69
  /** Event emitted when conference is successfully transferred */
@@ -68,6 +72,8 @@ const CC_TASK_EVENTS = exports.CC_TASK_EVENTS = {
68
72
  AGENT_CONFERENCE_TRANSFER_FAILED: 'AgentConferenceTransferFailed',
69
73
  /** Event emitted for post-call activity by participant */
70
74
  PARTICIPANT_POST_CALL_ACTIVITY: 'ParticipantPostCallActivity',
75
+ /** Event emitted when consulted participant is being moved/transferred */
76
+ CONSULTED_PARTICIPANT_MOVING: 'ConsultedParticipantMoving',
71
77
  /** Event emitted when contact is blind transferred */
72
78
  AGENT_BLIND_TRANSFERRED: 'AgentBlindTransferred',
73
79
  /** Event emitted when blind transfer fails */
@@ -84,6 +90,8 @@ const CC_TASK_EVENTS = exports.CC_TASK_EVENTS = {
84
90
  AGENT_CONSULT_TRANSFER_FAILED: 'AgentConsultTransferFailed',
85
91
  /** Event emitted when contact recording is paused */
86
92
  CONTACT_RECORDING_PAUSED: 'ContactRecordingPaused',
93
+ /** Event emitted when contact recording is started */
94
+ CONTACT_RECORDING_STARTED: 'ContactRecordingStarted',
87
95
  /** Event emitted when pausing contact recording fails */
88
96
  CONTACT_RECORDING_PAUSE_FAILED: 'ContactRecordingPauseFailed',
89
97
  /** Event emitted when contact recording is resumed */
@@ -94,6 +102,10 @@ const CC_TASK_EVENTS = exports.CC_TASK_EVENTS = {
94
102
  CONTACT_ENDED: 'ContactEnded',
95
103
  /** Event emitted when contact is merged */
96
104
  CONTACT_MERGED: 'ContactMerged',
105
+ /** Event emitted when contact payload is updated (routing updates) */
106
+ CONTACT_UPDATED: 'ContactUpdated',
107
+ /** Event emitted when contact owner changes */
108
+ CONTACT_OWNER_CHANGED: 'ContactOwnerChanged',
97
109
  /** Event emitted when ending contact fails */
98
110
  AGENT_CONTACT_END_FAILED: 'AgentContactEndFailed',
99
111
  /** Event emitted when agent enters wrap-up state */
@@ -113,7 +125,27 @@ const CC_TASK_EVENTS = exports.CC_TASK_EVENTS = {
113
125
  /** Event emitted when contact is unassigned from agent */
114
126
  AGENT_CONTACT_UNASSIGNED: 'AgentContactUnassigned',
115
127
  /** Event emitted when inviting agent fails */
116
- AGENT_INVITE_FAILED: 'AgentInviteFailed'
128
+ AGENT_INVITE_FAILED: 'AgentInviteFailed',
129
+ /** Event emitted when a campaign preview contact is offered to the agent */
130
+ AGENT_OFFER_CAMPAIGN_RESERVATION: 'AgentOfferCampaignReservation',
131
+ /** Event emitted when campaign contact is updated */
132
+ CAMPAIGN_CONTACT_UPDATED: 'CampaignContactUpdated',
133
+ /** Event emitted when accepting a campaign preview contact fails */
134
+ CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'CampaignPreviewAcceptFailed',
135
+ /** Event emitted when skipping a campaign preview contact fails */
136
+ CAMPAIGN_PREVIEW_SKIP_FAILED: 'CampaignPreviewSkipFailed',
137
+ /** Event emitted when removing a campaign preview contact fails */
138
+ CAMPAIGN_PREVIEW_REMOVE_FAILED: 'CampaignPreviewRemoveFailed',
139
+ /** Event emitted when a real-time transcript chunk is received */
140
+ REAL_TIME_TRANSCRIPTION: 'REAL_TIME_TRANSCRIPTION',
141
+ /** Event emitted when an AI assistant suggested response is available */
142
+ SUGGESTED_RESPONSE: 'SUGGESTED_RESPONSE',
143
+ /** Event emitted when backend acknowledges it is listening for more context */
144
+ SUGGESTED_RESPONSE_ACKNOWLEDGE: 'SUGGESTED_RESPONSE_ACKNOWLEDGE',
145
+ /** Event emitted when a mid-call summary is available */
146
+ MID_CALL_SUMMARY: 'MID_CALL_SUMMARY',
147
+ /** Event emitted when a post-call summary is available */
148
+ POST_CALL_SUMMARY: 'POST_CALL_SUMMARY'
117
149
  };
118
150
 
119
151
  /**
@@ -176,6 +208,14 @@ const CC_EVENTS = exports.CC_EVENTS = {
176
208
  * @public
177
209
  */
178
210
 
211
+ /**
212
+ * Available login options for voice channel access
213
+ * 'AGENT_DN' - Login using agent's DN
214
+ * 'EXTENSION' - Login using extension number
215
+ * 'BROWSER' - Login using browser-based WebRTC
216
+ * @public
217
+ */
218
+
179
219
  /**
180
220
  * Response type for welcome events which can be either success or error
181
221
  * @public
@@ -316,25 +356,27 @@ const WRAP_UP_CODE = exports.WRAP_UP_CODE = 'WRAP_UP_CODE';
316
356
  */
317
357
 
318
358
  /**
319
- * Available login options for voice channel access
320
- * 'AGENT_DN' - Login using agent's DN
321
- * 'EXTENSION' - Login using extension number
322
- * 'BROWSER' - Login using browser-based WebRTC
359
+ * Team configuration information
323
360
  * @public
324
361
  */
325
362
 
326
363
  /**
327
- * Team configuration information
364
+ * Basic queue configuration information
328
365
  * @public
329
366
  */
330
367
 
331
368
  /**
332
- * Basic queue configuration information
369
+ * URL mappings for external system integrations
333
370
  * @public
334
371
  */
335
372
 
336
373
  /**
337
- * URL mappings for external system integrations
374
+ * AI feature resource row returned by /v2/ai-feature API.
375
+ * @public
376
+ */
377
+
378
+ /**
379
+ * Response type for list AI feature resources API.
338
380
  * @public
339
381
  */
340
382
 
@@ -363,4 +405,24 @@ const WRAP_UP_CODE = exports.WRAP_UP_CODE = 'WRAP_UP_CODE';
363
405
  * Parameters for fetching outdial ANI entries
364
406
  * @public
365
407
  */
408
+
409
+ /**
410
+ * User preference data structure
411
+ * @public
412
+ */
413
+
414
+ /**
415
+ * Request payload for creating user preferences
416
+ * @public
417
+ */
418
+
419
+ /**
420
+ * Request payload for updating user preferences
421
+ * @public
422
+ */
423
+
424
+ /**
425
+ * Query parameters for fetching user preferences
426
+ * @public
427
+ */
366
428
  //# sourceMappingURL=types.js.map