@webex/contact-center 3.11.0 → 3.12.0-llmrefactor.2

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 (267) hide show
  1. package/.sdd/manifest.json +882 -0
  2. package/AGENTS.md +94 -0
  3. package/ai-docs/ARCHITECTURE.md +168 -0
  4. package/ai-docs/CONTRACTS.md +46 -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 +341 -0
  17. package/ai-docs/features/generated-spec-conformance-fidelity-remediation/spec/feature-spec.md +117 -0
  18. package/ai-docs/features/residual-warning-coverage-completion/spec/feature-spec.md +203 -0
  19. package/ai-docs/features/validator-code-fidelity-drift-fix/spec/feature-spec.md +315 -0
  20. package/ai-docs/patterns/event-driven-patterns.md +485 -0
  21. package/ai-docs/patterns/testing-patterns.md +480 -0
  22. package/ai-docs/patterns/typescript-patterns.md +365 -0
  23. package/ai-docs/templates/README.md +102 -0
  24. package/ai-docs/templates/documentation/create-agents-md.md +240 -0
  25. package/ai-docs/templates/documentation/create-architecture-md.md +295 -0
  26. package/ai-docs/templates/existing-service/bug-fix.md +254 -0
  27. package/ai-docs/templates/existing-service/feature-enhancement.md +450 -0
  28. package/ai-docs/templates/new-method/00-master.md +80 -0
  29. package/ai-docs/templates/new-method/01-requirements.md +232 -0
  30. package/ai-docs/templates/new-method/02-implementation.md +295 -0
  31. package/ai-docs/templates/new-method/03-tests.md +201 -0
  32. package/ai-docs/templates/new-method/04-validation.md +141 -0
  33. package/ai-docs/templates/new-service/00-master.md +109 -0
  34. package/ai-docs/templates/new-service/01-pre-questions.md +159 -0
  35. package/ai-docs/templates/new-service/02-code-generation.md +346 -0
  36. package/ai-docs/templates/new-service/03-integration.md +178 -0
  37. package/ai-docs/templates/new-service/04-test-generation.md +205 -0
  38. package/ai-docs/templates/new-service/05-validation.md +145 -0
  39. package/dist/cc.js +379 -50
  40. package/dist/cc.js.map +1 -1
  41. package/dist/config.js +6 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/constants.js +22 -2
  44. package/dist/constants.js.map +1 -1
  45. package/dist/index.js +27 -5
  46. package/dist/index.js.map +1 -1
  47. package/dist/metrics/behavioral-events.js +114 -0
  48. package/dist/metrics/behavioral-events.js.map +1 -1
  49. package/dist/metrics/constants.js +32 -3
  50. package/dist/metrics/constants.js.map +1 -1
  51. package/dist/services/ApiAiAssistant.js +318 -0
  52. package/dist/services/ApiAiAssistant.js.map +1 -0
  53. package/dist/services/UserPreference.js +427 -0
  54. package/dist/services/UserPreference.js.map +1 -0
  55. package/dist/services/agent/types.js.map +1 -1
  56. package/dist/services/config/Util.js +8 -4
  57. package/dist/services/config/Util.js.map +1 -1
  58. package/dist/services/config/constants.js +35 -2
  59. package/dist/services/config/constants.js.map +1 -1
  60. package/dist/services/config/index.js +41 -2
  61. package/dist/services/config/index.js.map +1 -1
  62. package/dist/services/config/types.js +66 -8
  63. package/dist/services/config/types.js.map +1 -1
  64. package/dist/services/constants.js +27 -1
  65. package/dist/services/constants.js.map +1 -1
  66. package/dist/services/core/Err.js.map +1 -1
  67. package/dist/services/core/Utils.js +122 -25
  68. package/dist/services/core/Utils.js.map +1 -1
  69. package/dist/services/core/aqm-reqs.js +92 -17
  70. package/dist/services/core/aqm-reqs.js.map +1 -1
  71. package/dist/services/core/websocket/WebSocketManager.js +22 -6
  72. package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
  73. package/dist/services/core/websocket/connection-service.js +3 -1
  74. package/dist/services/core/websocket/connection-service.js.map +1 -1
  75. package/dist/services/core/websocket/types.js.map +1 -1
  76. package/dist/services/index.js +6 -0
  77. package/dist/services/index.js.map +1 -1
  78. package/dist/services/task/Task.js +688 -0
  79. package/dist/services/task/Task.js.map +1 -0
  80. package/dist/services/task/TaskFactory.js +45 -0
  81. package/dist/services/task/TaskFactory.js.map +1 -0
  82. package/dist/services/task/TaskManager.js +751 -457
  83. package/dist/services/task/TaskManager.js.map +1 -1
  84. package/dist/services/task/TaskUtils.js +220 -23
  85. package/dist/services/task/TaskUtils.js.map +1 -1
  86. package/dist/services/task/constants.js +23 -2
  87. package/dist/services/task/constants.js.map +1 -1
  88. package/dist/services/task/dialer.js +129 -0
  89. package/dist/services/task/dialer.js.map +1 -1
  90. package/dist/services/task/digital/Digital.js +77 -0
  91. package/dist/services/task/digital/Digital.js.map +1 -0
  92. package/dist/services/task/state-machine/TaskStateMachine.js +873 -0
  93. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
  94. package/dist/services/task/state-machine/actions.js +567 -0
  95. package/dist/services/task/state-machine/actions.js.map +1 -0
  96. package/dist/services/task/state-machine/constants.js +161 -0
  97. package/dist/services/task/state-machine/constants.js.map +1 -0
  98. package/dist/services/task/state-machine/guards.js +382 -0
  99. package/dist/services/task/state-machine/guards.js.map +1 -0
  100. package/dist/services/task/state-machine/index.js +53 -0
  101. package/dist/services/task/state-machine/index.js.map +1 -0
  102. package/dist/services/task/state-machine/types.js +54 -0
  103. package/dist/services/task/state-machine/types.js.map +1 -0
  104. package/dist/services/task/state-machine/uiControlsComputer.js +603 -0
  105. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
  106. package/dist/services/task/taskDataNormalizer.js +99 -0
  107. package/dist/services/task/taskDataNormalizer.js.map +1 -0
  108. package/dist/services/task/types.js +227 -4
  109. package/dist/services/task/types.js.map +1 -1
  110. package/dist/services/task/voice/Voice.js +1044 -0
  111. package/dist/services/task/voice/Voice.js.map +1 -0
  112. package/dist/services/task/voice/WebRTC.js +149 -0
  113. package/dist/services/task/voice/WebRTC.js.map +1 -0
  114. package/dist/types/cc.d.ts +894 -0
  115. package/dist/types/config.d.ts +72 -0
  116. package/dist/types/constants.d.ts +66 -0
  117. package/dist/types/index.d.ts +199 -0
  118. package/dist/types/logger-proxy.d.ts +71 -0
  119. package/dist/types/metrics/MetricsManager.d.ts +223 -0
  120. package/dist/types/metrics/behavioral-events.d.ts +29 -0
  121. package/dist/types/metrics/constants.d.ts +181 -0
  122. package/dist/types/services/AddressBook.d.ts +74 -0
  123. package/dist/types/services/ApiAiAssistant.d.ts +49 -0
  124. package/dist/types/services/EntryPoint.d.ts +67 -0
  125. package/dist/types/services/Queue.d.ts +76 -0
  126. package/dist/types/services/UserPreference.d.ts +118 -0
  127. package/dist/types/services/WebCallingService.d.ts +1 -0
  128. package/dist/types/services/agent/index.d.ts +46 -0
  129. package/dist/types/services/agent/types.d.ts +413 -0
  130. package/dist/types/services/config/Util.d.ts +20 -0
  131. package/dist/types/services/config/constants.d.ts +270 -0
  132. package/dist/types/services/config/index.d.ts +177 -0
  133. package/dist/types/services/config/types.d.ts +1368 -0
  134. package/dist/types/services/constants.d.ts +110 -0
  135. package/dist/types/services/core/Err.d.ts +125 -0
  136. package/dist/types/services/core/GlobalTypes.d.ts +58 -0
  137. package/dist/types/services/core/Utils.d.ts +121 -0
  138. package/dist/types/services/core/WebexRequest.d.ts +22 -0
  139. package/dist/types/services/core/aqm-reqs.d.ts +65 -0
  140. package/dist/types/services/core/constants.d.ts +99 -0
  141. package/dist/types/services/core/types.d.ts +47 -0
  142. package/dist/types/services/core/websocket/WebSocketManager.d.ts +36 -0
  143. package/dist/types/services/core/websocket/connection-service.d.ts +27 -0
  144. package/dist/types/services/core/websocket/keepalive.worker.d.ts +2 -0
  145. package/dist/types/services/core/websocket/types.d.ts +37 -0
  146. package/dist/types/services/index.d.ts +54 -0
  147. package/dist/types/services/task/AutoWrapup.d.ts +40 -0
  148. package/dist/types/services/task/Task.d.ts +157 -0
  149. package/dist/types/services/task/TaskFactory.d.ts +12 -0
  150. package/dist/types/services/task/TaskManager.d.ts +1 -0
  151. package/dist/types/services/task/TaskUtils.d.ts +138 -0
  152. package/dist/types/services/task/constants.d.ts +91 -0
  153. package/dist/types/services/task/contact.d.ts +69 -0
  154. package/dist/types/services/task/dialer.d.ts +73 -0
  155. package/dist/types/services/task/digital/Digital.d.ts +22 -0
  156. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1194 -0
  157. package/dist/types/services/task/state-machine/actions.d.ts +10 -0
  158. package/dist/types/services/task/state-machine/constants.d.ts +107 -0
  159. package/dist/types/services/task/state-machine/guards.d.ts +102 -0
  160. package/dist/types/services/task/state-machine/index.d.ts +13 -0
  161. package/dist/types/services/task/state-machine/types.d.ts +269 -0
  162. package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
  163. package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
  164. package/dist/types/services/task/types.d.ts +1856 -0
  165. package/dist/types/services/task/voice/Voice.d.ts +184 -0
  166. package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
  167. package/dist/types/types.d.ts +778 -0
  168. package/dist/types/utils/PageCache.d.ts +173 -0
  169. package/dist/types/webex-config.d.ts +53 -0
  170. package/dist/types/webex.d.ts +8 -0
  171. package/dist/types.js +130 -1
  172. package/dist/types.js.map +1 -1
  173. package/dist/webex.js +14 -2
  174. package/dist/webex.js.map +1 -1
  175. package/package.json +16 -12
  176. package/src/cc.ts +477 -51
  177. package/src/config.ts +6 -0
  178. package/src/constants.ts +21 -1
  179. package/src/index.ts +24 -5
  180. package/src/metrics/ai-docs/AGENTS.md +350 -0
  181. package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
  182. package/src/metrics/ai-docs/metrics-spec.md +854 -0
  183. package/src/metrics/behavioral-events.ts +120 -0
  184. package/src/metrics/constants.ts +37 -3
  185. package/src/services/ApiAiAssistant.ts +412 -0
  186. package/src/services/UserPreference.ts +509 -0
  187. package/src/services/agent/ai-docs/AGENTS.md +240 -0
  188. package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
  189. package/src/services/agent/ai-docs/agent-spec.md +504 -0
  190. package/src/services/agent/types.ts +1 -1
  191. package/src/services/ai-docs/AGENTS.md +386 -0
  192. package/src/services/ai-docs/services-spec.md +492 -0
  193. package/src/services/config/Util.ts +10 -2
  194. package/src/services/config/ai-docs/AGENTS.md +255 -0
  195. package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
  196. package/src/services/config/ai-docs/config-spec.md +669 -0
  197. package/src/services/config/constants.ts +37 -1
  198. package/src/services/config/index.ts +45 -1
  199. package/src/services/config/types.ts +241 -11
  200. package/src/services/constants.ts +29 -0
  201. package/src/services/core/Err.ts +3 -0
  202. package/src/services/core/Utils.ts +143 -30
  203. package/src/services/core/ai-docs/AGENTS.md +381 -0
  204. package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
  205. package/src/services/core/ai-docs/core-spec.md +783 -0
  206. package/src/services/core/aqm-reqs.ts +100 -22
  207. package/src/services/core/websocket/WebSocketManager.ts +23 -6
  208. package/src/services/core/websocket/connection-service.ts +5 -1
  209. package/src/services/core/websocket/types.ts +1 -1
  210. package/src/services/index.ts +4 -0
  211. package/src/services/task/Task.ts +837 -0
  212. package/src/services/task/TaskFactory.ts +55 -0
  213. package/src/services/task/TaskManager.ts +793 -521
  214. package/src/services/task/TaskUtils.ts +314 -24
  215. package/src/services/task/ai-docs/AGENTS.md +457 -0
  216. package/src/services/task/ai-docs/ARCHITECTURE.md +594 -0
  217. package/src/services/task/ai-docs/task-spec.md +1319 -0
  218. package/src/services/task/constants.ts +23 -0
  219. package/src/services/task/dialer.ts +136 -1
  220. package/src/services/task/digital/Digital.ts +95 -0
  221. package/src/services/task/state-machine/TaskStateMachine.ts +1166 -0
  222. package/src/services/task/state-machine/actions.ts +738 -0
  223. package/src/services/task/state-machine/ai-docs/AGENTS.md +458 -0
  224. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1137 -0
  225. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2177 -0
  226. package/src/services/task/state-machine/constants.ts +172 -0
  227. package/src/services/task/state-machine/guards.ts +445 -0
  228. package/src/services/task/state-machine/index.ts +28 -0
  229. package/src/services/task/state-machine/types.ts +243 -0
  230. package/src/services/task/state-machine/uiControlsComputer.ts +961 -0
  231. package/src/services/task/taskDataNormalizer.ts +137 -0
  232. package/src/services/task/types.ts +734 -71
  233. package/src/services/task/voice/Voice.ts +1270 -0
  234. package/src/services/task/voice/WebRTC.ts +187 -0
  235. package/src/types.ts +205 -2
  236. package/src/utils/AGENTS.md +278 -0
  237. package/src/utils/ai-docs/utils-spec.md +381 -0
  238. package/src/webex.js +2 -0
  239. package/test/unit/spec/cc.ts +503 -43
  240. package/test/unit/spec/logger-proxy.ts +70 -0
  241. package/test/unit/spec/services/ApiAiAssistant.ts +273 -0
  242. package/test/unit/spec/services/UserPreference.ts +401 -0
  243. package/test/unit/spec/services/WebCallingService.ts +7 -1
  244. package/test/unit/spec/services/config/index.ts +85 -29
  245. package/test/unit/spec/services/core/Utils.ts +481 -2
  246. package/test/unit/spec/services/core/websocket/WebSocketManager.ts +137 -41
  247. package/test/unit/spec/services/core/websocket/connection-service.ts +3 -1
  248. package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
  249. package/test/unit/spec/services/task/Task.ts +477 -0
  250. package/test/unit/spec/services/task/TaskFactory.ts +62 -0
  251. package/test/unit/spec/services/task/TaskManager.ts +1001 -1003
  252. package/test/unit/spec/services/task/TaskUtils.ts +235 -0
  253. package/test/unit/spec/services/task/dialer.ts +372 -96
  254. package/test/unit/spec/services/task/digital/Digital.ts +105 -0
  255. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +2651 -0
  256. package/test/unit/spec/services/task/state-machine/guards.ts +637 -0
  257. package/test/unit/spec/services/task/state-machine/types.ts +18 -0
  258. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +2663 -0
  259. package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
  260. package/test/unit/spec/services/task/voice/Voice.ts +649 -0
  261. package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
  262. package/umd/contact-center.min.js +2 -2
  263. package/umd/contact-center.min.js.map +1 -1
  264. package/dist/services/task/index.js +0 -1525
  265. package/dist/services/task/index.js.map +0 -1
  266. package/src/services/task/index.ts +0 -1801
  267. package/test/unit/spec/services/task/index.ts +0 -2184
@@ -0,0 +1,184 @@
1
+ import routingContact from '../contact';
2
+ import { ConsultPayload, ConsultEndPayload, ResumeRecordingPayload, TaskData, TaskResponse, IVoice, VoiceUIControlOptions, TransferPayLoad } from '../types';
3
+ import Task from '../Task';
4
+ import { TaskActionArgs } from '../state-machine';
5
+ import { WrapupData } from '../../config/types';
6
+ export default class Voice extends Task implements IVoice {
7
+ constructor(contact: ReturnType<typeof routingContact>, data: TaskData, callOptions?: VoiceUIControlOptions, wrapupData?: WrapupData, agentId?: string);
8
+ private getStateMachineSnapshot;
9
+ /**
10
+ * This method is used to accept the task.
11
+ * It is expected to be overridden by child classes.
12
+ * @returns Promise<TaskResponse>
13
+ * @throws Error
14
+ */
15
+ accept(): Promise<TaskResponse>;
16
+ /**
17
+ * This method is used to decline the task.
18
+ * It is expected to be overridden by child classes.
19
+ * @returns Promise<TaskResponse>
20
+ * @throws Error
21
+ */
22
+ decline(): Promise<TaskResponse>;
23
+ /**
24
+ * This is used to hold the task.
25
+ * @returns Promise<TaskResponse>
26
+ * @throws Error
27
+ * @example
28
+ * ```typescript
29
+ * task.hold().then(()=>{}).catch(()=>{})
30
+ * ```
31
+ * */
32
+ hold(): Promise<TaskResponse>;
33
+ /**
34
+ * This is used to resume the task.
35
+ * @returns Promise<TaskResponse>
36
+ * @throws Error
37
+ * @example
38
+ * ```typescript
39
+ * task.resume().then(()=>{}).catch(()=>{})
40
+ * ```
41
+ * */
42
+ resume(): Promise<TaskResponse>;
43
+ /**
44
+ * This is used to hold or resume the task.
45
+ * @param isHeld: boolean - true to hold the task, false to resume it
46
+ * @returns Promise<TaskResponse>
47
+ * @throws Error
48
+ * @example
49
+ * ```typescript
50
+ * task.holdResume(isHeld: true).then(()=>{}).catch(()=>{})
51
+ * ```
52
+ * */
53
+ holdResume(): Promise<TaskResponse>;
54
+ /**
55
+ * This is used to pause the call recording
56
+ * @returns Promise<TaskResponse>
57
+ * @throws Error
58
+ * @example
59
+ * ```typescript
60
+ * task.pauseRecording().then(()=>{}).catch(()=>{});
61
+ * ```
62
+ */
63
+ pauseRecording(): Promise<TaskResponse>;
64
+ /**
65
+ * This is used to pause the call recording
66
+ * @param resumeRecordingPayload
67
+ * @returns Promise<TaskResponse>
68
+ * @throws Error
69
+ * @example
70
+ * ```typescript
71
+ * task.resumeRecording(resumeRecordingPayload).then(()=>{}).catch(()=>{});
72
+ * ```
73
+ */
74
+ resumeRecording(resumeRecordingPayload?: ResumeRecordingPayload): Promise<TaskResponse>;
75
+ /**
76
+ * This is used to consult the task
77
+ * @param consultPayload
78
+ * @returns Promise<TaskResponse>
79
+ * @throws Error
80
+ * @example
81
+ * ```typescript
82
+ * const consultPayload = {
83
+ * destination: 'myBuddyAgentId',
84
+ * destinationType: DESTINATION_TYPE.AGENT,
85
+ * }
86
+ * task.consult(consultPayload).then(()=>{}).catch(()=>{});
87
+ * ```
88
+ * */
89
+ consult(consultPayload?: ConsultPayload): Promise<TaskResponse>;
90
+ /**
91
+ * This is used to end the consult session on the task.
92
+ * @param consultEndPayload - Payload indicating consult end flags and identifiers
93
+ * @returns Promise<TaskResponse>
94
+ * @throws Error
95
+ * @example
96
+ * ```typescript
97
+ * task.endConsult({
98
+ * isConsult: true,
99
+ * queueId: 'myQueueId',
100
+ * taskId: 'taskId',
101
+ * });
102
+ * ```
103
+ */
104
+ endConsult(consultEndPayload?: ConsultEndPayload): Promise<TaskResponse>;
105
+ /**
106
+ * This is used to transfer the task.
107
+ * @param payload - Transfer payload
108
+ * @returns Promise<TaskResponse>
109
+ * @throws Error
110
+ * @example
111
+ * ```typescript
112
+ * task.transfer({
113
+ * to: 'destinationId',
114
+ * destinationType: DESTINATION_TYPE.AGENT,
115
+ * consult: true, // Optional, if true will perform a consult transfer else blind transfer
116
+ * });
117
+ * ```
118
+ */
119
+ transfer(payload: TransferPayLoad): Promise<TaskResponse>;
120
+ /**
121
+ * Start a consult conference, merging main and consult calls.
122
+ */
123
+ consultConference(): Promise<TaskResponse>;
124
+ /**
125
+ * Exit from a conference call.
126
+ * Per conference-spec.md:
127
+ * - Primary agent exits to wrapup
128
+ * - Non-primary agent exits to available/connected
129
+ * - Other participants continue the call
130
+ *
131
+ * @returns Promise<TaskResponse>
132
+ * @throws Error if not in conference or exit fails
133
+ * @example
134
+ * ```typescript
135
+ * task.exitConference().then(() => {}).catch(() => {});
136
+ * ```
137
+ */
138
+ exitConference(): Promise<TaskResponse>;
139
+ /**
140
+ * Transfer the conference to another participant.
141
+ * Per conference-spec.md: Only primary agent can transfer conference.
142
+ * After transfer, the transferring agent exits to wrapup.
143
+ *
144
+ * @returns Promise<TaskResponse>
145
+ * @throws Error if not in conference or transfer fails
146
+ * @example
147
+ * ```typescript
148
+ * task.transferConference().then(() => {}).catch(() => {});
149
+ * ```
150
+ */
151
+ transferConference(): Promise<TaskResponse>;
152
+ /**
153
+ * Toggle between consult call and main call during consulting.
154
+ * If on consult leg (consultCallHeld = false), switches to main call by holding consult.
155
+ * If on main call (consultCallHeld = true), switches to consult by resuming consult.
156
+ *
157
+ * @returns Promise<TaskResponse>
158
+ * @throws Error if not in CONSULTING state or no consult media resource
159
+ * @example
160
+ * ```typescript
161
+ * await task.switchCall();
162
+ * ```
163
+ */
164
+ switchCall(): Promise<TaskResponse>;
165
+ protected getChannelSpecificActionOverrides(): {
166
+ emitTaskHold: ({ event }: TaskActionArgs) => void;
167
+ emitTaskResume: ({ event }: TaskActionArgs) => void;
168
+ emitTaskRecordingStarted: ({ event }: TaskActionArgs) => void;
169
+ emitTaskRecordingPaused: ({ event }: TaskActionArgs) => void;
170
+ emitTaskRecordingPauseFailed: ({ event }: TaskActionArgs) => void;
171
+ emitTaskRecordingResumed: ({ event }: TaskActionArgs) => void;
172
+ emitTaskRecordingResumeFailed: ({ event }: TaskActionArgs) => void;
173
+ emitTaskParticipantJoined: ({ event }: TaskActionArgs) => void;
174
+ emitTaskParticipantLeft: ({ event }: TaskActionArgs) => void;
175
+ emitTaskConferenceStarted: ({ event }: TaskActionArgs) => void;
176
+ emitTaskConferenceEnded: ({ event }: TaskActionArgs) => void;
177
+ emitTaskConferenceFailed: ({ event }: TaskActionArgs) => void;
178
+ emitTaskExitConference: ({ event }: TaskActionArgs) => void;
179
+ emitTaskTransferConference: ({ event }: TaskActionArgs) => void;
180
+ emitTaskSwitchCall: ({ event }: TaskActionArgs) => void;
181
+ emitTaskTransferConferenceFailed: ({ event }: TaskActionArgs) => void;
182
+ emitTaskOutdialFailed: ({ event }: TaskActionArgs) => void;
183
+ };
184
+ }
@@ -0,0 +1,53 @@
1
+ import routingContact from '../contact';
2
+ import { TaskData, TaskResponse, IWebRTC, VoiceUIControlOptions } from '../types';
3
+ import Voice from './Voice';
4
+ import WebCallingService from '../../WebCallingService';
5
+ import { WrapupData } from '../../config/types';
6
+ export default class WebRTC extends Voice implements IWebRTC {
7
+ private localAudioStream;
8
+ private webCallingService;
9
+ constructor(contact: ReturnType<typeof routingContact>, webCallingService: WebCallingService, data: TaskData, callOptions?: VoiceUIControlOptions, wrapupData?: WrapupData, agentId?: string);
10
+ private registerWebCallListeners;
11
+ private handleRemoteMedia;
12
+ /**
13
+ * This method is used to unregister the web call listeners.
14
+ * @returns void
15
+ * @example
16
+ * ```typescript
17
+ * task.unregisterWebCallListeners();
18
+ * ```
19
+ */
20
+ unregisterWebCallListeners(): void;
21
+ /**
22
+ * This is used for incoming task accept by agent.
23
+ *
24
+ * @returns Promise<TaskResponse>
25
+ * @throws Error
26
+ * @example
27
+ * ```typescript
28
+ * task.accept().then(()=>{}).catch(()=>{})
29
+ * ```
30
+ */
31
+ accept(): Promise<TaskResponse>;
32
+ /**
33
+ * This is used for the incoming task decline by agent.
34
+ *
35
+ * @returns Promise<TaskResponse>
36
+ * @throws Error
37
+ * @example
38
+ * ```typescript
39
+ * task.decline().then(()=>{}).catch(()=>{})
40
+ * ```
41
+ */
42
+ decline(): Promise<TaskResponse>;
43
+ /**
44
+ * This is used for the placing the call in mute or unmute by the agent.
45
+ *
46
+ * @throws Error
47
+ * @example
48
+ * ```typescript
49
+ * task.toggleMute().then(()=>{}).catch(()=>{})
50
+ * ```
51
+ */
52
+ toggleMute(): Promise<void>;
53
+ }