@webex/contact-center 3.12.0-llmrefactor.2 → 3.12.0-llmrefactor.4
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.
- package/.sdd/manifest.json +5 -4
- package/ai-docs/ARCHITECTURE.md +1 -1
- package/ai-docs/CONTRACTS.md +6 -2
- package/ai-docs/SECURITY.md +1 -1
- package/ai-docs/contact-center-spec.md +22 -4
- package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
- package/dist/cc.js +440 -10
- package/dist/cc.js.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.js +10 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metrics/behavioral-events.js +13 -0
- package/dist/metrics/behavioral-events.js.map +1 -1
- package/dist/metrics/constants.js +2 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/AddressBook.js +18 -15
- package/dist/services/AddressBook.js.map +1 -1
- package/dist/services/AnswerCallOnWebexService.js +174 -0
- package/dist/services/AnswerCallOnWebexService.js.map +1 -0
- package/dist/services/EntryPoint.js +46 -68
- package/dist/services/EntryPoint.js.map +1 -1
- package/dist/services/Queue.js +27 -22
- package/dist/services/Queue.js.map +1 -1
- package/dist/services/WebexCrossClientService.js +171 -0
- package/dist/services/WebexCrossClientService.js.map +1 -0
- package/dist/services/WxAppTelephonyMercurySync.js +93 -0
- package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
- package/dist/services/config/Util.js +3 -0
- package/dist/services/config/Util.js.map +1 -1
- package/dist/services/config/constants.js +10 -6
- package/dist/services/config/constants.js.map +1 -1
- package/dist/services/config/types.js +4 -0
- package/dist/services/config/types.js.map +1 -1
- package/dist/services/core/Err.js.map +1 -1
- package/dist/services/core/WebexRequest.js +6 -2
- package/dist/services/core/WebexRequest.js.map +1 -1
- package/dist/services/core/aqm-reqs.js +28 -14
- package/dist/services/core/aqm-reqs.js.map +1 -1
- package/dist/services/core/types.js.map +1 -1
- package/dist/services/task/Task.js +73 -7
- package/dist/services/task/Task.js.map +1 -1
- package/dist/services/task/TaskFactory.js +8 -4
- package/dist/services/task/TaskFactory.js.map +1 -1
- package/dist/services/task/TaskManager.js +353 -21
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/services/task/WebexCallingUtils.js +70 -0
- package/dist/services/task/WebexCallingUtils.js.map +1 -0
- package/dist/services/task/constants.js +4 -1
- package/dist/services/task/constants.js.map +1 -1
- package/dist/services/task/contact.js +29 -0
- package/dist/services/task/contact.js.map +1 -1
- package/dist/services/task/digital/Digital.js +3 -2
- package/dist/services/task/digital/Digital.js.map +1 -1
- package/dist/services/task/state-machine/TaskStateMachine.js +135 -37
- package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -1
- package/dist/services/task/state-machine/actions.js +6 -1
- package/dist/services/task/state-machine/actions.js.map +1 -1
- package/dist/services/task/state-machine/guards.js +38 -11
- package/dist/services/task/state-machine/guards.js.map +1 -1
- package/dist/services/task/state-machine/types.js.map +1 -1
- package/dist/services/task/state-machine/uiControlsComputer.js +118 -18
- package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -1
- package/dist/services/task/types.js +16 -1
- package/dist/services/task/types.js.map +1 -1
- package/dist/services/task/voice/Voice.js +350 -14
- package/dist/services/task/voice/Voice.js.map +1 -1
- package/dist/services/task/voice/WebRTC.js +4 -1
- package/dist/services/task/voice/WebRTC.js.map +1 -1
- package/dist/services/task/voice/wxAppVoiceMethods.js +201 -0
- package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
- package/dist/services/wxAppTelephonyUtils.js +19 -0
- package/dist/services/wxAppTelephonyUtils.js.map +1 -0
- package/dist/types/cc.d.ts +77 -4
- package/dist/types/config.d.ts +7 -0
- package/dist/types/constants.d.ts +8 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/types/services/AddressBook.d.ts +2 -1
- package/dist/types/services/AnswerCallOnWebexService.d.ts +37 -0
- package/dist/types/services/EntryPoint.d.ts +7 -5
- package/dist/types/services/Queue.d.ts +5 -3
- package/dist/types/services/WebexCrossClientService.d.ts +28 -0
- package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
- package/dist/types/services/config/constants.d.ts +8 -5
- package/dist/types/services/config/types.d.ts +17 -4
- package/dist/types/services/core/Err.d.ts +2 -0
- package/dist/types/services/core/WebexRequest.d.ts +1 -0
- package/dist/types/services/core/types.d.ts +2 -0
- package/dist/types/services/task/Task.d.ts +20 -2
- package/dist/types/services/task/TaskFactory.d.ts +2 -1
- package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
- package/dist/types/services/task/constants.d.ts +3 -0
- package/dist/types/services/task/contact.d.ts +4 -0
- package/dist/types/services/task/digital/Digital.d.ts +2 -2
- package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +260 -56
- package/dist/types/services/task/state-machine/guards.d.ts +6 -5
- package/dist/types/services/task/state-machine/types.d.ts +9 -1
- package/dist/types/services/task/types.d.ts +81 -4
- package/dist/types/services/task/voice/Voice.d.ts +48 -9
- package/dist/types/services/task/voice/WebRTC.d.ts +2 -2
- package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +52 -0
- package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
- package/dist/types/types.d.ts +14 -8
- package/dist/types/utils/PageCache.d.ts +20 -3
- package/dist/types.js +7 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/PageCache.js +19 -5
- package/dist/utils/PageCache.js.map +1 -1
- package/dist/webex.js +1 -1
- package/package.json +9 -9
- package/src/cc.ts +506 -9
- package/src/config.ts +7 -0
- package/src/constants.ts +8 -0
- package/src/index.ts +2 -0
- package/src/metrics/ai-docs/metrics-spec.md +9 -3
- package/src/metrics/behavioral-events.ts +14 -0
- package/src/metrics/constants.ts +2 -0
- package/src/services/AddressBook.ts +17 -6
- package/src/services/AnswerCallOnWebexService.ts +206 -0
- package/src/services/EntryPoint.ts +59 -60
- package/src/services/Queue.ts +29 -12
- package/src/services/WebexCrossClientService.ts +212 -0
- package/src/services/WxAppTelephonyMercurySync.ts +115 -0
- package/src/services/ai-docs/AGENTS.md +10 -10
- package/src/services/ai-docs/services-spec.md +6 -1
- package/src/services/config/Util.ts +3 -0
- package/src/services/config/ai-docs/AGENTS.md +1 -1
- package/src/services/config/ai-docs/ARCHITECTURE.md +2 -2
- package/src/services/config/ai-docs/config-spec.md +6 -0
- package/src/services/config/constants.ts +10 -6
- package/src/services/config/types.ts +16 -4
- package/src/services/core/Err.ts +1 -0
- package/src/services/core/WebexRequest.ts +3 -1
- package/src/services/core/ai-docs/core-spec.md +5 -1
- package/src/services/core/aqm-reqs.ts +30 -15
- package/src/services/core/types.ts +2 -0
- package/src/services/task/Task.ts +79 -8
- package/src/services/task/TaskFactory.ts +8 -3
- package/src/services/task/TaskManager.ts +522 -16
- package/src/services/task/WebexCallingUtils.ts +136 -0
- package/src/services/task/ai-docs/ARCHITECTURE.md +1 -0
- package/src/services/task/ai-docs/task-spec.md +152 -2
- package/src/services/task/constants.ts +3 -0
- package/src/services/task/contact.ts +30 -0
- package/src/services/task/digital/Digital.ts +4 -2
- package/src/services/task/state-machine/TaskStateMachine.ts +210 -63
- package/src/services/task/state-machine/actions.ts +5 -2
- package/src/services/task/state-machine/ai-docs/AGENTS.md +8 -4
- package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +17 -8
- package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +56 -24
- package/src/services/task/state-machine/guards.ts +64 -11
- package/src/services/task/state-machine/types.ts +16 -1
- package/src/services/task/state-machine/uiControlsComputer.ts +206 -32
- package/src/services/task/types.ts +114 -4
- package/src/services/task/voice/Voice.ts +462 -12
- package/src/services/task/voice/WebRTC.ts +5 -1
- package/src/services/task/voice/wxAppVoiceMethods.ts +307 -0
- package/src/services/wxAppTelephonyUtils.ts +14 -0
- package/src/types.ts +33 -9
- package/src/utils/AGENTS.md +21 -10
- package/src/utils/PageCache.ts +38 -5
- package/src/utils/ai-docs/utils-spec.md +21 -11
- package/test/unit/spec/cc.ts +1274 -0
- package/test/unit/spec/metrics/behavioral-events.ts +18 -0
- package/test/unit/spec/services/AddressBook.ts +37 -6
- package/test/unit/spec/services/AnswerCallOnWebexService.ts +223 -0
- package/test/unit/spec/services/EntryPoint.ts +87 -40
- package/test/unit/spec/services/Queue.ts +123 -12
- package/test/unit/spec/services/WebexCrossClientService.ts +261 -0
- package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +113 -0
- package/test/unit/spec/services/config/Util.ts +85 -0
- package/test/unit/spec/services/core/WebexRequest.ts +3 -1
- package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
- package/test/unit/spec/services/task/Task.ts +200 -0
- package/test/unit/spec/services/task/TaskFactory.ts +39 -2
- package/test/unit/spec/services/task/TaskManager.ts +1294 -1
- package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
- package/test/unit/spec/services/task/contact.ts +33 -0
- package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +854 -72
- package/test/unit/spec/services/task/state-machine/guards.ts +210 -8
- package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +445 -7
- package/test/unit/spec/services/task/voice/Voice.ts +874 -0
- package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +459 -0
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_Utils","_constants","_constants2","_constants3","_types2","routingContact","aqm","accept","req","p","url","TASK_API","interactionId","host","WCC_API_GATEWAY","data","err","notifSuccess","bind","type","TASK_MESSAGE_TYPE","CC_EVENTS","AGENT_CONTACT_ASSIGNED","msg","notifFail","AGENT_CONTACT_ASSIGN_FAILED","errId","hold","HOLD","AGENT_CONTACT_HELD","AGENT_CONTACT_HOLD_FAILED","unHold","UNHOLD","AGENT_CONTACT_UNHELD","AGENT_CONTACT_UNHOLD_FAILED","pauseRecording","PAUSE","CONTACT_RECORDING_PAUSED","CONTACT_RECORDING_PAUSE_FAILED","resumeRecording","RESUME","CONTACT_RECORDING_RESUMED","CONTACT_RECORDING_RESUME_FAILED","consult","CONSULT","timeout","destinationType","DESTINATION_TYPE","QUEUE","TIMEOUT_REQ","AGENT_CONSULT_CREATED","AGENT_CTQ_FAILED","AGENT_CONSULT_FAILED","notifCancel","consultEnd","isConsult","isSecondaryEpDnAgent","queueId","CONSULT_END","AGENT_CTQ_CANCELLED","CONTACT_ENDED","AGENT_CONSULT_ENDED","AGENT_CONSULT_CONFERENCE_ENDED","AGENT_CTQ_CANCEL_FAILED","AGENT_CONSULT_END_FAILED","consultAccept","CONSULT_ACCEPT","AGENT_CONSULTING","blindTransfer","TRANSFER","AGENT_BLIND_TRANSFERRED","AGENT_BLIND_TRANSFER_FAILED","vteamTransfer","AGENT_VTEAM_TRANSFERRED","AGENT_VTEAM_TRANSFER_FAILED","consultTransfer","CONSULT_TRANSFER","AGENT_CONSULT_TRANSFERRED","AGENT_CONSULT_TRANSFERRING","AGENT_CONSULT_TRANSFER_FAILED","end","END","AGENT_WRAPUP","AGENT_CONTACT_END_FAILED","wrapup","WRAPUP","AGENT_WRAPPEDUP","AGENT_WRAPUP_FAILED","cancelTask","cancelCtq","consultConference","CONSULT_CONFERENCE","AGENT_CONSULT_CONFERENCED","AGENT_CONSULT_CONFERENCING","AGENT_CONSULT_CONFERENCE_FAILED","exitConference","CONFERENCE_EXIT","PARTICIPANT_LEFT_CONFERENCE","PARTICIPANT_LEFT_CONFERENCE_FAILED","conferenceTransfer","CONFERENCE_TRANSFER","AGENT_CONFERENCE_TRANSFER_FAILED"],"sources":["contact.ts"],"sourcesContent":["import {CC_EVENTS} from '../config/types';\nimport {createErrDetailsObject as err} from '../core/Utils';\nimport {WCC_API_GATEWAY} from '../constants';\nimport AqmReqs from '../core/aqm-reqs';\nimport {TIMEOUT_REQ} from '../core/constants';\nimport {\n CONSULT,\n CONSULT_ACCEPT,\n CONSULT_END,\n CONSULT_TRANSFER,\n END,\n HOLD,\n PAUSE,\n RESUME,\n TASK_API,\n TASK_MESSAGE_TYPE,\n TRANSFER,\n UNHOLD,\n WRAPUP,\n CONSULT_CONFERENCE,\n CONFERENCE_EXIT,\n CONFERENCE_TRANSFER,\n} from './constants';\nimport * as Contact from './types';\nimport {DESTINATION_TYPE} from './types';\n\nexport default function routingContact(aqm: AqmReqs) {\n return {\n /*\n * Accept incoming task\n */\n accept: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}/accept`,\n host: WCC_API_GATEWAY,\n data: {},\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGNED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGN_FAILED, interactionId: p.interactionId},\n },\n errId: 'Service.aqm.task.accept',\n },\n })),\n\n /*\n * Hold task\n */\n hold: aqm.req((p: {interactionId: string; data: Contact.HoldResumePayload}) => ({\n url: `${TASK_API}${p.interactionId}${HOLD}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_HELD, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_HOLD_FAILED},\n },\n errId: 'Service.aqm.task.hold',\n },\n })),\n\n /*\n * Unhold task\n */\n unHold: aqm.req((p: {interactionId: string; data: Contact.HoldResumePayload}) => ({\n url: `${TASK_API}${p.interactionId}${UNHOLD}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_UNHELD, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_UNHOLD_FAILED},\n },\n errId: 'Service.aqm.task.unHold',\n },\n })),\n\n /*\n * Pause Recording\n */\n pauseRecording: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${PAUSE}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_PAUSED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_PAUSE_FAILED},\n },\n errId: 'Service.aqm.task.pauseRecording',\n },\n })),\n\n /*\n * Resume Recording\n */\n resumeRecording: aqm.req(\n (p: {interactionId: string; data: Contact.ResumeRecordingPayload}) => ({\n url: `${TASK_API}${p.interactionId}${RESUME}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_RESUMED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_RESUME_FAILED},\n },\n errId: 'Service.aqm.task.resumeRecording',\n },\n })\n ),\n\n /*\n * Consult contact\n */\n consult: aqm.req((p: {interactionId: string; data: Contact.ConsultPayload}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT}`,\n data: p.data,\n timeout:\n p.data && p.data.destinationType === DESTINATION_TYPE.QUEUE ? 'disabled' : TIMEOUT_REQ,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_CREATED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type:\n p.data && p.data.destinationType === DESTINATION_TYPE.QUEUE\n ? CC_EVENTS.AGENT_CTQ_FAILED\n : CC_EVENTS.AGENT_CONSULT_FAILED,\n },\n },\n errId: 'Service.aqm.task.consult',\n },\n notifCancel: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelled', interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n })),\n\n /*\n * Consult End\n */\n consultEnd: aqm.req((p: {interactionId: string; data: Contact.ConsultEndPayload}) => {\n // Setting false value for optional attribute\n const {isConsult, isSecondaryEpDnAgent = false, queueId} = p.data;\n\n return {\n url: `${TASK_API}${p.interactionId}${CONSULT_END}`,\n host: WCC_API_GATEWAY,\n data: queueId\n ? {\n queueId,\n }\n : {},\n err,\n notifSuccess: {\n bind: {\n type: 'RoutingMessage',\n data: {\n type: (() => {\n if (queueId) return CC_EVENTS.AGENT_CTQ_CANCELLED;\n if (isSecondaryEpDnAgent) return CC_EVENTS.CONTACT_ENDED;\n if (isConsult) return CC_EVENTS.AGENT_CONSULT_ENDED;\n\n return CC_EVENTS.AGENT_CONSULT_CONFERENCE_ENDED;\n })(),\n interactionId: p.interactionId,\n },\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: 'RoutingMessage',\n data: {\n type: p.data.queueId\n ? CC_EVENTS.AGENT_CTQ_CANCEL_FAILED\n : CC_EVENTS.AGENT_CONSULT_END_FAILED,\n },\n },\n errId: p.data.queueId ? 'Service.aqm.task.cancelCtq' : 'Service.aqm.task.consultEnd',\n },\n };\n }),\n\n /*\n * Consult Accept contact\n */\n consultAccept: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_ACCEPT}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULTING, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGN_FAILED},\n },\n errId: 'Service.aqm.task.consultAccept',\n },\n })),\n\n /*\n * BlindTransfer contact\n */\n blindTransfer: aqm.req((p: {interactionId: string; data: Contact.TransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_BLIND_TRANSFERRED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_BLIND_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentBlindTransferFailedEvent',\n },\n })),\n\n /*\n * VteamTransfer contact\n */\n vteamTransfer: aqm.req((p: {interactionId: string; data: Contact.TransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_VTEAM_TRANSFERRED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_VTEAM_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentVteamTransferFailed',\n },\n })),\n\n /*\n * Consult Transfer contact\n */\n consultTransfer: aqm.req(\n (p: {interactionId: string; data: Contact.ConsultTransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type: [CC_EVENTS.AGENT_CONSULT_TRANSFERRED, CC_EVENTS.AGENT_CONSULT_TRANSFERRING],\n interactionId: p.interactionId,\n },\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentConsultTransferFailed',\n },\n })\n ),\n\n /*\n * End contact\n */\n end: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${END}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPUP, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_END_FAILED},\n },\n errId: 'Service.aqm.task.end',\n },\n })),\n\n /*\n * Wrapup contact\n */\n wrapup: aqm.req((p: {interactionId: string; data: Contact.WrapupPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${WRAPUP}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPPEDUP, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPUP_FAILED},\n },\n errId: 'Service.aqm.task.wrapup',\n },\n })),\n\n /*\n * Cancel popover\n */\n cancelTask: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${END}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_ENDED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_END_FAILED},\n },\n errId: 'Service.aqm.task.end',\n },\n })),\n\n /*\n * Cancel Ctq request\n */\n cancelCtq: aqm.req((p: {interactionId: string; data: Contact.cancelCtq}) => ({\n url: `${TASK_API}${p.interactionId}/cancelCtq`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelled', interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelFailed'},\n },\n errId: 'Service.aqm.task.cancelCtq',\n },\n })),\n\n /*\n * Start consult conference\n */\n consultConference: aqm.req(\n (p: {interactionId: string; data: Contact.ConsultConferenceData}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_CONFERENCE}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type: [CC_EVENTS.AGENT_CONSULT_CONFERENCED, CC_EVENTS.AGENT_CONSULT_CONFERENCING],\n interactionId: p.interactionId,\n }, // any of the two events can be received for API success event\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_CONFERENCE_FAILED},\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })\n ),\n\n /*\n * Exit conference\n */\n exitConference: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONFERENCE_EXIT}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE_FAILED}, // to be finalized\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })),\n\n /*\n * Transfer conference\n */\n conferenceTransfer: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONFERENCE_TRANSFER}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONFERENCE_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_types","require","_Utils","_constants","_constants2","_constants3","_types2","routingContact","aqm","accept","req","p","url","TASK_API","interactionId","host","WCC_API_GATEWAY","data","err","notifSuccess","bind","type","TASK_MESSAGE_TYPE","CC_EVENTS","AGENT_CONTACT_ASSIGNED","msg","notifFail","AGENT_CONTACT_ASSIGN_FAILED","errId","hold","HOLD","AGENT_CONTACT_HELD","AGENT_CONTACT_HOLD_FAILED","unHold","UNHOLD","AGENT_CONTACT_UNHELD","AGENT_CONTACT_UNHOLD_FAILED","pauseRecording","PAUSE","CONTACT_RECORDING_PAUSED","CONTACT_RECORDING_PAUSE_FAILED","resumeRecording","RESUME","CONTACT_RECORDING_RESUMED","CONTACT_RECORDING_RESUME_FAILED","consult","CONSULT","timeout","destinationType","DESTINATION_TYPE","QUEUE","TIMEOUT_REQ","AGENT_CONSULT_CREATED","AGENT_CTQ_FAILED","AGENT_CONSULT_FAILED","notifCancel","consultEnd","isConsult","isSecondaryEpDnAgent","queueId","CONSULT_END","AGENT_CTQ_CANCELLED","CONTACT_ENDED","AGENT_CONSULT_ENDED","AGENT_CONSULT_CONFERENCE_ENDED","AGENT_CTQ_CANCEL_FAILED","AGENT_CONSULT_END_FAILED","consultAccept","CONSULT_ACCEPT","AGENT_CONSULTING","blindTransfer","TRANSFER","AGENT_BLIND_TRANSFERRED","AGENT_BLIND_TRANSFER_FAILED","vteamTransfer","AGENT_VTEAM_TRANSFERRED","AGENT_VTEAM_TRANSFER_FAILED","consultTransfer","CONSULT_TRANSFER","AGENT_CONSULT_TRANSFERRED","AGENT_CONSULT_TRANSFERRING","AGENT_CONSULT_TRANSFER_FAILED","end","END","AGENT_WRAPUP","AGENT_CONTACT_END_FAILED","wrapup","WRAPUP","AGENT_WRAPPEDUP","AGENT_WRAPUP_FAILED","cancelTask","cancelCtq","consultConference","CONSULT_CONFERENCE","AGENT_CONSULT_CONFERENCED","AGENT_CONSULT_CONFERENCING","AGENT_CONSULT_CONFERENCE_FAILED","dropConferenceParticipant","encodeURIComponent","participantId","redactSensitiveLogs","PARTICIPANT_LEFT_CONFERENCE","PARTICIPANT_DROP_CONFERENCE_FAILED","exitConference","CONFERENCE_EXIT","PARTICIPANT_LEFT_CONFERENCE_FAILED","conferenceTransfer","CONFERENCE_TRANSFER","AGENT_CONFERENCE_TRANSFER_FAILED"],"sources":["contact.ts"],"sourcesContent":["import {CC_EVENTS} from '../config/types';\nimport {createErrDetailsObject as err} from '../core/Utils';\nimport {WCC_API_GATEWAY} from '../constants';\nimport AqmReqs from '../core/aqm-reqs';\nimport {TIMEOUT_REQ} from '../core/constants';\nimport {\n CONSULT,\n CONSULT_ACCEPT,\n CONSULT_END,\n CONSULT_TRANSFER,\n END,\n HOLD,\n PAUSE,\n RESUME,\n TASK_API,\n TASK_MESSAGE_TYPE,\n TRANSFER,\n UNHOLD,\n WRAPUP,\n CONSULT_CONFERENCE,\n CONFERENCE_EXIT,\n CONFERENCE_TRANSFER,\n} from './constants';\nimport * as Contact from './types';\nimport {DESTINATION_TYPE} from './types';\n\nexport default function routingContact(aqm: AqmReqs) {\n return {\n /*\n * Accept incoming task\n */\n accept: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}/accept`,\n host: WCC_API_GATEWAY,\n data: {},\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGNED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGN_FAILED, interactionId: p.interactionId},\n },\n errId: 'Service.aqm.task.accept',\n },\n })),\n\n /*\n * Hold task\n */\n hold: aqm.req((p: {interactionId: string; data: Contact.HoldResumePayload}) => ({\n url: `${TASK_API}${p.interactionId}${HOLD}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_HELD, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_HOLD_FAILED},\n },\n errId: 'Service.aqm.task.hold',\n },\n })),\n\n /*\n * Unhold task\n */\n unHold: aqm.req((p: {interactionId: string; data: Contact.HoldResumePayload}) => ({\n url: `${TASK_API}${p.interactionId}${UNHOLD}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_UNHELD, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_UNHOLD_FAILED},\n },\n errId: 'Service.aqm.task.unHold',\n },\n })),\n\n /*\n * Pause Recording\n */\n pauseRecording: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${PAUSE}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_PAUSED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_PAUSE_FAILED},\n },\n errId: 'Service.aqm.task.pauseRecording',\n },\n })),\n\n /*\n * Resume Recording\n */\n resumeRecording: aqm.req(\n (p: {interactionId: string; data: Contact.ResumeRecordingPayload}) => ({\n url: `${TASK_API}${p.interactionId}${RESUME}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_RESUMED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_RECORDING_RESUME_FAILED},\n },\n errId: 'Service.aqm.task.resumeRecording',\n },\n })\n ),\n\n /*\n * Consult contact\n */\n consult: aqm.req((p: {interactionId: string; data: Contact.ConsultPayload}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT}`,\n data: p.data,\n timeout:\n p.data && p.data.destinationType === DESTINATION_TYPE.QUEUE ? 'disabled' : TIMEOUT_REQ,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_CREATED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type:\n p.data && p.data.destinationType === DESTINATION_TYPE.QUEUE\n ? CC_EVENTS.AGENT_CTQ_FAILED\n : CC_EVENTS.AGENT_CONSULT_FAILED,\n },\n },\n errId: 'Service.aqm.task.consult',\n },\n notifCancel: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelled', interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n })),\n\n /*\n * Consult End\n */\n consultEnd: aqm.req((p: {interactionId: string; data: Contact.ConsultEndPayload}) => {\n // Setting false value for optional attribute\n const {isConsult, isSecondaryEpDnAgent = false, queueId} = p.data;\n\n return {\n url: `${TASK_API}${p.interactionId}${CONSULT_END}`,\n host: WCC_API_GATEWAY,\n data: queueId\n ? {\n queueId,\n }\n : {},\n err,\n notifSuccess: {\n bind: {\n type: 'RoutingMessage',\n data: {\n type: (() => {\n if (queueId) return CC_EVENTS.AGENT_CTQ_CANCELLED;\n if (isSecondaryEpDnAgent) return CC_EVENTS.CONTACT_ENDED;\n if (isConsult) return CC_EVENTS.AGENT_CONSULT_ENDED;\n\n return CC_EVENTS.AGENT_CONSULT_CONFERENCE_ENDED;\n })(),\n interactionId: p.interactionId,\n },\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: 'RoutingMessage',\n data: {\n type: p.data.queueId\n ? CC_EVENTS.AGENT_CTQ_CANCEL_FAILED\n : CC_EVENTS.AGENT_CONSULT_END_FAILED,\n },\n },\n errId: p.data.queueId ? 'Service.aqm.task.cancelCtq' : 'Service.aqm.task.consultEnd',\n },\n };\n }),\n\n /*\n * Consult Accept contact\n */\n consultAccept: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_ACCEPT}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULTING, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_ASSIGN_FAILED},\n },\n errId: 'Service.aqm.task.consultAccept',\n },\n })),\n\n /*\n * BlindTransfer contact\n */\n blindTransfer: aqm.req((p: {interactionId: string; data: Contact.TransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_BLIND_TRANSFERRED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_BLIND_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentBlindTransferFailedEvent',\n },\n })),\n\n /*\n * VteamTransfer contact\n */\n vteamTransfer: aqm.req((p: {interactionId: string; data: Contact.TransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_VTEAM_TRANSFERRED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_VTEAM_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentVteamTransferFailed',\n },\n })),\n\n /*\n * Consult Transfer contact\n */\n consultTransfer: aqm.req(\n (p: {interactionId: string; data: Contact.ConsultTransferPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_TRANSFER}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type: [CC_EVENTS.AGENT_CONSULT_TRANSFERRED, CC_EVENTS.AGENT_CONSULT_TRANSFERRING],\n interactionId: p.interactionId,\n },\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.AgentConsultTransferFailed',\n },\n })\n ),\n\n /*\n * End contact\n */\n end: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${END}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPUP, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_END_FAILED},\n },\n errId: 'Service.aqm.task.end',\n },\n })),\n\n /*\n * Wrapup contact\n */\n wrapup: aqm.req((p: {interactionId: string; data: Contact.WrapupPayLoad}) => ({\n url: `${TASK_API}${p.interactionId}${WRAPUP}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPPEDUP, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_WRAPUP_FAILED},\n },\n errId: 'Service.aqm.task.wrapup',\n },\n })),\n\n /*\n * Cancel popover\n */\n cancelTask: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${END}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.CONTACT_ENDED, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONTACT_END_FAILED},\n },\n errId: 'Service.aqm.task.end',\n },\n })),\n\n /*\n * Cancel Ctq request\n */\n cancelCtq: aqm.req((p: {interactionId: string; data: Contact.cancelCtq}) => ({\n url: `${TASK_API}${p.interactionId}/cancelCtq`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelled', interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: 'AgentCtqCancelFailed'},\n },\n errId: 'Service.aqm.task.cancelCtq',\n },\n })),\n\n /*\n * Start consult conference\n */\n consultConference: aqm.req(\n (p: {interactionId: string; data: Contact.ConsultConferenceData}) => ({\n url: `${TASK_API}${p.interactionId}${CONSULT_CONFERENCE}`,\n data: p.data,\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type: [CC_EVENTS.AGENT_CONSULT_CONFERENCED, CC_EVENTS.AGENT_CONSULT_CONFERENCING],\n interactionId: p.interactionId,\n }, // any of the two events can be received for API success event\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONSULT_CONFERENCE_FAILED},\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })\n ),\n\n /*\n * Drop another participant from an active conference\n */\n dropConferenceParticipant: aqm.req((p: {interactionId: string; participantId: string}) => ({\n url: `${TASK_API}${p.interactionId}/conference/participants/${encodeURIComponent(\n p.participantId\n )}/drop`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n redactSensitiveLogs: true,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {\n type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE,\n interactionId: p.interactionId,\n },\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_DROP_CONFERENCE_FAILED},\n },\n errId: 'Service.aqm.task.dropConferenceParticipant',\n },\n })),\n\n /*\n * Exit conference\n */\n exitConference: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONFERENCE_EXIT}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE_FAILED}, // to be finalized\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })),\n\n /*\n * Transfer conference\n */\n conferenceTransfer: aqm.req((p: {interactionId: string}) => ({\n url: `${TASK_API}${p.interactionId}${CONFERENCE_TRANSFER}`,\n data: {},\n host: WCC_API_GATEWAY,\n err,\n notifSuccess: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.PARTICIPANT_LEFT_CONFERENCE, interactionId: p.interactionId},\n },\n msg: {} as Contact.AgentContact,\n },\n notifFail: {\n bind: {\n type: TASK_MESSAGE_TYPE,\n data: {type: CC_EVENTS.AGENT_CONFERENCE_TRANSFER_FAILED},\n },\n errId: 'Service.aqm.task.consultConference',\n },\n })),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,11 +12,12 @@ var _MetricsManager = _interopRequireDefault(require("../../../metrics/MetricsMa
|
|
|
12
12
|
var _constants2 = require("../../../metrics/constants");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
class Digital extends _Task.default {
|
|
15
|
-
constructor(contact, data, wrapupData, agentId) {
|
|
15
|
+
constructor(contact, data, wrapupData, agentId, consultTransferConfig) {
|
|
16
16
|
super(contact, data, {
|
|
17
17
|
isEndTaskEnabled: true,
|
|
18
18
|
isEndConsultEnabled: false,
|
|
19
|
-
isRecordingEnabled: false
|
|
19
|
+
isRecordingEnabled: false,
|
|
20
|
+
consultTransferConfig
|
|
20
21
|
}, wrapupData, agentId);
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_Utils","_Task","_interopRequireDefault","_loggerProxy","_MetricsManager","_constants2","e","__esModule","default","Digital","Task","constructor","contact","data","wrapupData","agentId","isEndTaskEnabled","isEndConsultEnabled","isRecordingEnabled","updateTaskData","newData","shouldOverwrite","accept","LoggerProxy","info","module","CC_FILE","method","METHODS","ACCEPT","interactionId","metricsManager","timeEvent","METRIC_EVENT_NAMES","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","response","trackEvent","taskId","MetricsManager","getCommonTrackingFieldForAQMResponse","log","trackingId","error","detailedError","getErrorDetails","toString","getCommonTrackingFieldForAQMResponseFailed","details","exports"],"sources":["Digital.ts"],"sourcesContent":["import {CC_FILE, METHODS} from '../../../constants';\nimport {getErrorDetails} from '../../core/Utils';\nimport {IDigital, TaskResponse, TaskData} from '../types';\nimport {WrapupData} from '../../config/types';\nimport Task from '../Task';\nimport routingContact from '../contact';\nimport LoggerProxy from '../../../logger-proxy';\nimport MetricsManager from '../../../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../../../metrics/constants';\n\nexport default class Digital extends Task implements IDigital {\n constructor(\n contact: ReturnType<typeof routingContact>,\n data: TaskData,\n wrapupData?: WrapupData,\n agentId?: string\n ) {\n super(\n contact,\n data,\n {\n isEndTaskEnabled: true,\n isEndConsultEnabled: false,\n isRecordingEnabled: false,\n },\n wrapupData,\n agentId\n );\n }\n\n /**\n * Refresh the digital task with the latest backend payload and recompute UI controls.\n */\n public updateTaskData(newData: TaskData, shouldOverwrite = false): IDigital {\n super.updateTaskData(newData, shouldOverwrite);\n\n return this;\n }\n\n /**\n * This is used for incoming digital task accept by agent.\n *\n * @returns Promise<TaskResponse>\n * @throws Error\n * @example\n * ```typescript\n * task.accept().then(()=>{}).catch(()=>{})\n * ```\n */\n public async accept(): Promise<TaskResponse> {\n try {\n LoggerProxy.info(`Accepting task`, {\n module: CC_FILE,\n method: METHODS.ACCEPT,\n interactionId: this.data.interactionId,\n });\n\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS,\n METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED,\n ]);\n\n const response = await this.contact.accept({interactionId: this.data.interactionId});\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS,\n {\n taskId: this.data.interactionId,\n ...MetricsManager.getCommonTrackingFieldForAQMResponse(response),\n },\n ['operational', 'behavioral', 'business']\n );\n LoggerProxy.log(`Task accepted successfully`, {\n module: CC_FILE,\n method: METHODS.ACCEPT,\n trackingId: response.trackingId,\n interactionId: this.data.interactionId,\n });\n\n return response;\n } catch (error) {\n const {error: detailedError} = getErrorDetails(error, METHODS.ACCEPT, CC_FILE);\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED,\n {\n taskId: this.data.interactionId,\n error: error.toString(),\n ...MetricsManager.getCommonTrackingFieldForAQMResponseFailed(error.details || {}),\n },\n ['operational', 'behavioral', 'business']\n );\n throw detailedError;\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,eAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAA8D,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/C,MAAMG,OAAO,SAASC,aAAI,CAAqB;EAC5DC,WAAWA,CACTC,OAA0C,EAC1CC,IAAc,EACdC,UAAuB,EACvBC,OAAgB,
|
|
1
|
+
{"version":3,"names":["_constants","require","_Utils","_Task","_interopRequireDefault","_loggerProxy","_MetricsManager","_constants2","e","__esModule","default","Digital","Task","constructor","contact","data","wrapupData","agentId","consultTransferConfig","isEndTaskEnabled","isEndConsultEnabled","isRecordingEnabled","updateTaskData","newData","shouldOverwrite","accept","LoggerProxy","info","module","CC_FILE","method","METHODS","ACCEPT","interactionId","metricsManager","timeEvent","METRIC_EVENT_NAMES","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","response","trackEvent","taskId","MetricsManager","getCommonTrackingFieldForAQMResponse","log","trackingId","error","detailedError","getErrorDetails","toString","getCommonTrackingFieldForAQMResponseFailed","details","exports"],"sources":["Digital.ts"],"sourcesContent":["import {CC_FILE, METHODS} from '../../../constants';\nimport {getErrorDetails} from '../../core/Utils';\nimport {ConsultTransferDestinationConfig, IDigital, TaskResponse, TaskData} from '../types';\nimport {WrapupData} from '../../config/types';\nimport Task from '../Task';\nimport routingContact from '../contact';\nimport LoggerProxy from '../../../logger-proxy';\nimport MetricsManager from '../../../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../../../metrics/constants';\n\nexport default class Digital extends Task implements IDigital {\n constructor(\n contact: ReturnType<typeof routingContact>,\n data: TaskData,\n wrapupData?: WrapupData,\n agentId?: string,\n consultTransferConfig?: ConsultTransferDestinationConfig\n ) {\n super(\n contact,\n data,\n {\n isEndTaskEnabled: true,\n isEndConsultEnabled: false,\n isRecordingEnabled: false,\n consultTransferConfig,\n },\n wrapupData,\n agentId\n );\n }\n\n /**\n * Refresh the digital task with the latest backend payload and recompute UI controls.\n */\n public updateTaskData(newData: TaskData, shouldOverwrite = false): IDigital {\n super.updateTaskData(newData, shouldOverwrite);\n\n return this;\n }\n\n /**\n * This is used for incoming digital task accept by agent.\n *\n * @returns Promise<TaskResponse>\n * @throws Error\n * @example\n * ```typescript\n * task.accept().then(()=>{}).catch(()=>{})\n * ```\n */\n public async accept(): Promise<TaskResponse> {\n try {\n LoggerProxy.info(`Accepting task`, {\n module: CC_FILE,\n method: METHODS.ACCEPT,\n interactionId: this.data.interactionId,\n });\n\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS,\n METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED,\n ]);\n\n const response = await this.contact.accept({interactionId: this.data.interactionId});\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS,\n {\n taskId: this.data.interactionId,\n ...MetricsManager.getCommonTrackingFieldForAQMResponse(response),\n },\n ['operational', 'behavioral', 'business']\n );\n LoggerProxy.log(`Task accepted successfully`, {\n module: CC_FILE,\n method: METHODS.ACCEPT,\n trackingId: response.trackingId,\n interactionId: this.data.interactionId,\n });\n\n return response;\n } catch (error) {\n const {error: detailedError} = getErrorDetails(error, METHODS.ACCEPT, CC_FILE);\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED,\n {\n taskId: this.data.interactionId,\n error: error.toString(),\n ...MetricsManager.getCommonTrackingFieldForAQMResponseFailed(error.details || {}),\n },\n ['operational', 'behavioral', 'business']\n );\n throw detailedError;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,12 +49,34 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
49
49
|
* AgentContactHeld -> TaskEvent.HOLD_SUCCESS
|
|
50
50
|
* AgentContactUnheld -> TaskEvent.UNHOLD_SUCCESS
|
|
51
51
|
* AgentConsultEnded -> TaskEvent.CONSULT_END
|
|
52
|
+
* ParticipantLeftConference -> TaskEvent.PARTICIPANT_LEAVE
|
|
52
53
|
* AgentContactEnded -> TaskEvent.CONTACT_ENDED
|
|
53
54
|
* AgentWrapup -> TaskEvent.TASK_WRAPUP (wrapUpRequired)
|
|
54
55
|
* AgentWrappedup -> TaskEvent.WRAPUP_COMPLETE
|
|
55
56
|
*
|
|
56
57
|
* (See TaskManager.mapEventToTaskStateMachineEvent for the full mapping table.)
|
|
57
58
|
*/
|
|
59
|
+
// XState evaluates these guarded transition arrays in order. Each returned entry is a
|
|
60
|
+
// complete transition with its own target and actions; sharing them keeps lifecycle-event
|
|
61
|
+
// handling consistent across active states where ParticipantLeftConference can arrive.
|
|
62
|
+
const currentAgentParticipantLeaveTransitions = () => [{
|
|
63
|
+
guard: params => _guards.guards.didCurrentAgentLeaveMainInteraction(params) && _guards.guards.shouldWrapUp(params),
|
|
64
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
65
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskWrapup']
|
|
66
|
+
}, {
|
|
67
|
+
guard: _guards.guards.didCurrentAgentLeaveMainInteraction,
|
|
68
|
+
target: _constants.TaskState.TERMINATED,
|
|
69
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskEnd']
|
|
70
|
+
}];
|
|
71
|
+
const currentAgentConsultEndTransitions = () => [{
|
|
72
|
+
guard: params => _guards.guards.didCurrentAgentLeaveMainInteraction(params) && _guards.guards.shouldWrapUp(params),
|
|
73
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
74
|
+
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskConsultEnd', 'emitTaskWrapup']
|
|
75
|
+
}, {
|
|
76
|
+
guard: _guards.guards.didCurrentAgentLeaveMainInteraction,
|
|
77
|
+
target: _constants.TaskState.TERMINATED,
|
|
78
|
+
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskConsultEnd', 'emitTaskEnd']
|
|
79
|
+
}];
|
|
58
80
|
return {
|
|
59
81
|
id: 'taskStateMachine',
|
|
60
82
|
initial: _constants.TaskState.IDLE,
|
|
@@ -67,7 +89,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
67
89
|
actions: ['updateTaskData', 'syncTaskDataFromEvent']
|
|
68
90
|
},
|
|
69
91
|
[_constants.TaskEvent.CONTACT_OWNER_CHANGED]: {
|
|
70
|
-
actions: ['updateTaskData', 'syncTaskDataFromEvent']
|
|
92
|
+
actions: ['updateTaskData', 'syncTaskDataFromEvent', 'emitTaskHydrate']
|
|
71
93
|
},
|
|
72
94
|
// HYDRATE: Update task data from AgentContact event
|
|
73
95
|
// Note: State restoration with transitions is handled in IDLE state.
|
|
@@ -162,10 +184,14 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
162
184
|
target: _constants.TaskState.TERMINATED,
|
|
163
185
|
actions: ['updateTaskData', 'markEnded', 'emitTaskReject']
|
|
164
186
|
},
|
|
165
|
-
[_constants.TaskEvent.TASK_WRAPUP]: {
|
|
187
|
+
[_constants.TaskEvent.TASK_WRAPUP]: [{
|
|
188
|
+
guard: _guards.guards.shouldWrapUp,
|
|
189
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
190
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskWrapup']
|
|
191
|
+
}, {
|
|
166
192
|
target: _constants.TaskState.TERMINATED,
|
|
167
193
|
actions: ['updateTaskData', 'markEnded', 'emitTaskEnd']
|
|
168
|
-
},
|
|
194
|
+
}],
|
|
169
195
|
[_constants.TaskEvent.CONTACT_ENDED]: {
|
|
170
196
|
target: _constants.TaskState.TERMINATED,
|
|
171
197
|
actions: ['updateTaskData', 'markEnded', 'emitTaskEnd']
|
|
@@ -278,7 +304,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
278
304
|
actions: ['updateTaskData']
|
|
279
305
|
},
|
|
280
306
|
// AgentConsultEnded from Stable Prod while on connected leg (external end consult).
|
|
281
|
-
[_constants.TaskEvent.CONSULT_END]: [{
|
|
307
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
282
308
|
guard: ({
|
|
283
309
|
context,
|
|
284
310
|
event
|
|
@@ -296,6 +322,13 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
296
322
|
}) => context.consultInitiator === true,
|
|
297
323
|
actions: ['updateTaskData', 'clearConsultState', 'emitTaskConsultEnd']
|
|
298
324
|
}],
|
|
325
|
+
// Routing lifecycle events can arrive out of order in child-task/EP-DN flows. The
|
|
326
|
+
// local actor may still be CONNECTED when ParticipantLeftConference reports that this
|
|
327
|
+
// agent left the main interaction. Handle that self-departure race; for another
|
|
328
|
+
// participant, the action-only fallback updates data while preserving CONNECTED.
|
|
329
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
330
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
331
|
+
}],
|
|
299
332
|
// AgentContactEnded Event
|
|
300
333
|
[_constants.TaskEvent.CONTACT_ENDED]: [{
|
|
301
334
|
// Campaign preview ContactEnded is terminal cleanup; never enter wrapup.
|
|
@@ -321,6 +354,14 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
321
354
|
target: _constants.TaskState.WRAPPING_UP,
|
|
322
355
|
actions: ['updateTaskData', 'markEnded', 'emitTaskWrapup']
|
|
323
356
|
},
|
|
357
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
358
|
+
guard: _guards.guards.shouldWrapUp,
|
|
359
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
360
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
361
|
+
}, {
|
|
362
|
+
target: _constants.TaskState.TERMINATED,
|
|
363
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
364
|
+
}],
|
|
324
365
|
[_constants.TaskEvent.PAUSE_RECORDING]: {
|
|
325
366
|
actions: ['updateTaskData', 'setRecordingState', 'emitTaskRecordingPaused']
|
|
326
367
|
},
|
|
@@ -340,7 +381,21 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
340
381
|
[_constants.TaskEvent.HOLD_FAILED]: {
|
|
341
382
|
target: _constants.TaskState.CONNECTED,
|
|
342
383
|
actions: ['updateTaskData']
|
|
343
|
-
}
|
|
384
|
+
},
|
|
385
|
+
// Another agent can remove this agent while the local hold request is awaiting its
|
|
386
|
+
// routing acknowledgement. Process that backend lifecycle event independently of
|
|
387
|
+
// whether Drop was initiated from this task; another-participant event preserves state.
|
|
388
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
389
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
390
|
+
}],
|
|
391
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
392
|
+
guard: _guards.guards.shouldWrapUp,
|
|
393
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
394
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
395
|
+
}, {
|
|
396
|
+
target: _constants.TaskState.TERMINATED,
|
|
397
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
398
|
+
}]
|
|
344
399
|
}
|
|
345
400
|
},
|
|
346
401
|
[_constants.TaskState.HELD]: {
|
|
@@ -406,14 +461,25 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
406
461
|
actions: ['updateTaskData', 'markEnded', 'emitTaskEnd']
|
|
407
462
|
}],
|
|
408
463
|
// AgentConsultEnded from Stable Prod while main leg is held (external end consult).
|
|
409
|
-
[_constants.TaskEvent.CONSULT_END]: {
|
|
464
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
410
465
|
actions: ['updateTaskData', 'clearConsultState', 'emitTaskConsultEnd']
|
|
411
|
-
},
|
|
466
|
+
}],
|
|
467
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
468
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
469
|
+
}],
|
|
412
470
|
// TODO: This may not be a valid transition, this needs to be checked as well
|
|
413
471
|
[_constants.TaskEvent.TASK_WRAPUP]: {
|
|
414
472
|
target: _constants.TaskState.WRAPPING_UP,
|
|
415
473
|
actions: ['updateTaskData', 'markEnded', 'emitTaskWrapup']
|
|
416
|
-
}
|
|
474
|
+
},
|
|
475
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
476
|
+
guard: _guards.guards.shouldWrapUp,
|
|
477
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
478
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
479
|
+
}, {
|
|
480
|
+
target: _constants.TaskState.TERMINATED,
|
|
481
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
482
|
+
}]
|
|
417
483
|
}
|
|
418
484
|
},
|
|
419
485
|
[_constants.TaskState.RESUME_INITIATING]: {
|
|
@@ -424,7 +490,19 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
424
490
|
},
|
|
425
491
|
[_constants.TaskEvent.UNHOLD_FAILED]: {
|
|
426
492
|
target: _constants.TaskState.HELD
|
|
427
|
-
}
|
|
493
|
+
},
|
|
494
|
+
// The same remote-removal race can occur while an unhold request is in flight.
|
|
495
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
496
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
497
|
+
}],
|
|
498
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
499
|
+
guard: _guards.guards.shouldWrapUp,
|
|
500
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
501
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
502
|
+
}, {
|
|
503
|
+
target: _constants.TaskState.TERMINATED,
|
|
504
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
505
|
+
}]
|
|
428
506
|
}
|
|
429
507
|
},
|
|
430
508
|
[_constants.TaskState.CONSULT_INITIATING]: {
|
|
@@ -473,13 +551,24 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
473
551
|
actions: ['updateTaskData', 'clearConsultState']
|
|
474
552
|
}],
|
|
475
553
|
// AgentConsultEnded from Stable Prod during consult initiation (external end consult).
|
|
476
|
-
[_constants.TaskEvent.CONSULT_END]: [{
|
|
554
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
477
555
|
guard: _guards.guards.isPrimaryMediaOnHold,
|
|
478
556
|
target: _constants.TaskState.HELD,
|
|
479
557
|
actions: ['updateTaskData', 'clearConsultState', 'emitTaskConsultEnd']
|
|
480
558
|
}, {
|
|
481
559
|
target: _constants.TaskState.CONNECTED,
|
|
482
560
|
actions: ['updateTaskData', 'clearConsultState', 'emitTaskConsultEnd']
|
|
561
|
+
}],
|
|
562
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
563
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
564
|
+
}],
|
|
565
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
566
|
+
guard: _guards.guards.shouldWrapUp,
|
|
567
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
568
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
569
|
+
}, {
|
|
570
|
+
target: _constants.TaskState.TERMINATED,
|
|
571
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
483
572
|
}]
|
|
484
573
|
}
|
|
485
574
|
},
|
|
@@ -510,7 +599,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
510
599
|
actions: ['updateTaskData', 'handleConsultFailed']
|
|
511
600
|
}],
|
|
512
601
|
// AgentConsultEnded
|
|
513
|
-
[_constants.TaskEvent.CONSULT_END]: [{
|
|
602
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
514
603
|
// Initiator returning to conference only while conference is still active.
|
|
515
604
|
guard: ({
|
|
516
605
|
context,
|
|
@@ -581,7 +670,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
581
670
|
}, {
|
|
582
671
|
// Consulted agent → TERMINATED
|
|
583
672
|
target: _constants.TaskState.TERMINATED,
|
|
584
|
-
actions: ['updateTaskData']
|
|
673
|
+
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskConsultEnd', 'emitTaskEnd']
|
|
585
674
|
}],
|
|
586
675
|
// Switch between consult and main call (UI-driven toggle)
|
|
587
676
|
[_constants.TaskEvent.SWITCH_TO_MAIN_CALL]: {
|
|
@@ -596,16 +685,8 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
596
685
|
[_constants.TaskEvent.UNHOLD_SUCCESS]: {
|
|
597
686
|
actions: ['updateTaskData', 'setHoldState', 'emitTaskResume']
|
|
598
687
|
},
|
|
599
|
-
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [{
|
|
600
|
-
guard: params => _guards.guards.
|
|
601
|
-
target: _constants.TaskState.WRAPPING_UP,
|
|
602
|
-
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskWrapup']
|
|
603
|
-
}, {
|
|
604
|
-
guard: _guards.guards.didCurrentAgentLeaveConference,
|
|
605
|
-
target: _constants.TaskState.TERMINATED,
|
|
606
|
-
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskEnd']
|
|
607
|
-
}, {
|
|
608
|
-
guard: params => !_guards.guards.didCurrentAgentLeaveConference(params) && _guards.guards.shouldDowngradeConferenceToConnected(params),
|
|
688
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
689
|
+
guard: params => !_guards.guards.didCurrentAgentLeaveMainInteraction(params) && _guards.guards.shouldDowngradeConferenceToConnected(params),
|
|
609
690
|
target: _constants.TaskState.CONNECTED,
|
|
610
691
|
actions: ['updateTaskData', 'handleParticipantLeft', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskConferenceEnded']
|
|
611
692
|
}, {
|
|
@@ -657,6 +738,14 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
657
738
|
target: _constants.TaskState.WRAPPING_UP,
|
|
658
739
|
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskWrapup']
|
|
659
740
|
},
|
|
741
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
742
|
+
guard: _guards.guards.shouldWrapUp,
|
|
743
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
744
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
745
|
+
}, {
|
|
746
|
+
target: _constants.TaskState.TERMINATED,
|
|
747
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
748
|
+
}],
|
|
660
749
|
[_constants.TaskEvent.MERGE_TO_CONFERENCE]: {
|
|
661
750
|
target: _constants.TaskState.CONF_INITIATING
|
|
662
751
|
},
|
|
@@ -680,7 +769,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
680
769
|
actions: ['handleConferenceFailed', 'emitTaskConferenceFailed']
|
|
681
770
|
},
|
|
682
771
|
// AgentConsultEnded while conference is initiating (end call before conference completes)
|
|
683
|
-
[_constants.TaskEvent.CONSULT_END]: [{
|
|
772
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
684
773
|
guard: ({
|
|
685
774
|
event
|
|
686
775
|
}) => {
|
|
@@ -692,6 +781,17 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
692
781
|
}, {
|
|
693
782
|
target: _constants.TaskState.CONNECTED,
|
|
694
783
|
actions: ['updateTaskData', 'clearConsultState']
|
|
784
|
+
}],
|
|
785
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
786
|
+
actions: ['updateTaskData', 'handleParticipantLeft', 'emitTaskParticipantLeft']
|
|
787
|
+
}],
|
|
788
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
789
|
+
guard: _guards.guards.shouldWrapUp,
|
|
790
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
791
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
792
|
+
}, {
|
|
793
|
+
target: _constants.TaskState.TERMINATED,
|
|
794
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
695
795
|
}]
|
|
696
796
|
}
|
|
697
797
|
},
|
|
@@ -709,7 +809,7 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
709
809
|
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskEnd']
|
|
710
810
|
}],
|
|
711
811
|
// Needed as all agents in conference get this event, hence we need to clear the consult state
|
|
712
|
-
[_constants.TaskEvent.CONSULT_END]: [{
|
|
812
|
+
[_constants.TaskEvent.CONSULT_END]: [...currentAgentConsultEndTransitions(), {
|
|
713
813
|
guard: ({
|
|
714
814
|
context,
|
|
715
815
|
event
|
|
@@ -751,19 +851,9 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
751
851
|
actions: ['setConsultInitiator', 'setConsultDestination', 'setConsultFromConference', 'setConsultAgentJoined', 'updateTaskData', 'emitTaskConsultAccepted', 'emitTaskConsulting']
|
|
752
852
|
},
|
|
753
853
|
// Participant leaves - handle conference downgrade scenarios
|
|
754
|
-
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [{
|
|
755
|
-
// Only the leaving agent should wrap up → WRAPPING_UP
|
|
756
|
-
guard: params => _guards.guards.didCurrentAgentLeaveConference(params) && _guards.guards.shouldWrapUp(params),
|
|
757
|
-
target: _constants.TaskState.WRAPPING_UP,
|
|
758
|
-
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskWrapup']
|
|
759
|
-
}, {
|
|
760
|
-
// Only the leaving agent (no wrapup) → TERMINATED
|
|
761
|
-
guard: _guards.guards.didCurrentAgentLeaveConference,
|
|
762
|
-
target: _constants.TaskState.TERMINATED,
|
|
763
|
-
actions: ['updateTaskData', 'handleParticipantLeft', 'markEnded', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskEnd']
|
|
764
|
-
}, {
|
|
854
|
+
[_constants.TaskEvent.PARTICIPANT_LEAVE]: [...currentAgentParticipantLeaveTransitions(), {
|
|
765
855
|
// Conference downgraded, customer present → CONNECTED
|
|
766
|
-
guard: params => !_guards.guards.
|
|
856
|
+
guard: params => !_guards.guards.didCurrentAgentLeaveMainInteraction(params) && _guards.guards.shouldDowngradeConferenceToConnected(params),
|
|
767
857
|
target: _constants.TaskState.CONNECTED,
|
|
768
858
|
actions: ['updateTaskData', 'handleParticipantLeft', 'clearConsultState', 'emitTaskParticipantLeft', 'emitTaskConferenceEnded']
|
|
769
859
|
}, {
|
|
@@ -828,7 +918,15 @@ function getTaskStateMachineConfig(uiControlConfig) {
|
|
|
828
918
|
guard: _guards.guards.shouldWrapUp,
|
|
829
919
|
target: _constants.TaskState.WRAPPING_UP,
|
|
830
920
|
actions: ['updateTaskData', 'markEnded', 'clearConsultState', 'emitTaskWrapup']
|
|
831
|
-
}
|
|
921
|
+
},
|
|
922
|
+
[_constants.TaskEvent.OUTBOUND_FAILED]: [{
|
|
923
|
+
guard: _guards.guards.shouldWrapUp,
|
|
924
|
+
target: _constants.TaskState.WRAPPING_UP,
|
|
925
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskWrapup']
|
|
926
|
+
}, {
|
|
927
|
+
target: _constants.TaskState.TERMINATED,
|
|
928
|
+
actions: ['updateTaskData', 'markEnded', 'emitTaskOutdialFailed', 'emitTaskEnd']
|
|
929
|
+
}]
|
|
832
930
|
}
|
|
833
931
|
},
|
|
834
932
|
[_constants.TaskState.WRAPPING_UP]: {
|