@webex/contact-center 3.12.0-next.14 → 3.12.0-next.140

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 (317) hide show
  1. package/.sdd/manifest.json +885 -0
  2. package/AGENTS.md +94 -0
  3. package/ai-docs/ARCHITECTURE.md +168 -0
  4. package/ai-docs/CONTRACTS.md +59 -0
  5. package/ai-docs/GETTING_STARTED.md +168 -0
  6. package/ai-docs/GLOSSARY.md +43 -0
  7. package/ai-docs/README.md +138 -0
  8. package/ai-docs/REVIEW_CHECKLIST.md +41 -0
  9. package/ai-docs/RULES.md +444 -0
  10. package/ai-docs/SECURITY.md +52 -0
  11. package/ai-docs/SERVICE_STATE.md +52 -0
  12. package/ai-docs/SPEC_INDEX.md +65 -0
  13. package/ai-docs/adr/0001-spec-source-policy.md +55 -0
  14. package/ai-docs/adr/README.md +8 -0
  15. package/ai-docs/adr/_adr-template.md +31 -0
  16. package/ai-docs/contact-center-spec.md +382 -0
  17. package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
  18. package/ai-docs/features/contact-owner-change-refactor.md +78 -0
  19. package/ai-docs/features/generated-spec-conformance-fidelity-remediation/spec/feature-spec.md +117 -0
  20. package/ai-docs/features/residual-warning-coverage-completion/spec/feature-spec.md +203 -0
  21. package/ai-docs/features/validator-code-fidelity-drift-fix/spec/feature-spec.md +315 -0
  22. package/ai-docs/patterns/event-driven-patterns.md +485 -0
  23. package/ai-docs/patterns/testing-patterns.md +480 -0
  24. package/ai-docs/patterns/typescript-patterns.md +365 -0
  25. package/ai-docs/templates/README.md +102 -0
  26. package/ai-docs/templates/documentation/create-agents-md.md +240 -0
  27. package/ai-docs/templates/documentation/create-architecture-md.md +295 -0
  28. package/ai-docs/templates/existing-service/bug-fix.md +254 -0
  29. package/ai-docs/templates/existing-service/feature-enhancement.md +450 -0
  30. package/ai-docs/templates/new-method/00-master.md +80 -0
  31. package/ai-docs/templates/new-method/01-requirements.md +232 -0
  32. package/ai-docs/templates/new-method/02-implementation.md +295 -0
  33. package/ai-docs/templates/new-method/03-tests.md +201 -0
  34. package/ai-docs/templates/new-method/04-validation.md +141 -0
  35. package/ai-docs/templates/new-service/00-master.md +109 -0
  36. package/ai-docs/templates/new-service/01-pre-questions.md +159 -0
  37. package/ai-docs/templates/new-service/02-code-generation.md +346 -0
  38. package/ai-docs/templates/new-service/03-integration.md +178 -0
  39. package/ai-docs/templates/new-service/04-test-generation.md +205 -0
  40. package/ai-docs/templates/new-service/05-validation.md +145 -0
  41. package/dist/cc.js +1004 -43
  42. package/dist/cc.js.map +1 -1
  43. package/dist/config.js +13 -0
  44. package/dist/config.js.map +1 -1
  45. package/dist/constants.js +31 -3
  46. package/dist/constants.js.map +1 -1
  47. package/dist/index.js +45 -15
  48. package/dist/index.js.map +1 -1
  49. package/dist/metrics/MetricsManager.js +16 -0
  50. package/dist/metrics/MetricsManager.js.map +1 -1
  51. package/dist/metrics/behavioral-events.js +211 -0
  52. package/dist/metrics/behavioral-events.js.map +1 -1
  53. package/dist/metrics/constants.js +49 -4
  54. package/dist/metrics/constants.js.map +1 -1
  55. package/dist/services/AddressBook.js +18 -15
  56. package/dist/services/AddressBook.js.map +1 -1
  57. package/dist/services/AnswerCallOnWebexService.js +202 -0
  58. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  59. package/dist/services/ApiAiAssistant.js +269 -9
  60. package/dist/services/ApiAiAssistant.js.map +1 -1
  61. package/dist/services/EntryPoint.js +46 -68
  62. package/dist/services/EntryPoint.js.map +1 -1
  63. package/dist/services/Queue.js +27 -22
  64. package/dist/services/Queue.js.map +1 -1
  65. package/dist/services/UserPreference.js +427 -0
  66. package/dist/services/UserPreference.js.map +1 -0
  67. package/dist/services/WebexCrossClientService.js +225 -0
  68. package/dist/services/WebexCrossClientService.js.map +1 -0
  69. package/dist/services/WxAppTelephonyMercurySync.js +111 -0
  70. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  71. package/dist/services/config/Util.js +11 -4
  72. package/dist/services/config/Util.js.map +1 -1
  73. package/dist/services/config/constants.js +41 -7
  74. package/dist/services/config/constants.js.map +1 -1
  75. package/dist/services/config/index.js +51 -0
  76. package/dist/services/config/index.js.map +1 -1
  77. package/dist/services/config/types.js +57 -12
  78. package/dist/services/config/types.js.map +1 -1
  79. package/dist/services/core/Err.js.map +1 -1
  80. package/dist/services/core/Utils.js +111 -32
  81. package/dist/services/core/Utils.js.map +1 -1
  82. package/dist/services/core/WebexRequest.js +6 -2
  83. package/dist/services/core/WebexRequest.js.map +1 -1
  84. package/dist/services/core/aqm-reqs.js +28 -14
  85. package/dist/services/core/aqm-reqs.js.map +1 -1
  86. package/dist/services/core/types.js.map +1 -1
  87. package/dist/services/core/websocket/WebSocketManager.js +2 -1
  88. package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
  89. package/dist/services/core/websocket/types.js.map +1 -1
  90. package/dist/services/index.js +1 -1
  91. package/dist/services/index.js.map +1 -1
  92. package/dist/services/task/Task.js +754 -0
  93. package/dist/services/task/Task.js.map +1 -0
  94. package/dist/services/task/TaskFactory.js +50 -0
  95. package/dist/services/task/TaskFactory.js.map +1 -0
  96. package/dist/services/task/TaskManager.js +1183 -521
  97. package/dist/services/task/TaskManager.js.map +1 -1
  98. package/dist/services/task/TaskUtils.js +211 -27
  99. package/dist/services/task/TaskUtils.js.map +1 -1
  100. package/dist/services/task/WebexCallingUtils.js +70 -0
  101. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  102. package/dist/services/task/constants.js +12 -2
  103. package/dist/services/task/constants.js.map +1 -1
  104. package/dist/services/task/contact.js +29 -0
  105. package/dist/services/task/contact.js.map +1 -1
  106. package/dist/services/task/dialer.js +78 -0
  107. package/dist/services/task/dialer.js.map +1 -1
  108. package/dist/services/task/digital/Digital.js +78 -0
  109. package/dist/services/task/digital/Digital.js.map +1 -0
  110. package/dist/services/task/state-machine/TaskStateMachine.js +982 -0
  111. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
  112. package/dist/services/task/state-machine/actions.js +572 -0
  113. package/dist/services/task/state-machine/actions.js.map +1 -0
  114. package/dist/services/task/state-machine/constants.js +161 -0
  115. package/dist/services/task/state-machine/constants.js.map +1 -0
  116. package/dist/services/task/state-machine/guards.js +379 -0
  117. package/dist/services/task/state-machine/guards.js.map +1 -0
  118. package/dist/services/task/state-machine/index.js +53 -0
  119. package/dist/services/task/state-machine/index.js.map +1 -0
  120. package/dist/services/task/state-machine/types.js +54 -0
  121. package/dist/services/task/state-machine/types.js.map +1 -0
  122. package/dist/services/task/state-machine/uiControlsComputer.js +703 -0
  123. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
  124. package/dist/services/task/taskDataNormalizer.js +99 -0
  125. package/dist/services/task/taskDataNormalizer.js.map +1 -0
  126. package/dist/services/task/types.js +228 -5
  127. package/dist/services/task/types.js.map +1 -1
  128. package/dist/services/task/voice/Voice.js +1504 -0
  129. package/dist/services/task/voice/Voice.js.map +1 -0
  130. package/dist/services/task/voice/WebRTC.js +152 -0
  131. package/dist/services/task/voice/WebRTC.js.map +1 -0
  132. package/dist/services/task/voice/wxAppOfferObservability.js +145 -0
  133. package/dist/services/task/voice/wxAppOfferObservability.js.map +1 -0
  134. package/dist/services/task/voice/wxAppVoiceMethods.js +395 -0
  135. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  136. package/dist/services/wxAppDiagnosticLogging.js +159 -0
  137. package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
  138. package/dist/services/wxAppTelephonyUtils.js +19 -0
  139. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  140. package/dist/types/cc.d.ts +193 -6
  141. package/dist/types/config.d.ts +13 -0
  142. package/dist/types/constants.d.ts +29 -1
  143. package/dist/types/index.d.ts +35 -8
  144. package/dist/types/metrics/MetricsManager.d.ts +6 -0
  145. package/dist/types/metrics/constants.d.ts +44 -1
  146. package/dist/types/services/AddressBook.d.ts +2 -1
  147. package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
  148. package/dist/types/services/ApiAiAssistant.d.ts +56 -5
  149. package/dist/types/services/EntryPoint.d.ts +7 -5
  150. package/dist/types/services/Queue.d.ts +5 -3
  151. package/dist/types/services/UserPreference.d.ts +118 -0
  152. package/dist/types/services/WebexCrossClientService.d.ts +32 -0
  153. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  154. package/dist/types/services/config/constants.d.ts +34 -5
  155. package/dist/types/services/config/types.d.ts +199 -12
  156. package/dist/types/services/core/Err.d.ts +6 -0
  157. package/dist/types/services/core/Utils.d.ts +35 -13
  158. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  159. package/dist/types/services/core/types.d.ts +2 -0
  160. package/dist/types/services/core/websocket/WebSocketManager.d.ts +1 -0
  161. package/dist/types/services/core/websocket/types.d.ts +1 -1
  162. package/dist/types/services/index.d.ts +1 -1
  163. package/dist/types/services/task/Task.d.ts +175 -0
  164. package/dist/types/services/task/TaskFactory.d.ts +13 -0
  165. package/dist/types/services/task/TaskUtils.d.ts +48 -2
  166. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  167. package/dist/types/services/task/constants.d.ts +10 -0
  168. package/dist/types/services/task/contact.d.ts +4 -0
  169. package/dist/types/services/task/dialer.d.ts +30 -0
  170. package/dist/types/services/task/digital/Digital.d.ts +22 -0
  171. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1442 -0
  172. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  173. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  174. package/dist/types/services/task/state-machine/guards.d.ts +103 -0
  175. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  176. package/dist/types/services/task/state-machine/types.d.ts +277 -0
  177. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  178. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  179. package/dist/types/services/task/types.d.ts +682 -66
  180. package/dist/types/services/task/voice/Voice.d.ts +240 -0
  181. package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
  182. package/dist/types/services/task/voice/wxAppOfferObservability.d.ts +39 -0
  183. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +68 -0
  184. package/dist/types/services/wxAppDiagnosticLogging.d.ts +63 -0
  185. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  186. package/dist/types/types.d.ts +205 -9
  187. package/dist/types/utils/PageCache.d.ts +20 -3
  188. package/dist/types/webex.d.ts +1 -0
  189. package/dist/types.js +162 -4
  190. package/dist/types.js.map +1 -1
  191. package/dist/utils/PageCache.js +19 -5
  192. package/dist/utils/PageCache.js.map +1 -1
  193. package/dist/webex.js +22 -2
  194. package/dist/webex.js.map +1 -1
  195. package/package.json +16 -12
  196. package/src/cc.ts +1330 -117
  197. package/src/config.ts +13 -0
  198. package/src/constants.ts +29 -1
  199. package/src/index.ts +36 -5
  200. package/src/metrics/MetricsManager.ts +16 -0
  201. package/src/metrics/ai-docs/AGENTS.md +350 -0
  202. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  203. package/src/metrics/ai-docs/metrics-spec.md +963 -0
  204. package/src/metrics/behavioral-events.ts +218 -0
  205. package/src/metrics/constants.ts +53 -4
  206. package/src/services/AddressBook.ts +17 -6
  207. package/src/services/AnswerCallOnWebexService.ts +239 -0
  208. package/src/services/ApiAiAssistant.ts +356 -9
  209. package/src/services/EntryPoint.ts +59 -60
  210. package/src/services/Queue.ts +29 -12
  211. package/src/services/UserPreference.ts +509 -0
  212. package/src/services/WebexCrossClientService.ts +298 -0
  213. package/src/services/WxAppTelephonyMercurySync.ts +142 -0
  214. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  215. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  216. package/src/services/agent/ai-docs/agent-spec.md +505 -0
  217. package/src/services/ai-docs/AGENTS.md +386 -0
  218. package/src/services/ai-docs/services-spec.md +505 -0
  219. package/src/services/config/Util.ts +12 -3
  220. package/src/services/config/ai-docs/AGENTS.md +255 -0
  221. package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
  222. package/src/services/config/ai-docs/config-spec.md +686 -0
  223. package/src/services/config/constants.ts +46 -6
  224. package/src/services/config/index.ts +65 -0
  225. package/src/services/config/types.ts +199 -13
  226. package/src/services/core/Err.ts +3 -0
  227. package/src/services/core/Utils.ts +127 -37
  228. package/src/services/core/WebexRequest.ts +3 -1
  229. package/src/services/core/ai-docs/AGENTS.md +381 -0
  230. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  231. package/src/services/core/ai-docs/core-spec.md +787 -0
  232. package/src/services/core/aqm-reqs.ts +30 -15
  233. package/src/services/core/types.ts +2 -0
  234. package/src/services/core/websocket/WebSocketManager.ts +2 -0
  235. package/src/services/core/websocket/types.ts +1 -1
  236. package/src/services/index.ts +1 -1
  237. package/src/services/task/Task.ts +908 -0
  238. package/src/services/task/TaskFactory.ts +61 -0
  239. package/src/services/task/TaskManager.ts +1430 -608
  240. package/src/services/task/TaskUtils.ts +303 -25
  241. package/src/services/task/WebexCallingUtils.ts +136 -0
  242. package/src/services/task/ai-docs/AGENTS.md +457 -0
  243. package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
  244. package/src/services/task/ai-docs/task-spec.md +1476 -0
  245. package/src/services/task/constants.ts +10 -0
  246. package/src/services/task/contact.ts +30 -0
  247. package/src/services/task/dialer.ts +80 -0
  248. package/src/services/task/digital/Digital.ts +97 -0
  249. package/src/services/task/state-machine/TaskStateMachine.ts +1320 -0
  250. package/src/services/task/state-machine/actions.ts +741 -0
  251. package/src/services/task/state-machine/ai-docs/AGENTS.md +460 -0
  252. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1156 -0
  253. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2247 -0
  254. package/src/services/task/state-machine/constants.ts +172 -0
  255. package/src/services/task/state-machine/guards.ts +442 -0
  256. package/src/services/task/state-machine/index.ts +28 -0
  257. package/src/services/task/state-machine/types.ts +258 -0
  258. package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
  259. package/src/services/task/taskDataNormalizer.ts +137 -0
  260. package/src/services/task/types.ts +835 -70
  261. package/src/services/task/voice/Voice.ts +1873 -0
  262. package/src/services/task/voice/WebRTC.ts +191 -0
  263. package/src/services/task/voice/wxAppOfferObservability.ts +204 -0
  264. package/src/services/task/voice/wxAppVoiceMethods.ts +575 -0
  265. package/src/services/wxAppDiagnosticLogging.ts +286 -0
  266. package/src/services/wxAppTelephonyUtils.ts +14 -0
  267. package/src/types.ts +264 -11
  268. package/src/utils/AGENTS.md +289 -0
  269. package/src/utils/PageCache.ts +38 -5
  270. package/src/utils/ai-docs/utils-spec.md +391 -0
  271. package/src/webex.js +10 -0
  272. package/test/unit/spec/cc.ts +2371 -98
  273. package/test/unit/spec/logger-proxy.ts +70 -0
  274. package/test/unit/spec/metrics/MetricsManager.ts +25 -0
  275. package/test/unit/spec/metrics/behavioral-events.ts +60 -0
  276. package/test/unit/spec/services/AddressBook.ts +37 -6
  277. package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
  278. package/test/unit/spec/services/ApiAiAssistant.ts +311 -21
  279. package/test/unit/spec/services/EntryPoint.ts +87 -40
  280. package/test/unit/spec/services/Queue.ts +123 -12
  281. package/test/unit/spec/services/UserPreference.ts +401 -0
  282. package/test/unit/spec/services/WebCallingService.ts +7 -1
  283. package/test/unit/spec/services/WebexCrossClientService.ts +509 -0
  284. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
  285. package/test/unit/spec/services/config/Util.ts +129 -0
  286. package/test/unit/spec/services/config/index.ts +97 -29
  287. package/test/unit/spec/services/core/Utils.ts +425 -8
  288. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  289. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  290. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +66 -40
  291. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  292. package/test/unit/spec/services/task/Task.ts +745 -0
  293. package/test/unit/spec/services/task/TaskFactory.ts +99 -0
  294. package/test/unit/spec/services/task/TaskManager.ts +2539 -1490
  295. package/test/unit/spec/services/task/TaskUtils.ts +235 -0
  296. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  297. package/test/unit/spec/services/task/contact.ts +33 -0
  298. package/test/unit/spec/services/task/dialer.ts +190 -0
  299. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  300. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +4060 -0
  301. package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
  302. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  303. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
  304. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  305. package/test/unit/spec/services/task/voice/Voice.ts +2020 -0
  306. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  307. package/test/unit/spec/services/task/voice/wxAppOfferObservability.ts +361 -0
  308. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +719 -0
  309. package/test/unit/spec/services/wxAppDiagnosticLogging.ts +179 -0
  310. package/test/unit/spec/wellnessSampleUtils.ts +288 -0
  311. package/umd/contact-center.min.js +2 -2
  312. package/umd/contact-center.min.js.map +1 -1
  313. package/dist/services/task/index.js +0 -1530
  314. package/dist/services/task/index.js.map +0 -1
  315. package/dist/types/services/task/index.d.ts +0 -650
  316. package/src/services/task/index.ts +0 -1806
  317. package/test/unit/spec/services/task/index.ts +0 -2205
@@ -1,6 +1,6 @@
1
1
  import { CallingClientConfig } from '@webex/calling';
2
2
  import * as Agent from './services/agent/types';
3
- import { Profile } from './services/config/types';
3
+ import { Entity, Profile } from './services/config/types';
4
4
  import { PaginatedResponse, BaseSearchParams } from './utils/PageCache';
5
5
  /**
6
6
  * HTTP methods supported by WebexRequest.
@@ -106,6 +106,10 @@ export interface CCPluginConfig {
106
106
  };
107
107
  /** Configuration for the calling client */
108
108
  callingClientConfig: CallingClientConfig;
109
+ /** Whether to skip Mobius/WebRTC registration for browser login flows */
110
+ disableWebRTCRegistration?: boolean;
111
+ /** Whether wxApp Better Together (telephony REST + usersub) is enabled at init (WXCC-6026) */
112
+ enableWxBetterTogether?: boolean;
109
113
  }
110
114
  /**
111
115
  * Logger interface for standardized logging throughout the plugin.
@@ -249,6 +253,8 @@ export interface IContactCenter {
249
253
  * cc.register().then(profile => { ... });
250
254
  */
251
255
  register(): Promise<Profile>;
256
+ /** Returns the system-managed WellbeingBreak idle code for the registered session. */
257
+ getWellbeingBreakIdleCode(): Promise<Entity>;
252
258
  }
253
259
  /**
254
260
  * Generic HTTP response structure.
@@ -364,26 +370,29 @@ export type AgentLogin = {
364
370
  export type AgentProfileUpdate = Pick<AgentLogin, 'loginOption' | 'dialNumber' | 'teamId'>;
365
371
  /**
366
372
  * Represents the options to fetch buddy agents for the logged in agent.
367
- * Buddy agents are other agents who can be consulted or transfered to.
373
+ * Buddy agents are other agents who can be consulted or transferred to.
368
374
  * @public
369
375
  * @example
370
376
  * const opts: BuddyAgents = { mediaType: 'telephony', state: 'Available' };
371
- * @ignore
372
377
  */
373
378
  export type BuddyAgents = {
374
379
  /**
375
- * The media type channel to filter buddy agents.
376
- * Determines which channel capability the returned agents must have.
380
+ * The media type channel to filter buddy agents. Defaults to telephony when omitted.
377
381
  */
378
- mediaType: 'telephony' | 'chat' | 'social' | 'email';
382
+ mediaType?: 'telephony' | 'chat' | 'social' | 'email';
379
383
  /**
380
384
  * Optional filter for agent state.
381
385
  * If specified, returns only agents in that state.
382
386
  * If omitted, returns both available and idle agents.
383
387
  */
384
388
  state?: 'Available' | 'Idle';
389
+ /**
390
+ * Applies the default state policy for the operation. An explicit state takes precedence.
391
+ */
392
+ action?: 'Consult' | 'Transfer';
385
393
  };
386
394
  /**
395
+
387
396
  * Generic error structure for Contact Center SDK errors.
388
397
  * Contains detailed information about the error context.
389
398
  * @public
@@ -461,10 +470,12 @@ export interface AddressBookEntrySearchParams extends BaseSearchParams {
461
470
  export interface EntryPointRecord {
462
471
  id: string;
463
472
  name: string;
473
+ /** Dialled number mapped to this entry point when included in the list response. */
474
+ number?: string;
464
475
  description?: string;
465
- type: string;
466
- isActive: boolean;
467
- orgId: string;
476
+ type?: string;
477
+ isActive?: boolean;
478
+ orgId?: string;
468
479
  createdAt?: string;
469
480
  updatedAt?: string;
470
481
  settings?: Record<string, any>;
@@ -612,32 +623,217 @@ export type BuddyAgentsResponse = Agent.BuddyAgentsSuccess | Error;
612
623
  * function handleUpdateDeviceType(resp: UpdateDeviceTypeResponse) { ... }
613
624
  */
614
625
  export type UpdateDeviceTypeResponse = Agent.DeviceTypeUpdateSuccess | Error;
626
+ /**
627
+ * Supported transcript control actions for AI Assistant events.
628
+ * @public
629
+ * @example
630
+ * const action: TranscriptAction = 'START';
631
+ * @ignore
632
+ */
615
633
  export type TranscriptAction = 'START' | 'STOP';
634
+ /**
635
+ * Parameters used to request AI Assistant real-time assistance.
636
+ * @public
637
+ * @example
638
+ * const params: RealTimeAssistanceParams = {
639
+ * interactionId: 'interaction-123',
640
+ * context: 'Need help with credit card payment due date',
641
+ * };
642
+ */
643
+ export type RealTimeAssistanceParams = {
644
+ /** Agent identifier */
645
+ agentId: string;
646
+ /** Interaction identifier for which assistance should be generated */
647
+ interactionId: string;
648
+ /** Optional additional context that should refine the assistance */
649
+ context?: string;
650
+ /** Optional language code for assistance (for example, 'en'). Defaults to 'en'. */
651
+ languageCode?: string;
652
+ };
653
+ /**
654
+ * Supported user actions on an AI Assistant real-time assistance adaptive card.
655
+ * @public
656
+ */
657
+ export declare const RealTimeAssistanceUserActionId: {
658
+ /** User liked the real-time assistance response */
659
+ readonly LIKE: "likeButton";
660
+ /** User disliked the real-time assistance response */
661
+ readonly DISLIKE: "dislikeButton";
662
+ /** User copied the real-time assistance response */
663
+ readonly COPY: "copyButton";
664
+ };
665
+ /**
666
+ * Union type of supported real-time assistance user actions.
667
+ * @public
668
+ */
669
+ export type RealTimeAssistanceUserActionId = Enum<typeof RealTimeAssistanceUserActionId>;
670
+ /**
671
+ * Parameters used to send user action feedback for a real-time assistance adaptive card.
672
+ * @public
673
+ * @example
674
+ * const params: RealTimeAssistanceUserActionParams = {
675
+ * agentId: 'agent-123',
676
+ * interactionId: 'interaction-123',
677
+ * adaptiveCardId: 'adaptive-card-123',
678
+ * actionId: RealTimeAssistanceUserActionId.LIKE,
679
+ * };
680
+ */
681
+ export type RealTimeAssistanceUserActionParams = {
682
+ /** Agent identifier */
683
+ agentId: string;
684
+ /** Interaction identifier associated with the real-time assistance response */
685
+ interactionId: string;
686
+ /** Adaptive card identifier from the real-time assistance payload */
687
+ adaptiveCardId: string;
688
+ /** User action performed on the adaptive card */
689
+ actionId: RealTimeAssistanceUserActionId;
690
+ /** Optional language code. Defaults to 'en'. */
691
+ languageCode?: string;
692
+ };
693
+ /**
694
+ * Wellness notification actions delivered by the Contact Center notification service.
695
+ * @public
696
+ */
697
+ export declare const WELLNESS_BREAK_NOTIFICATION_ACTIONS: {
698
+ readonly PROVIDE_WELLNESS_BREAK: "PROVIDE_WELLNESS_BREAK";
699
+ readonly SUGGEST_WELLNESS_BREAK: "SUGGEST_WELLNESS_BREAK";
700
+ readonly WELLNESS_BREAK_NOT_ALLOWED: "WELLNESS_BREAK_NOT_ALLOWED";
701
+ };
702
+ /** Union of supported wellness notification actions. @public */
703
+ export type WellnessBreakNotificationAction = Enum<typeof WELLNESS_BREAK_NOTIFICATION_ACTIONS>;
704
+ /**
705
+ * Agent actions accepted by the wellness action API.
706
+ * @public
707
+ */
708
+ export declare const WELLNESS_BREAK_USER_ACTIONS: {
709
+ readonly REQUESTED: "REQUESTED";
710
+ readonly ACCEPTED: "ACCEPTED";
711
+ readonly REJECTED: "REJECTED";
712
+ readonly NO_RESPONSE: "NO_RESPONSE";
713
+ };
714
+ /** Union of supported wellness action API values. @public */
715
+ export type WellnessBreakUserAction = Enum<typeof WELLNESS_BREAK_USER_ACTIONS>;
716
+ /**
717
+ * Validated, agent-scoped wellness notification emitted by Contact Center.
718
+ * @public
719
+ */
720
+ export interface WellnessBreakEvent {
721
+ /** Agent identifier */
722
+ agentId: string;
723
+ /** Organization identifier */
724
+ orgId: string;
725
+ /** Session identifier supplied by the notification; it may differ from the consumer's active session */
726
+ agentSessionId: string;
727
+ /** Backend wellness action */
728
+ actionEvent: WellnessBreakNotificationAction;
729
+ /** Optional untrusted plain-text message supplied by the backend */
730
+ actionText?: string;
731
+ /** Optional normalized interaction diagnostic */
732
+ interactionId?: string;
733
+ /** Notification diagnostic only; never an action-request correlation identifier */
734
+ trackingId?: string;
735
+ }
736
+ /**
737
+ * Parameters for responding to a backend-provided wellness offer.
738
+ * @public
739
+ */
740
+ export interface RespondToWellnessBreakParams {
741
+ /** Agent response; REQUESTED is available only through requestWellnessBreak */
742
+ action: Exclude<WellnessBreakUserAction, typeof WELLNESS_BREAK_USER_ACTIONS.REQUESTED>;
743
+ }
744
+ /**
745
+ * Supported AI Assistant event categories.
746
+ * @public
747
+ * @example
748
+ * const eventType: AIAssistantEventType = AIAssistantEventType.CUSTOM_EVENT;
749
+ * @ignore
750
+ */
616
751
  export declare const AIAssistantEventType: {
752
+ /** Custom AI Assistant event */
617
753
  readonly CUSTOM_EVENT: "CUSTOM_EVENT";
754
+ /** CTI-backed AI Assistant event */
618
755
  readonly CTI_EVENT: "CTI_EVENT";
619
756
  };
757
+ /**
758
+ * Union type of AI Assistant event categories.
759
+ * @public
760
+ * @example
761
+ * function send(type: AIAssistantEventType) { ... }
762
+ * @ignore
763
+ */
620
764
  export type AIAssistantEventType = Enum<typeof AIAssistantEventType>;
765
+ /**
766
+ * Supported AI Assistant event names.
767
+ * @public
768
+ * @example
769
+ * const name: AIAssistantEventName = AIAssistantEventName.GET_TRANSCRIPTS;
770
+ * @ignore
771
+ */
621
772
  export declare const AIAssistantEventName: {
773
+ /** Request transcript streaming for an interaction */
622
774
  readonly GET_TRANSCRIPTS: "GET_TRANSCRIPTS";
775
+ /** Request a suggested response for an interaction */
776
+ readonly GET_SUGGESTIONS: "GET_SUGGESTIONS";
777
+ /** Add extra context to refine a suggested response */
778
+ readonly ADD_SUGGESTIONS_EXTRA_CONTEXT: "ADD_SUGGESTIONS_EXTRA_CONTEXT";
779
+ /** Request mid-call summary generation */
623
780
  readonly GET_MID_CALL_SUMMARY: "GET_MID_CALL_SUMMARY";
781
+ /** Request post-call summary generation */
624
782
  readonly GET_POST_CALL_SUMMARY: "GET_POST_CALL_SUMMARY";
783
+ /** Mid-call summary response event */
625
784
  readonly MID_CALL_SUMMARY_RESPONSE: "MID_CALL_SUMMARY_RESPONSE";
785
+ /** Post-call summary response event */
626
786
  readonly POST_CALL_SUMMARY_RESPONSE: "POST_CALL_SUMMARY_RESPONSE";
787
+ /** Suggested digital response event */
627
788
  readonly SUGGESTED_RESPONSES_DIGITAL: "SUGGESTED_RESPONSES_DIGITAL";
789
+ /** User action on a suggested response adaptive card */
790
+ readonly SUGGESTED_RESPONSES_USER_ACTION: "SUGGESTED_RESPONSES_USER_ACTION";
791
+ /** Agent Wellness Break request/response action */
792
+ readonly WELLNESS_BREAK_ACTION: "WellnessBreakAction";
628
793
  };
794
+ /**
795
+ * Union type of AI Assistant event names.
796
+ * @public
797
+ * @example
798
+ * function handle(name: AIAssistantEventName) { ... }
799
+ * @ignore
800
+ */
629
801
  export type AIAssistantEventName = Enum<typeof AIAssistantEventName>;
802
+ /**
803
+ * A single transcript message entry returned by AI Assistant APIs.
804
+ * @public
805
+ * @example
806
+ * const message: TranscriptMessage = { role: 'AGENT', content: 'Hello', messageId: '1', publishTimestamp: Date.now() };
807
+ *
808
+ */
630
809
  export type TranscriptMessage = {
810
+ /** Speaker role for this message */
631
811
  role: string;
812
+ /** Transcript chunk content */
632
813
  content: string;
814
+ /** Unique message identifier */
633
815
  messageId: string;
816
+ /** Message publish timestamp (epoch milliseconds) */
634
817
  publishTimestamp: number;
635
818
  };
819
+ /**
820
+ * Response payload for historic transcripts API.
821
+ * @public
822
+ * @example
823
+ * const resp: HistoricTranscriptsResponse = { orgId: 'org', agentId: 'agent', conversationId: null, interactionId: 'int', source: 'AI', data: [] };
824
+ *
825
+ */
636
826
  export type HistoricTranscriptsResponse = {
827
+ /** Organization identifier */
637
828
  orgId: string;
829
+ /** Agent identifier */
638
830
  agentId: string;
831
+ /** Conversation identifier when available */
639
832
  conversationId: string | null;
833
+ /** Interaction identifier */
640
834
  interactionId: string;
835
+ /** Data source identifier */
641
836
  source: string;
837
+ /** Transcript messages */
642
838
  data: TranscriptMessage[];
643
839
  };
@@ -90,6 +90,12 @@ export interface CacheValidationParams {
90
90
  attributes?: string;
91
91
  /** Sort by parameter */
92
92
  sortBy?: string;
93
+ /** Desktop-profile filtering changes the returned result set */
94
+ desktopProfileFilter?: boolean;
95
+ /** Provisioning-view filtering changes the returned result set */
96
+ provisioningView?: boolean;
97
+ /** Single-object response mode changes the response shape */
98
+ singleObjectResponse?: boolean;
93
99
  }
94
100
  /**
95
101
  * Page cache utility class for managing paginated API response caching.
@@ -103,8 +109,18 @@ export interface CacheValidationParams {
103
109
  * // Create a cache instance for a specific data type
104
110
  * const cache = new PageCache<AddressBookEntry>('AddressBook');
105
111
  *
106
- * // Check if we can use cache (no search/filter parameters)
107
- * if (cache.canUseCache({ search, filter })) {
112
+ * // Check if we can use cache for the complete result/response-shape input set
113
+ * if (
114
+ * cache.canUseCache({
115
+ * search,
116
+ * filter,
117
+ * attributes,
118
+ * sortBy,
119
+ * desktopProfileFilter,
120
+ * provisioningView,
121
+ * singleObjectResponse,
122
+ * })
123
+ * ) {
108
124
  * const cacheKey = cache.buildCacheKey(orgId, page, pageSize);
109
125
  * const cachedPage = cache.getCachedPage(cacheKey);
110
126
  *
@@ -128,7 +144,8 @@ export declare class PageCache<T> {
128
144
  constructor(apiName: string);
129
145
  /**
130
146
  * Checks if cache can be used for the given parameters.
131
- * Cache is only used for simple pagination without search/filter/attributes/sort.
147
+ * Cache is only used for simple pagination without query variants or enabled
148
+ * result/response-shape flags.
132
149
  * @param {CacheValidationParams} params - Parameters to validate
133
150
  * @returns {boolean} True if cache can be used
134
151
  * @public
@@ -1,3 +1,4 @@
1
+ export * from "./index";
1
2
  export default Webex;
2
3
  /**
3
4
  * Webex SDK class extended from the core SDK.
package/dist/types.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LoginOption = exports.LOGGING_LEVEL = exports.HTTP_METHODS = exports.AIAssistantEventType = exports.AIAssistantEventName = void 0;
6
+ exports.WELLNESS_BREAK_USER_ACTIONS = exports.WELLNESS_BREAK_NOTIFICATION_ACTIONS = exports.RealTimeAssistanceUserActionId = exports.LoginOption = exports.LOGGING_LEVEL = exports.HTTP_METHODS = exports.AIAssistantEventType = exports.AIAssistantEventName = void 0;
7
7
  /**
8
8
  * Generic type for converting a const enum object into a union type of its values.
9
9
  * @template T The enum object type
@@ -58,6 +58,12 @@ const HTTP_METHODS = exports.HTTP_METHODS = {
58
58
  * @ignore
59
59
  */
60
60
 
61
+ /**
62
+ * Mercury event handler callback.
63
+ * @internal
64
+ * @ignore
65
+ */
66
+
61
67
  /**
62
68
  * Event listener removal function type.
63
69
  * @internal
@@ -228,14 +234,20 @@ const LoginOption = exports.LoginOption = {
228
234
 
229
235
  /**
230
236
  * Represents the options to fetch buddy agents for the logged in agent.
231
- * Buddy agents are other agents who can be consulted or transfered to.
237
+ * Buddy agents are other agents who can be consulted or transferred to.
232
238
  * @public
233
239
  * @example
234
240
  * const opts: BuddyAgents = { mediaType: 'telephony', state: 'Available' };
235
- * @ignore
236
241
  */
237
242
 
238
243
  /**
244
+ * Holds the configuration flags for the Agent.
245
+ * These flags determine the availability of certain features in the Agent UI.
246
+ * @internal
247
+ */
248
+
249
+ /**
250
+
239
251
  * Generic error structure for Contact Center SDK errors.
240
252
  * Contains detailed information about the error context.
241
253
  * @public
@@ -312,16 +324,162 @@ const LoginOption = exports.LoginOption = {
312
324
  * function handleUpdateDeviceType(resp: UpdateDeviceTypeResponse) { ... }
313
325
  */
314
326
 
327
+ /**
328
+ * Supported transcript control actions for AI Assistant events.
329
+ * @public
330
+ * @example
331
+ * const action: TranscriptAction = 'START';
332
+ * @ignore
333
+ */
334
+
335
+ /**
336
+ * Parameters used to request AI Assistant real-time assistance.
337
+ * @public
338
+ * @example
339
+ * const params: RealTimeAssistanceParams = {
340
+ * interactionId: 'interaction-123',
341
+ * context: 'Need help with credit card payment due date',
342
+ * };
343
+ */
344
+
345
+ /**
346
+ * Supported user actions on an AI Assistant real-time assistance adaptive card.
347
+ * @public
348
+ */
349
+ const RealTimeAssistanceUserActionId = exports.RealTimeAssistanceUserActionId = {
350
+ /** User liked the real-time assistance response */
351
+ LIKE: 'likeButton',
352
+ /** User disliked the real-time assistance response */
353
+ DISLIKE: 'dislikeButton',
354
+ /** User copied the real-time assistance response */
355
+ COPY: 'copyButton'
356
+ };
357
+
358
+ /**
359
+ * Union type of supported real-time assistance user actions.
360
+ * @public
361
+ */
362
+
363
+ /**
364
+ * Parameters used to send user action feedback for a real-time assistance adaptive card.
365
+ * @public
366
+ * @example
367
+ * const params: RealTimeAssistanceUserActionParams = {
368
+ * agentId: 'agent-123',
369
+ * interactionId: 'interaction-123',
370
+ * adaptiveCardId: 'adaptive-card-123',
371
+ * actionId: RealTimeAssistanceUserActionId.LIKE,
372
+ * };
373
+ */
374
+
375
+ /**
376
+ * Wellness notification actions delivered by the Contact Center notification service.
377
+ * @public
378
+ */
379
+ const WELLNESS_BREAK_NOTIFICATION_ACTIONS = exports.WELLNESS_BREAK_NOTIFICATION_ACTIONS = {
380
+ PROVIDE_WELLNESS_BREAK: 'PROVIDE_WELLNESS_BREAK',
381
+ SUGGEST_WELLNESS_BREAK: 'SUGGEST_WELLNESS_BREAK',
382
+ WELLNESS_BREAK_NOT_ALLOWED: 'WELLNESS_BREAK_NOT_ALLOWED'
383
+ };
384
+
385
+ /** Union of supported wellness notification actions. @public */
386
+
387
+ /**
388
+ * Agent actions accepted by the wellness action API.
389
+ * @public
390
+ */
391
+ const WELLNESS_BREAK_USER_ACTIONS = exports.WELLNESS_BREAK_USER_ACTIONS = {
392
+ REQUESTED: 'REQUESTED',
393
+ ACCEPTED: 'ACCEPTED',
394
+ REJECTED: 'REJECTED',
395
+ NO_RESPONSE: 'NO_RESPONSE'
396
+ };
397
+
398
+ /** Union of supported wellness action API values. @public */
399
+
400
+ /**
401
+ * Validated, agent-scoped wellness notification emitted by Contact Center.
402
+ * @public
403
+ */
404
+
405
+ /**
406
+ * Parameters for responding to a backend-provided wellness offer.
407
+ * @public
408
+ */
409
+
410
+ /**
411
+ * Supported AI Assistant event categories.
412
+ * @public
413
+ * @example
414
+ * const eventType: AIAssistantEventType = AIAssistantEventType.CUSTOM_EVENT;
415
+ * @ignore
416
+ */
315
417
  const AIAssistantEventType = exports.AIAssistantEventType = {
418
+ /** Custom AI Assistant event */
316
419
  CUSTOM_EVENT: 'CUSTOM_EVENT',
420
+ /** CTI-backed AI Assistant event */
317
421
  CTI_EVENT: 'CTI_EVENT'
318
422
  };
423
+
424
+ /**
425
+ * Union type of AI Assistant event categories.
426
+ * @public
427
+ * @example
428
+ * function send(type: AIAssistantEventType) { ... }
429
+ * @ignore
430
+ */
431
+
432
+ /**
433
+ * Supported AI Assistant event names.
434
+ * @public
435
+ * @example
436
+ * const name: AIAssistantEventName = AIAssistantEventName.GET_TRANSCRIPTS;
437
+ * @ignore
438
+ */
319
439
  const AIAssistantEventName = exports.AIAssistantEventName = {
440
+ /** Request transcript streaming for an interaction */
320
441
  GET_TRANSCRIPTS: 'GET_TRANSCRIPTS',
442
+ /** Request a suggested response for an interaction */
443
+ GET_SUGGESTIONS: 'GET_SUGGESTIONS',
444
+ /** Add extra context to refine a suggested response */
445
+ ADD_SUGGESTIONS_EXTRA_CONTEXT: 'ADD_SUGGESTIONS_EXTRA_CONTEXT',
446
+ /** Request mid-call summary generation */
321
447
  GET_MID_CALL_SUMMARY: 'GET_MID_CALL_SUMMARY',
448
+ /** Request post-call summary generation */
322
449
  GET_POST_CALL_SUMMARY: 'GET_POST_CALL_SUMMARY',
450
+ /** Mid-call summary response event */
323
451
  MID_CALL_SUMMARY_RESPONSE: 'MID_CALL_SUMMARY_RESPONSE',
452
+ /** Post-call summary response event */
324
453
  POST_CALL_SUMMARY_RESPONSE: 'POST_CALL_SUMMARY_RESPONSE',
325
- SUGGESTED_RESPONSES_DIGITAL: 'SUGGESTED_RESPONSES_DIGITAL'
454
+ /** Suggested digital response event */
455
+ SUGGESTED_RESPONSES_DIGITAL: 'SUGGESTED_RESPONSES_DIGITAL',
456
+ /** User action on a suggested response adaptive card */
457
+ SUGGESTED_RESPONSES_USER_ACTION: 'SUGGESTED_RESPONSES_USER_ACTION',
458
+ /** Agent Wellness Break request/response action */
459
+ WELLNESS_BREAK_ACTION: 'WellnessBreakAction'
326
460
  };
461
+
462
+ /**
463
+ * Union type of AI Assistant event names.
464
+ * @public
465
+ * @example
466
+ * function handle(name: AIAssistantEventName) { ... }
467
+ * @ignore
468
+ */
469
+
470
+ /**
471
+ * A single transcript message entry returned by AI Assistant APIs.
472
+ * @public
473
+ * @example
474
+ * const message: TranscriptMessage = { role: 'AGENT', content: 'Hello', messageId: '1', publishTimestamp: Date.now() };
475
+ *
476
+ */
477
+
478
+ /**
479
+ * Response payload for historic transcripts API.
480
+ * @public
481
+ * @example
482
+ * const resp: HistoricTranscriptsResponse = { orgId: 'org', agentId: 'agent', conversationId: null, interactionId: 'int', source: 'AI', data: [] };
483
+ *
484
+ */
327
485
  //# sourceMappingURL=types.js.map