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

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 (187) hide show
  1. package/.sdd/manifest.json +5 -4
  2. package/ai-docs/ARCHITECTURE.md +1 -1
  3. package/ai-docs/CONTRACTS.md +5 -1
  4. package/ai-docs/SECURITY.md +1 -1
  5. package/ai-docs/contact-center-spec.md +22 -4
  6. package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
  7. package/dist/cc.js +440 -10
  8. package/dist/cc.js.map +1 -1
  9. package/dist/config.js +7 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +10 -2
  12. package/dist/constants.js.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/metrics/behavioral-events.js +13 -0
  15. package/dist/metrics/behavioral-events.js.map +1 -1
  16. package/dist/metrics/constants.js +2 -0
  17. package/dist/metrics/constants.js.map +1 -1
  18. package/dist/services/AddressBook.js +18 -15
  19. package/dist/services/AddressBook.js.map +1 -1
  20. package/dist/services/AnswerCallOnWebexService.js +174 -0
  21. package/dist/services/AnswerCallOnWebexService.js.map +1 -0
  22. package/dist/services/EntryPoint.js +46 -68
  23. package/dist/services/EntryPoint.js.map +1 -1
  24. package/dist/services/Queue.js +27 -22
  25. package/dist/services/Queue.js.map +1 -1
  26. package/dist/services/WebexCrossClientService.js +171 -0
  27. package/dist/services/WebexCrossClientService.js.map +1 -0
  28. package/dist/services/WxAppTelephonyMercurySync.js +93 -0
  29. package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
  30. package/dist/services/config/Util.js +3 -0
  31. package/dist/services/config/Util.js.map +1 -1
  32. package/dist/services/config/constants.js +10 -6
  33. package/dist/services/config/constants.js.map +1 -1
  34. package/dist/services/config/types.js +4 -0
  35. package/dist/services/config/types.js.map +1 -1
  36. package/dist/services/core/Err.js.map +1 -1
  37. package/dist/services/core/WebexRequest.js +6 -2
  38. package/dist/services/core/WebexRequest.js.map +1 -1
  39. package/dist/services/core/aqm-reqs.js +28 -14
  40. package/dist/services/core/aqm-reqs.js.map +1 -1
  41. package/dist/services/core/types.js.map +1 -1
  42. package/dist/services/task/Task.js +73 -7
  43. package/dist/services/task/Task.js.map +1 -1
  44. package/dist/services/task/TaskFactory.js +8 -4
  45. package/dist/services/task/TaskFactory.js.map +1 -1
  46. package/dist/services/task/TaskManager.js +176 -20
  47. package/dist/services/task/TaskManager.js.map +1 -1
  48. package/dist/services/task/WebexCallingUtils.js +70 -0
  49. package/dist/services/task/WebexCallingUtils.js.map +1 -0
  50. package/dist/services/task/constants.js +4 -1
  51. package/dist/services/task/constants.js.map +1 -1
  52. package/dist/services/task/contact.js +29 -0
  53. package/dist/services/task/contact.js.map +1 -1
  54. package/dist/services/task/digital/Digital.js +3 -2
  55. package/dist/services/task/digital/Digital.js.map +1 -1
  56. package/dist/services/task/state-machine/TaskStateMachine.js +135 -37
  57. package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -1
  58. package/dist/services/task/state-machine/actions.js +6 -1
  59. package/dist/services/task/state-machine/actions.js.map +1 -1
  60. package/dist/services/task/state-machine/guards.js +38 -11
  61. package/dist/services/task/state-machine/guards.js.map +1 -1
  62. package/dist/services/task/state-machine/types.js.map +1 -1
  63. package/dist/services/task/state-machine/uiControlsComputer.js +118 -18
  64. package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -1
  65. package/dist/services/task/types.js +16 -1
  66. package/dist/services/task/types.js.map +1 -1
  67. package/dist/services/task/voice/Voice.js +350 -14
  68. package/dist/services/task/voice/Voice.js.map +1 -1
  69. package/dist/services/task/voice/WebRTC.js +4 -1
  70. package/dist/services/task/voice/WebRTC.js.map +1 -1
  71. package/dist/services/task/voice/wxAppVoiceMethods.js +201 -0
  72. package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
  73. package/dist/services/wxAppTelephonyUtils.js +19 -0
  74. package/dist/services/wxAppTelephonyUtils.js.map +1 -0
  75. package/dist/types/cc.d.ts +77 -4
  76. package/dist/types/config.d.ts +7 -0
  77. package/dist/types/constants.d.ts +8 -0
  78. package/dist/types/index.d.ts +3 -1
  79. package/dist/types/metrics/constants.d.ts +2 -0
  80. package/dist/types/services/AddressBook.d.ts +2 -1
  81. package/dist/types/services/AnswerCallOnWebexService.d.ts +37 -0
  82. package/dist/types/services/EntryPoint.d.ts +7 -5
  83. package/dist/types/services/Queue.d.ts +5 -3
  84. package/dist/types/services/WebexCrossClientService.d.ts +28 -0
  85. package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
  86. package/dist/types/services/config/constants.d.ts +8 -5
  87. package/dist/types/services/config/types.d.ts +17 -4
  88. package/dist/types/services/core/Err.d.ts +2 -0
  89. package/dist/types/services/core/WebexRequest.d.ts +1 -0
  90. package/dist/types/services/core/types.d.ts +2 -0
  91. package/dist/types/services/task/Task.d.ts +20 -2
  92. package/dist/types/services/task/TaskFactory.d.ts +2 -1
  93. package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
  94. package/dist/types/services/task/constants.d.ts +3 -0
  95. package/dist/types/services/task/contact.d.ts +4 -0
  96. package/dist/types/services/task/digital/Digital.d.ts +2 -2
  97. package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +260 -56
  98. package/dist/types/services/task/state-machine/guards.d.ts +6 -5
  99. package/dist/types/services/task/state-machine/types.d.ts +9 -1
  100. package/dist/types/services/task/types.d.ts +81 -4
  101. package/dist/types/services/task/voice/Voice.d.ts +48 -9
  102. package/dist/types/services/task/voice/WebRTC.d.ts +2 -2
  103. package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +52 -0
  104. package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
  105. package/dist/types/types.d.ts +14 -8
  106. package/dist/types/utils/PageCache.d.ts +20 -3
  107. package/dist/types.js +7 -2
  108. package/dist/types.js.map +1 -1
  109. package/dist/utils/PageCache.js +19 -5
  110. package/dist/utils/PageCache.js.map +1 -1
  111. package/dist/webex.js +1 -1
  112. package/package.json +1 -1
  113. package/src/cc.ts +506 -9
  114. package/src/config.ts +7 -0
  115. package/src/constants.ts +8 -0
  116. package/src/index.ts +2 -0
  117. package/src/metrics/ai-docs/metrics-spec.md +9 -3
  118. package/src/metrics/behavioral-events.ts +14 -0
  119. package/src/metrics/constants.ts +2 -0
  120. package/src/services/AddressBook.ts +17 -6
  121. package/src/services/AnswerCallOnWebexService.ts +206 -0
  122. package/src/services/EntryPoint.ts +59 -60
  123. package/src/services/Queue.ts +29 -12
  124. package/src/services/WebexCrossClientService.ts +212 -0
  125. package/src/services/WxAppTelephonyMercurySync.ts +115 -0
  126. package/src/services/ai-docs/AGENTS.md +10 -10
  127. package/src/services/ai-docs/services-spec.md +6 -1
  128. package/src/services/config/Util.ts +3 -0
  129. package/src/services/config/ai-docs/AGENTS.md +1 -1
  130. package/src/services/config/ai-docs/ARCHITECTURE.md +2 -2
  131. package/src/services/config/ai-docs/config-spec.md +6 -0
  132. package/src/services/config/constants.ts +10 -6
  133. package/src/services/config/types.ts +16 -4
  134. package/src/services/core/Err.ts +1 -0
  135. package/src/services/core/WebexRequest.ts +3 -1
  136. package/src/services/core/ai-docs/core-spec.md +5 -1
  137. package/src/services/core/aqm-reqs.ts +30 -15
  138. package/src/services/core/types.ts +2 -0
  139. package/src/services/task/Task.ts +79 -8
  140. package/src/services/task/TaskFactory.ts +8 -3
  141. package/src/services/task/TaskManager.ts +254 -15
  142. package/src/services/task/WebexCallingUtils.ts +136 -0
  143. package/src/services/task/ai-docs/ARCHITECTURE.md +1 -0
  144. package/src/services/task/ai-docs/task-spec.md +117 -2
  145. package/src/services/task/constants.ts +3 -0
  146. package/src/services/task/contact.ts +30 -0
  147. package/src/services/task/digital/Digital.ts +4 -2
  148. package/src/services/task/state-machine/TaskStateMachine.ts +210 -63
  149. package/src/services/task/state-machine/actions.ts +5 -2
  150. package/src/services/task/state-machine/ai-docs/AGENTS.md +8 -4
  151. package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +17 -8
  152. package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +46 -22
  153. package/src/services/task/state-machine/guards.ts +64 -11
  154. package/src/services/task/state-machine/types.ts +16 -1
  155. package/src/services/task/state-machine/uiControlsComputer.ts +206 -32
  156. package/src/services/task/types.ts +114 -4
  157. package/src/services/task/voice/Voice.ts +462 -12
  158. package/src/services/task/voice/WebRTC.ts +5 -1
  159. package/src/services/task/voice/wxAppVoiceMethods.ts +307 -0
  160. package/src/services/wxAppTelephonyUtils.ts +14 -0
  161. package/src/types.ts +33 -9
  162. package/src/utils/AGENTS.md +21 -10
  163. package/src/utils/PageCache.ts +38 -5
  164. package/src/utils/ai-docs/utils-spec.md +21 -11
  165. package/test/unit/spec/cc.ts +1274 -0
  166. package/test/unit/spec/metrics/behavioral-events.ts +18 -0
  167. package/test/unit/spec/services/AddressBook.ts +37 -6
  168. package/test/unit/spec/services/AnswerCallOnWebexService.ts +223 -0
  169. package/test/unit/spec/services/EntryPoint.ts +87 -40
  170. package/test/unit/spec/services/Queue.ts +123 -12
  171. package/test/unit/spec/services/WebexCrossClientService.ts +261 -0
  172. package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +113 -0
  173. package/test/unit/spec/services/config/Util.ts +85 -0
  174. package/test/unit/spec/services/core/WebexRequest.ts +3 -1
  175. package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
  176. package/test/unit/spec/services/task/Task.ts +200 -0
  177. package/test/unit/spec/services/task/TaskFactory.ts +39 -2
  178. package/test/unit/spec/services/task/TaskManager.ts +653 -1
  179. package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
  180. package/test/unit/spec/services/task/contact.ts +33 -0
  181. package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +854 -72
  182. package/test/unit/spec/services/task/state-machine/guards.ts +210 -8
  183. package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +445 -7
  184. package/test/unit/spec/services/task/voice/Voice.ts +874 -0
  185. package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +459 -0
  186. package/umd/contact-center.min.js +2 -2
  187. package/umd/contact-center.min.js.map +1 -1
@@ -1,4 +1,7 @@
1
1
  import * as Agent from '../agent/types';
2
+ import { COLLABORATION_ACCESS } from './constants';
3
+ /** Desktop Profile access level for a collaboration destination category. */
4
+ export type CollaborationAccess = Enum<typeof COLLABORATION_ACCESS>;
2
5
  /**
3
6
  * Events emitted on task objects
4
7
  * @enum {string}
@@ -50,6 +53,8 @@ export declare const CC_TASK_EVENTS: {
50
53
  readonly PARTICIPANT_LEFT_CONFERENCE: "ParticipantLeftConference";
51
54
  /** Event emitted when participant leaving conference fails */
52
55
  readonly PARTICIPANT_LEFT_CONFERENCE_FAILED: "ParticipantLeftConferenceFailed";
56
+ /** Event emitted when dropping another conference participant fails */
57
+ readonly PARTICIPANT_DROP_CONFERENCE_FAILED: "ParticipantDropConferenceFailed";
53
58
  /** Event emitted when consultation conference end fails */
54
59
  readonly AGENT_CONSULT_CONFERENCE_END_FAILED: "AgentConsultConferenceEndFailed";
55
60
  /** Event emitted when conference is successfully transferred */
@@ -227,6 +232,8 @@ export declare const CC_EVENTS: {
227
232
  readonly PARTICIPANT_LEFT_CONFERENCE: "ParticipantLeftConference";
228
233
  /** Event emitted when participant leaving conference fails */
229
234
  readonly PARTICIPANT_LEFT_CONFERENCE_FAILED: "ParticipantLeftConferenceFailed";
235
+ /** Event emitted when dropping another conference participant fails */
236
+ readonly PARTICIPANT_DROP_CONFERENCE_FAILED: "ParticipantDropConferenceFailed";
230
237
  /** Event emitted when consultation conference end fails */
231
238
  readonly AGENT_CONSULT_CONFERENCE_END_FAILED: "AgentConsultConferenceEndFailed";
232
239
  /** Event emitted when conference is successfully transferred */
@@ -513,9 +520,9 @@ export type DesktopProfileResponse = {
513
520
  */
514
521
  allowAutoWrapUpExtension: boolean;
515
522
  /**
516
- * Access control for queues assigned to the agent (ALL or SPECIFIC).
523
+ * Access control for queues assigned to the agent (ALL, SPECIFIC, or NONE).
517
524
  */
518
- accessQueue: string;
525
+ accessQueue: CollaborationAccess;
519
526
  /**
520
527
  * Queue identifiers available to the agent when access is SPECIFIC.
521
528
  */
@@ -523,7 +530,7 @@ export type DesktopProfileResponse = {
523
530
  /**
524
531
  * Access control for entry points assigned to the agent.
525
532
  */
526
- accessEntryPoint: string;
533
+ accessEntryPoint: CollaborationAccess;
527
534
  /**
528
535
  * Entry point identifiers available to the agent when access is SPECIFIC.
529
536
  */
@@ -531,7 +538,7 @@ export type DesktopProfileResponse = {
531
538
  /**
532
539
  * Access control for buddy teams assigned to the agent.
533
540
  */
534
- accessBuddyTeam: string;
541
+ accessBuddyTeam: CollaborationAccess;
535
542
  /**
536
543
  * Buddy team identifiers available to the agent when access is SPECIFIC.
537
544
  */
@@ -1197,6 +1204,12 @@ export type Profile = {
1197
1204
  agentAnalyzerId?: string;
1198
1205
  /** Whether consult to queue is allowed */
1199
1206
  allowConsultToQueue: boolean;
1207
+ /** Access control for queues on Desktop Profile Collaboration tab */
1208
+ accessQueue?: CollaborationAccess;
1209
+ /** Access control for entry points on Desktop Profile Collaboration tab */
1210
+ accessEntryPoint?: CollaborationAccess;
1211
+ /** Access control for buddy teams on Desktop Profile Collaboration tab */
1212
+ accessBuddyTeam?: CollaborationAccess;
1200
1213
  /** Additional campaign manager information */
1201
1214
  campaignManagerAdditionalInfo?: string;
1202
1215
  /** Whether personal statistics are enabled */
@@ -49,6 +49,8 @@ export type TaskErrorIds = {
49
49
  'Service.aqm.task.consultAccept': Failure;
50
50
  } | {
51
51
  'Service.aqm.task.consultConference': Failure;
52
+ } | {
53
+ 'Service.aqm.task.dropConferenceParticipant': Failure;
52
54
  } | {
53
55
  'Service.aqm.task.consultEnd': Failure;
54
56
  } | {
@@ -11,6 +11,7 @@ declare class WebexRequest {
11
11
  resource: string;
12
12
  method: HTTP_METHODS;
13
13
  body?: RequestBody;
14
+ headers?: Record<string, string | null>;
14
15
  }): Promise<IHttpResponse>;
15
16
  /**
16
17
  * This is used for uploading the logs to backend/mats.
@@ -18,6 +18,8 @@ export type Req<TRes, TErr> = {
18
18
  url: string;
19
19
  host?: string;
20
20
  method?: HTTP_METHODS;
21
+ /** Suppress request URLs and routing payloads from AQM logs for sensitive operations. */
22
+ redactSensitiveLogs?: boolean;
21
23
  err?: ((errObj: WebexRequestPayload) => Err.Details<'Service.reqs.generic.failure'>) | Err.IdsMessage | ((e: WebexRequestPayload) => Err.Message | Err.Details<Err.IdsDetails>);
22
24
  notifSuccess: {
23
25
  bind: Bind;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
3
  import type { ActorRefFrom, SnapshotFrom } from 'xstate';
4
- import { ITask, TaskData, TaskResponse, WrapupPayLoad, TaskId, TransferPayLoad, TASK_EVENTS, TaskUIControls, ConsultEndPayload, ConsultPayload, ConsultTransferPayLoad, ResumeRecordingPayload, CallId } from './types';
4
+ import { ITask, TaskData, TaskResponse, WrapupPayLoad, TaskId, TransferPayLoad, TASK_EVENTS, TaskUIControls, DropConferenceParticipantPayload, ConsultEndPayload, ConsultPayload, ConsultTransferPayLoad, ResumeRecordingPayload, CallId, TaskToggleMuteOptions, TaskTransmitDtmfOptions } from './types';
5
5
  import routingContact from './contact';
6
6
  import MetricsManager from '../../metrics/MetricsManager';
7
7
  import { TaskState } from './state-machine';
@@ -34,10 +34,12 @@ export default abstract class Task extends EventEmitter implements ITask {
34
34
  endConsult(consultEndPayload: ConsultEndPayload): Promise<TaskResponse>;
35
35
  consultTransfer(consultTransferPayload?: ConsultTransferPayLoad): Promise<TaskResponse>;
36
36
  consultConference(): Promise<TaskResponse>;
37
+ dropConferenceParticipant(payload: DropConferenceParticipantPayload): Promise<TaskResponse>;
37
38
  exitConference(): Promise<TaskResponse>;
38
39
  transferConference(): Promise<TaskResponse>;
39
40
  switchCall(): Promise<TaskResponse>;
40
- toggleMute(): Promise<void>;
41
+ toggleMute(options?: TaskToggleMuteOptions): Promise<void>;
42
+ transmitDtmf(options: TaskTransmitDtmfOptions): Promise<void>;
41
43
  unregisterWebCallListeners(): void;
42
44
  /**
43
45
  * Cancel any in-progress auto wrap-up timer.
@@ -69,6 +71,22 @@ export default abstract class Task extends EventEmitter implements ITask {
69
71
  *
70
72
  * @returns UI control states for all task actions
71
73
  */
74
+ /**
75
+ * Update wxApp thick-client answer flag at runtime (Voice overrides).
76
+ */
77
+ setEnableWxBetterTogether(_enabled: boolean): void;
78
+ /**
79
+ * Apply wxApp mute state from external sync (Voice overrides).
80
+ */
81
+ applyWxAppMuteStateFromSync(_incomingCallId: string, _muted: boolean): void;
82
+ /**
83
+ * Hook for post-assign wxApp sync (Voice overrides).
84
+ */
85
+ protected onTaskAssigned(): void;
86
+ /**
87
+ * Hook for post-hydrate wxApp sync (Voice overrides).
88
+ */
89
+ protected onTaskHydrated(): void;
72
90
  protected computeUIControls(): TaskUIControls;
73
91
  /**
74
92
  * Stop the state machine service
@@ -1,5 +1,6 @@
1
1
  import routingContact from './contact';
2
2
  import WebCallingService from '../WebCallingService';
3
+ import AnswerCallOnWebexService from '../AnswerCallOnWebexService';
3
4
  import Task from './Task';
4
5
  import { TaskData } from './types';
5
6
  import { ConfigFlags } from '../../types';
@@ -8,5 +9,5 @@ export default class TaskFactory {
8
9
  /**
9
10
  * Creates the correct Task subclass based on mediaType & loginOption
10
11
  */
11
- static createTask(contact: ReturnType<typeof routingContact>, webCallingService: WebCallingService, data: TaskData, configFlags: ConfigFlags, wrapupData?: WrapupData, agentId?: string): Task;
12
+ static createTask(contact: ReturnType<typeof routingContact>, webCallingService: WebCallingService, data: TaskData, configFlags: ConfigFlags, wrapupData?: WrapupData, agentId?: string, answerCallOnWebexService?: AnswerCallOnWebexService): Task;
12
13
  }
@@ -0,0 +1,11 @@
1
+ import { TaskState } from './state-machine/constants';
2
+ export type WebexCallingDeviceDetails = {
3
+ deviceType: string;
4
+ deviceId: string;
5
+ deviceCallId: string;
6
+ };
7
+ export declare function getWebexCallingDeviceDetailsForAgent(agentId: string | undefined, participants: unknown): WebexCallingDeviceDetails | undefined;
8
+ export declare function isWebexCallingCallForAgent(agentId: string | undefined, participants: unknown): boolean;
9
+ /** Matches wxAppVoiceMethods.getWebexCallingCallId engaged semantics for uiControls. */
10
+ export declare function isWxAppEngagedForControls(enableWxBetterTogether: boolean, agentId: string | undefined, participants: unknown, state: TaskState): boolean;
11
+ export declare function decodedLineOwnerId(lineOwnerId?: string): string | undefined;
@@ -11,6 +11,8 @@ export declare const CONSULT = "/consult";
11
11
  export declare const CONSULT_ACCEPT = "/consult/accept";
12
12
  export declare const CONSULT_END = "/consult/end";
13
13
  export declare const TRANSFER = "/transfer";
14
+ /** Backend destination value for direct entry-point transfers through the vteam endpoint. */
15
+ export declare const ENTRY_POINT_TRANSFER_DESTINATION_TYPE = "entrypointDialNumber";
14
16
  export declare const CONSULT_TRANSFER = "/consult/transfer";
15
17
  export declare const PAUSE = "/record/pause";
16
18
  export declare const RESUME = "/record/resume";
@@ -65,6 +67,7 @@ export declare const METHODS: {
65
67
  TRANSFER: string;
66
68
  CONSULT_TRANSFER: string;
67
69
  CONSULT_CONFERENCE: string;
70
+ DROP_CONFERENCE_PARTICIPANT: string;
68
71
  EXIT_CONFERENCE: string;
69
72
  TRANSFER_CONFERENCE: string;
70
73
  UPDATE_TASK_DATA: string;
@@ -60,6 +60,10 @@ export default function routingContact(aqm: AqmReqs): {
60
60
  interactionId: string;
61
61
  data: Contact.ConsultConferenceData;
62
62
  }>;
63
+ dropConferenceParticipant: import("../core/types").Res<Contact.AgentContact, {
64
+ interactionId: string;
65
+ participantId: string;
66
+ }>;
63
67
  exitConference: import("../core/types").Res<Contact.AgentContact, {
64
68
  interactionId: string;
65
69
  }>;
@@ -1,9 +1,9 @@
1
- import { IDigital, TaskResponse, TaskData } from '../types';
1
+ import { ConsultTransferDestinationConfig, IDigital, TaskResponse, TaskData } from '../types';
2
2
  import { WrapupData } from '../../config/types';
3
3
  import Task from '../Task';
4
4
  import routingContact from '../contact';
5
5
  export default class Digital extends Task implements IDigital {
6
- constructor(contact: ReturnType<typeof routingContact>, data: TaskData, wrapupData?: WrapupData, agentId?: string);
6
+ constructor(contact: ReturnType<typeof routingContact>, data: TaskData, wrapupData?: WrapupData, agentId?: string, consultTransferConfig?: ConsultTransferDestinationConfig);
7
7
  /**
8
8
  * Refresh the digital task with the latest backend payload and recompute UI controls.
9
9
  */