@webex/contact-center 3.12.0-next.85 → 3.12.0-next.87
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/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/metrics/constants.js +4 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/ApiAiAssistant.js +96 -22
- package/dist/services/ApiAiAssistant.js.map +1 -1
- package/dist/services/task/TaskManager.js +3 -1
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/types/constants.d.ts +2 -1
- package/dist/types/metrics/constants.d.ts +4 -2
- package/dist/types/services/ApiAiAssistant.d.ts +16 -6
- package/dist/types/types.d.ts +48 -7
- package/dist/types.js +36 -5
- package/dist/types.js.map +1 -1
- package/dist/webex.js +1 -1
- package/package.json +2 -2
- package/src/constants.ts +2 -1
- package/src/metrics/constants.ts +6 -2
- package/src/services/ApiAiAssistant.ts +119 -25
- package/src/services/task/TaskManager.ts +1 -1
- package/src/types.ts +51 -7
- package/test/unit/spec/cc.ts +1 -1
- package/test/unit/spec/services/ApiAiAssistant.ts +73 -20
- package/test/unit/spec/services/task/TaskManager.ts +2 -2
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
package/dist/constants.js
CHANGED
|
@@ -72,7 +72,8 @@ const METHODS = exports.METHODS = {
|
|
|
72
72
|
REMOVE_PREVIEW_CONTACT: 'removePreviewContact',
|
|
73
73
|
GET_BASE_URL: 'getBaseUrl',
|
|
74
74
|
SEND_EVENT: 'sendEvent',
|
|
75
|
-
|
|
75
|
+
GET_REAL_TIME_ASSISTANCE: 'getRealTimeAssistance',
|
|
76
|
+
SEND_REAL_TIME_ASSISTANCE_USER_ACTION: 'sendRealTimeAssistanceUserAction',
|
|
76
77
|
FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts'
|
|
77
78
|
};
|
|
78
79
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EVENT","exports","READY","TIMEOUT_DURATION","EMPTY_STRING","PRODUCT_NAME","LOG_PREFIX","WEB_CALLING_SERVICE_FILE","CONFIG_FILE_NAME","CC_FILE","CONNECTION_SERVICE_FILE","WEB_SOCKET_MANAGER_FILE","AQM_REQS_FILE","WEBEX_REQUEST_FILE","TASK_MANAGER_FILE","TASK_FILE","OUTDIAL_DIRECTION","ATTRIBUTES","OUTDIAL_MEDIA_TYPE","OUTBOUND_TYPE","UNKNOWN_ERROR","MERCURY_DISCONNECTED_SUCCESS","METHODS","REGISTER","DEREGISTER","GET_BUDDY_AGENTS","CONNECT_WEBSOCKET","STATION_LOGIN","STATION_LOGOUT","STATION_RELOGIN","SET_AGENT_STATE","HANDLE_WEBSOCKET_MESSAGE","SETUP_EVENT_LISTENERS","GET_CONNECTION_CONFIG","HANDLE_CONNECTION_LOST","SILENT_RELOGIN","HANDLE_DEVICE_TYPE","START_OUTDIAL","GET_QUEUES","UPLOAD_LOGS","UPDATE_AGENT_PROFILE","GET_DEVICE_ID","HANDLE_INCOMING_TASK","HANDLE_TASK_HYDRATE","INCOMING_TASK_LISTENER","ACCEPT","REJECT","HOLD","RESUME","HOLD_RESUME","TRANSFER_CALL","CONSULT_TRANSFER","CONSULT_CONFERENCE","EXIT_CONFERENCE","TRANSFER_CONFERENCE","TOGGLE_MUTE","COMPLETE_TRANSFER","GET_OUTDIAL_ANI_ENTRIES","ACCEPT_PREVIEW_CONTACT","SKIP_PREVIEW_CONTACT","REMOVE_PREVIEW_CONTACT","GET_BASE_URL","SEND_EVENT","
|
|
1
|
+
{"version":3,"names":["EVENT","exports","READY","TIMEOUT_DURATION","EMPTY_STRING","PRODUCT_NAME","LOG_PREFIX","WEB_CALLING_SERVICE_FILE","CONFIG_FILE_NAME","CC_FILE","CONNECTION_SERVICE_FILE","WEB_SOCKET_MANAGER_FILE","AQM_REQS_FILE","WEBEX_REQUEST_FILE","TASK_MANAGER_FILE","TASK_FILE","OUTDIAL_DIRECTION","ATTRIBUTES","OUTDIAL_MEDIA_TYPE","OUTBOUND_TYPE","UNKNOWN_ERROR","MERCURY_DISCONNECTED_SUCCESS","METHODS","REGISTER","DEREGISTER","GET_BUDDY_AGENTS","CONNECT_WEBSOCKET","STATION_LOGIN","STATION_LOGOUT","STATION_RELOGIN","SET_AGENT_STATE","HANDLE_WEBSOCKET_MESSAGE","SETUP_EVENT_LISTENERS","GET_CONNECTION_CONFIG","HANDLE_CONNECTION_LOST","SILENT_RELOGIN","HANDLE_DEVICE_TYPE","START_OUTDIAL","GET_QUEUES","UPLOAD_LOGS","UPDATE_AGENT_PROFILE","GET_DEVICE_ID","HANDLE_INCOMING_TASK","HANDLE_TASK_HYDRATE","INCOMING_TASK_LISTENER","ACCEPT","REJECT","HOLD","RESUME","HOLD_RESUME","TRANSFER_CALL","CONSULT_TRANSFER","CONSULT_CONFERENCE","EXIT_CONFERENCE","TRANSFER_CONFERENCE","TOGGLE_MUTE","COMPLETE_TRANSFER","GET_OUTDIAL_ANI_ENTRIES","ACCEPT_PREVIEW_CONTACT","SKIP_PREVIEW_CONTACT","REMOVE_PREVIEW_CONTACT","GET_BASE_URL","SEND_EVENT","GET_REAL_TIME_ASSISTANCE","SEND_REAL_TIME_ASSISTANCE_USER_ACTION","FETCH_HISTORIC_TRANSCRIPTS"],"sources":["constants.ts"],"sourcesContent":["export const EVENT = 'event';\nexport const READY = 'ready';\nexport const TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration\nexport const EMPTY_STRING = '';\nexport const PRODUCT_NAME = 'wxcc_sdk';\n// FILE NAMES\nexport const LOG_PREFIX = 'PLUGIN_CC';\nexport const WEB_CALLING_SERVICE_FILE = 'WebCallingService';\nexport const CONFIG_FILE_NAME = 'config-index';\nexport const CC_FILE = 'cc';\nexport const CONNECTION_SERVICE_FILE = 'connection-service';\nexport const WEB_SOCKET_MANAGER_FILE = 'WebSocketManager';\nexport const AQM_REQS_FILE = 'aqm-reqs';\nexport const WEBEX_REQUEST_FILE = 'WebexRequest';\nexport const TASK_MANAGER_FILE = 'TaskManager';\nexport const TASK_FILE = 'Task';\n// AGENT OUTDIAL CONSTANTS\nexport const OUTDIAL_DIRECTION = 'OUTBOUND';\nexport const ATTRIBUTES = {};\nexport const OUTDIAL_MEDIA_TYPE = 'telephony';\nexport const OUTBOUND_TYPE = 'OUTDIAL';\n\n// Log related constants\nexport const UNKNOWN_ERROR = 'Unknown error';\nexport const MERCURY_DISCONNECTED_SUCCESS = 'Mercury disconnected successfully';\n\n// METHOD NAMES\nexport const METHODS = {\n REGISTER: 'register',\n DEREGISTER: 'deregister',\n GET_BUDDY_AGENTS: 'getBuddyAgents',\n CONNECT_WEBSOCKET: 'connectWebsocket',\n STATION_LOGIN: 'stationLogin',\n STATION_LOGOUT: 'stationLogout',\n STATION_RELOGIN: 'stationReLogin',\n SET_AGENT_STATE: 'setAgentState',\n HANDLE_WEBSOCKET_MESSAGE: 'handleWebsocketMessage',\n SETUP_EVENT_LISTENERS: 'setupEventListeners',\n GET_CONNECTION_CONFIG: 'getConnectionConfig',\n HANDLE_CONNECTION_LOST: 'handleConnectionLost',\n SILENT_RELOGIN: 'silentRelogin',\n HANDLE_DEVICE_TYPE: 'handleDeviceType',\n START_OUTDIAL: 'startOutdial',\n GET_QUEUES: 'getQueues',\n UPLOAD_LOGS: 'uploadLogs',\n UPDATE_AGENT_PROFILE: 'updateAgentProfile',\n GET_DEVICE_ID: 'getDeviceId',\n HANDLE_INCOMING_TASK: 'handleIncomingTask',\n HANDLE_TASK_HYDRATE: 'handleTaskHydrate',\n INCOMING_TASK_LISTENER: 'incomingTaskListener',\n ACCEPT: 'accept',\n REJECT: 'decline',\n HOLD: 'hold',\n RESUME: 'resume',\n HOLD_RESUME: 'holdResume',\n TRANSFER_CALL: 'transfer',\n CONSULT_TRANSFER: 'consultTransfer',\n CONSULT_CONFERENCE: 'consultConference',\n EXIT_CONFERENCE: 'exitConference',\n TRANSFER_CONFERENCE: 'transferConference',\n TOGGLE_MUTE: 'toggleMute',\n COMPLETE_TRANSFER: 'completeTransfer',\n GET_OUTDIAL_ANI_ENTRIES: 'getOutdialAniEntries',\n ACCEPT_PREVIEW_CONTACT: 'acceptPreviewContact',\n SKIP_PREVIEW_CONTACT: 'skipPreviewContact',\n REMOVE_PREVIEW_CONTACT: 'removePreviewContact',\n GET_BASE_URL: 'getBaseUrl',\n SEND_EVENT: 'sendEvent',\n GET_REAL_TIME_ASSISTANCE: 'getRealTimeAssistance',\n SEND_REAL_TIME_ASSISTANCE_USER_ACTION: 'sendRealTimeAssistanceUserAction',\n FETCH_HISTORIC_TRANSCRIPTS: 'fetchHistoricTranscripts',\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -166,8 +166,10 @@ const METRIC_EVENT_NAMES = exports.METRIC_EVENT_NAMES = {
|
|
|
166
166
|
// AI Assistant Transcript events
|
|
167
167
|
AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',
|
|
168
168
|
AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS: 'AI Assistant Get Real Time Assistance Success',
|
|
170
|
+
AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED: 'AI Assistant Get Real Time Assistance Failed',
|
|
171
|
+
AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS: 'AI Assistant Send Real Time Assistance User Action Success',
|
|
172
|
+
AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED: 'AI Assistant Send Real Time Assistance User Action Failed',
|
|
171
173
|
AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS: 'AI Assistant Fetch Historic Transcripts Success',
|
|
172
174
|
AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed',
|
|
173
175
|
// User Preference API Events
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","WEBSOCKET_EVENT_RECEIVED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","AI_ASSISTANT_GET_SUGGESTED_RESPONSE_SUCCESS","AI_ASSISTANT_GET_SUGGESTED_RESPONSE_FAILED","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n * @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.\n * @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',\n TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n TASK_CONFERENCE_EXIT_SUCCESS: 'Task Conference Exit Success',\n TASK_CONFERENCE_EXIT_FAILED: 'Task Conference Exit Failed',\n TASK_SWITCH_CALL_SUCCESS: 'Task Switch Call Success',\n TASK_SWITCH_CALL_FAILED: 'Task Switch Call Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n\n // Campaign Preview API Events\n CAMPAIGN_PREVIEW_ACCEPT_SUCCESS: 'Campaign Preview Accept Success',\n CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'Campaign Preview Accept Failed',\n CAMPAIGN_PREVIEW_SKIP_SUCCESS: 'Campaign Preview Skip Success',\n CAMPAIGN_PREVIEW_SKIP_FAILED: 'Campaign Preview Skip Failed',\n CAMPAIGN_PREVIEW_REMOVE_SUCCESS: 'Campaign Preview Remove Success',\n CAMPAIGN_PREVIEW_REMOVE_FAILED: 'Campaign Preview Remove Failed',\n\n // AI Assistant Transcript events\n AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',\n AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',\n AI_ASSISTANT_GET_SUGGESTED_RESPONSE_SUCCESS: 'AI Assistant Get Suggested Response Success',\n AI_ASSISTANT_GET_SUGGESTED_RESPONSE_FAILED: 'AI Assistant Get Suggested Response Failed',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS:\n 'AI Assistant Fetch Historic Transcripts Success',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed',\n\n // User Preference API Events\n USER_PREFERENCE_GET_SUCCESS: 'User Preference Get Success',\n USER_PREFERENCE_GET_FAILED: 'User Preference Get Failed',\n USER_PREFERENCE_CREATE_SUCCESS: 'User Preference Create Success',\n USER_PREFERENCE_CREATE_FAILED: 'User Preference Create Failed',\n USER_PREFERENCE_UPDATE_SUCCESS: 'User Preference Update Success',\n USER_PREFERENCE_UPDATE_FAILED: 'User Preference Update Failed',\n USER_PREFERENCE_DELETE_SUCCESS: 'User Preference Delete Success',\n USER_PREFERENCE_DELETE_FAILED: 'User Preference Delete Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","WEBSOCKET_EVENT_RECEIVED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n * @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.\n * @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',\n TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n TASK_CONFERENCE_EXIT_SUCCESS: 'Task Conference Exit Success',\n TASK_CONFERENCE_EXIT_FAILED: 'Task Conference Exit Failed',\n TASK_SWITCH_CALL_SUCCESS: 'Task Switch Call Success',\n TASK_SWITCH_CALL_FAILED: 'Task Switch Call Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n\n // Campaign Preview API Events\n CAMPAIGN_PREVIEW_ACCEPT_SUCCESS: 'Campaign Preview Accept Success',\n CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'Campaign Preview Accept Failed',\n CAMPAIGN_PREVIEW_SKIP_SUCCESS: 'Campaign Preview Skip Success',\n CAMPAIGN_PREVIEW_SKIP_FAILED: 'Campaign Preview Skip Failed',\n CAMPAIGN_PREVIEW_REMOVE_SUCCESS: 'Campaign Preview Remove Success',\n CAMPAIGN_PREVIEW_REMOVE_FAILED: 'Campaign Preview Remove Failed',\n\n // AI Assistant Transcript events\n AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',\n AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS: 'AI Assistant Get Real Time Assistance Success',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED: 'AI Assistant Get Real Time Assistance Failed',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS:\n 'AI Assistant Send Real Time Assistance User Action Success',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED:\n 'AI Assistant Send Real Time Assistance User Action Failed',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS:\n 'AI Assistant Fetch Historic Transcripts Success',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed',\n\n // User Preference API Events\n USER_PREFERENCE_GET_SUCCESS: 'User Preference Get Success',\n USER_PREFERENCE_GET_FAILED: 'User Preference Get Failed',\n USER_PREFERENCE_CREATE_SUCCESS: 'User Preference Create Success',\n USER_PREFERENCE_CREATE_FAILED: 'User Preference Create Failed',\n USER_PREFERENCE_UPDATE_SUCCESS: 'User Preference Update Success',\n USER_PREFERENCE_UPDATE_FAILED: 'User Preference Update Failed',\n USER_PREFERENCE_DELETE_SUCCESS: 'User Preference Delete Success',\n USER_PREFERENCE_DELETE_FAILED: 'User Preference Delete Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,9 +57,11 @@ class ApiAIAssistant {
|
|
|
57
57
|
* @param interactionId - interaction/conversation identifier
|
|
58
58
|
* @param eventType - the type of event (e.g. 'CUSTOM_EVENT')
|
|
59
59
|
* @param eventName - the name of the event (e.g. 'GET_TRANSCRIPTS')
|
|
60
|
-
* @param
|
|
60
|
+
* @param eventMetaData - event-specific fields to include in eventDetails.data
|
|
61
|
+
* @param languageCode - language code within eventDetails.data
|
|
62
|
+
* @param trackingId - tracking identifier within eventDetails.data
|
|
61
63
|
*/
|
|
62
|
-
async sendEvent(agentId, interactionId, eventType, eventName,
|
|
64
|
+
async sendEvent(agentId, interactionId, eventType, eventName, eventMetaData, languageCode, trackingId) {
|
|
63
65
|
_loggerProxy.default.info('Sending event', {
|
|
64
66
|
module: _constants2.CC_FILE,
|
|
65
67
|
method: _constants2.METHODS.SEND_EVENT,
|
|
@@ -67,8 +69,7 @@ class ApiAIAssistant {
|
|
|
67
69
|
data: {
|
|
68
70
|
eventType,
|
|
69
71
|
eventName,
|
|
70
|
-
|
|
71
|
-
context
|
|
72
|
+
eventMetaData
|
|
72
73
|
}
|
|
73
74
|
});
|
|
74
75
|
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS, _constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED]);
|
|
@@ -86,9 +87,8 @@ class ApiAIAssistant {
|
|
|
86
87
|
eventName,
|
|
87
88
|
eventDetails: {
|
|
88
89
|
data: {
|
|
90
|
+
...eventMetaData,
|
|
89
91
|
interactionId,
|
|
90
|
-
action,
|
|
91
|
-
context,
|
|
92
92
|
actionTimeStamp: String(Date.now()),
|
|
93
93
|
languageCode,
|
|
94
94
|
trackingId
|
|
@@ -101,8 +101,7 @@ class ApiAIAssistant {
|
|
|
101
101
|
orgId,
|
|
102
102
|
interactionId,
|
|
103
103
|
eventType,
|
|
104
|
-
eventName
|
|
105
|
-
action
|
|
104
|
+
eventName
|
|
106
105
|
}, ['operational']);
|
|
107
106
|
return response?.body || {};
|
|
108
107
|
} catch (error) {
|
|
@@ -110,7 +109,6 @@ class ApiAIAssistant {
|
|
|
110
109
|
interactionId,
|
|
111
110
|
eventType,
|
|
112
111
|
eventName,
|
|
113
|
-
action,
|
|
114
112
|
error: error instanceof Error ? error.message : String(error)
|
|
115
113
|
}, ['operational']);
|
|
116
114
|
const {
|
|
@@ -121,13 +119,13 @@ class ApiAIAssistant {
|
|
|
121
119
|
}
|
|
122
120
|
|
|
123
121
|
/**
|
|
124
|
-
* Requests
|
|
122
|
+
* Requests real-time assistance for an interaction.
|
|
125
123
|
*
|
|
126
|
-
* @param params -
|
|
124
|
+
* @param params - Real-time assistance request parameters
|
|
127
125
|
* @returns HTTP response body from the AI Assistant event API
|
|
128
126
|
* @public
|
|
129
127
|
*/
|
|
130
|
-
async
|
|
128
|
+
async getRealTimeAssistance(params) {
|
|
131
129
|
const {
|
|
132
130
|
agentId,
|
|
133
131
|
interactionId,
|
|
@@ -139,25 +137,27 @@ class ApiAIAssistant {
|
|
|
139
137
|
const eventName = trimmedContext ? _types.AIAssistantEventName.ADD_SUGGESTIONS_EXTRA_CONTEXT : _types.AIAssistantEventName.GET_SUGGESTIONS;
|
|
140
138
|
const loggerContext = {
|
|
141
139
|
module: _constants2.CC_FILE,
|
|
142
|
-
method: _constants2.METHODS.
|
|
140
|
+
method: _constants2.METHODS.GET_REAL_TIME_ASSISTANCE,
|
|
143
141
|
interactionId,
|
|
144
142
|
trackingId,
|
|
145
143
|
data: {
|
|
146
144
|
eventName
|
|
147
145
|
}
|
|
148
146
|
};
|
|
149
|
-
_loggerProxy.default.info('Requesting
|
|
150
|
-
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.
|
|
147
|
+
_loggerProxy.default.info('Requesting real-time assistance', loggerContext);
|
|
148
|
+
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS, _constants.METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED]);
|
|
151
149
|
try {
|
|
152
150
|
if (!this.aiFeature?.suggestedResponses?.enable) {
|
|
153
151
|
const {
|
|
154
152
|
error: detailedError
|
|
155
|
-
} = (0, _Utils.getErrorDetails)(new Error('SUGGESTED_RESPONSES_NOT_ENABLED'), _constants2.METHODS.
|
|
153
|
+
} = (0, _Utils.getErrorDetails)(new Error('SUGGESTED_RESPONSES_NOT_ENABLED'), _constants2.METHODS.GET_REAL_TIME_ASSISTANCE, _constants2.CC_FILE);
|
|
156
154
|
throw detailedError;
|
|
157
155
|
}
|
|
158
156
|
const orgId = this.webex.credentials.getOrgId();
|
|
159
|
-
const response = await this.sendEvent(agentId, interactionId, _types.AIAssistantEventType.CUSTOM_EVENT, eventName, undefined
|
|
160
|
-
|
|
157
|
+
const response = await this.sendEvent(agentId, interactionId, _types.AIAssistantEventType.CUSTOM_EVENT, eventName, trimmedContext !== undefined ? {
|
|
158
|
+
context: trimmedContext
|
|
159
|
+
} : undefined, languageCode, trackingId);
|
|
160
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS, {
|
|
161
161
|
agentId,
|
|
162
162
|
orgId,
|
|
163
163
|
interactionId,
|
|
@@ -165,14 +165,14 @@ class ApiAIAssistant {
|
|
|
165
165
|
trackingId,
|
|
166
166
|
context
|
|
167
167
|
}, ['operational']);
|
|
168
|
-
_loggerProxy.default.log('
|
|
168
|
+
_loggerProxy.default.log('Real-time assistance request succeeded', loggerContext);
|
|
169
169
|
return response;
|
|
170
170
|
} catch (error) {
|
|
171
|
-
_loggerProxy.default.error('
|
|
171
|
+
_loggerProxy.default.error('Real-time assistance request failed', {
|
|
172
172
|
...loggerContext,
|
|
173
173
|
error
|
|
174
174
|
});
|
|
175
|
-
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.
|
|
175
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED, {
|
|
176
176
|
agentId,
|
|
177
177
|
interactionId,
|
|
178
178
|
trackingId,
|
|
@@ -181,7 +181,81 @@ class ApiAIAssistant {
|
|
|
181
181
|
}, ['operational']);
|
|
182
182
|
const {
|
|
183
183
|
error: detailedError
|
|
184
|
-
} = (0, _Utils.getErrorDetails)(error, _constants2.METHODS.
|
|
184
|
+
} = (0, _Utils.getErrorDetails)(error, _constants2.METHODS.GET_REAL_TIME_ASSISTANCE, _constants2.CC_FILE);
|
|
185
|
+
throw detailedError;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Sends user action feedback for a real-time assistance adaptive card.
|
|
191
|
+
*
|
|
192
|
+
* @param params - Real-time assistance user action parameters
|
|
193
|
+
* @returns HTTP response body from the AI Assistant event API
|
|
194
|
+
* @public
|
|
195
|
+
*/
|
|
196
|
+
async sendRealTimeAssistanceUserAction(params) {
|
|
197
|
+
const {
|
|
198
|
+
agentId,
|
|
199
|
+
interactionId,
|
|
200
|
+
adaptiveCardId,
|
|
201
|
+
actionId
|
|
202
|
+
} = params;
|
|
203
|
+
const actionType = 'Action.Submit';
|
|
204
|
+
const languageCode = params.languageCode ?? 'en';
|
|
205
|
+
const trackingId = `WX_CC_SDK_${(0, _uuid.v4)()}`;
|
|
206
|
+
const loggerContext = {
|
|
207
|
+
module: _constants2.CC_FILE,
|
|
208
|
+
method: _constants2.METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION,
|
|
209
|
+
interactionId,
|
|
210
|
+
trackingId,
|
|
211
|
+
data: {
|
|
212
|
+
actionId,
|
|
213
|
+
adaptiveCardId
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
_loggerProxy.default.info('Sending real-time assistance user action', loggerContext);
|
|
217
|
+
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS, _constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED]);
|
|
218
|
+
try {
|
|
219
|
+
if (!this.aiFeature?.suggestedResponses?.enable) {
|
|
220
|
+
const {
|
|
221
|
+
error: detailedError
|
|
222
|
+
} = (0, _Utils.getErrorDetails)(new Error('SUGGESTED_RESPONSES_NOT_ENABLED'), _constants2.METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION, _constants2.CC_FILE);
|
|
223
|
+
throw detailedError;
|
|
224
|
+
}
|
|
225
|
+
const orgId = this.webex.credentials.getOrgId();
|
|
226
|
+
const response = await this.sendEvent(agentId, interactionId, _types.AIAssistantEventType.CUSTOM_EVENT, _types.AIAssistantEventName.SUGGESTED_RESPONSES_USER_ACTION, {
|
|
227
|
+
adaptiveCardId,
|
|
228
|
+
userAction: {
|
|
229
|
+
actionType,
|
|
230
|
+
actionId
|
|
231
|
+
}
|
|
232
|
+
}, languageCode, trackingId);
|
|
233
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS, {
|
|
234
|
+
agentId,
|
|
235
|
+
orgId,
|
|
236
|
+
interactionId,
|
|
237
|
+
adaptiveCardId,
|
|
238
|
+
actionId,
|
|
239
|
+
trackingId
|
|
240
|
+
}, ['operational']);
|
|
241
|
+
_loggerProxy.default.log('Real-time assistance user action sent', loggerContext);
|
|
242
|
+
return response;
|
|
243
|
+
} catch (error) {
|
|
244
|
+
_loggerProxy.default.error('Real-time assistance user action failed', {
|
|
245
|
+
...loggerContext,
|
|
246
|
+
error
|
|
247
|
+
});
|
|
248
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED, {
|
|
249
|
+
agentId,
|
|
250
|
+
interactionId,
|
|
251
|
+
adaptiveCardId,
|
|
252
|
+
actionId,
|
|
253
|
+
trackingId,
|
|
254
|
+
error: error instanceof Error ? error.message : String(error)
|
|
255
|
+
}, ['operational']);
|
|
256
|
+
const {
|
|
257
|
+
error: detailedError
|
|
258
|
+
} = (0, _Utils.getErrorDetails)(error, _constants2.METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION, _constants2.CC_FILE);
|
|
185
259
|
throw detailedError;
|
|
186
260
|
}
|
|
187
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","require","_loggerProxy","_interopRequireDefault","_MetricsManager","_constants","_constants2","_types","_Utils","_constants3","e","__esModule","default","ApiAIAssistant","constructor","webex","metricsManager","MetricsManager","getInstance","setAIFeatureFlags","aiFeature","getBaseUrl","wccApiGatewayUrl","internal","services","get","WCC_API_GATEWAY","error","detailedError","getErrorDetails","Error","METHODS","GET_BASE_URL","CC_FILE","hostname","URL","toLowerCase","resolvedEnv","AI_ASSISTANT_ENV_MAP","AI_ASSISTANT_BASE_URL_TEMPLATE","replace","sendEvent","agentId","interactionId","eventType","eventName","action","context","languageCode","trackingId","LoggerProxy","info","module","method","SEND_EVENT","data","timeEvent","METRIC_EVENT_NAMES","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","baseUrl","orgId","credentials","getOrgId","response","request","uri","AI_ASSISTANT_API_URLS","EVENT","HTTP_METHODS","POST","addAuthHeader","body","eventDetails","actionTimeStamp","String","Date","now","trackEvent","message","getSuggestedResponse","params","trimmedContext","trim","uuidv4","AIAssistantEventName","ADD_SUGGESTIONS_EXTRA_CONTEXT","GET_SUGGESTIONS","loggerContext","GET_SUGGESTED_RESPONSE","AI_ASSISTANT_GET_SUGGESTED_RESPONSE_SUCCESS","AI_ASSISTANT_GET_SUGGESTED_RESPONSE_FAILED","suggestedResponses","enable","AIAssistantEventType","CUSTOM_EVENT","undefined","log","fetchHistoricTranscripts","FETCH_HISTORIC_TRANSCRIPTS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","realtimeTranscripts","TRANSCRIPTS_LIST","exports","_default"],"sources":["ApiAiAssistant.ts"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\nimport LoggerProxy from '../logger-proxy';\nimport MetricsManager from '../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../metrics/constants';\nimport {CC_FILE, METHODS} from '../constants';\nimport {\n HTTP_METHODS,\n WebexSDK,\n IHttpResponse,\n TranscriptAction,\n AIAssistantEventType,\n AIAssistantEventName,\n HistoricTranscriptsResponse,\n SuggestedResponseParams,\n} from '../types';\nimport {getErrorDetails} from './core/Utils';\nimport {\n AI_ASSISTANT_BASE_URL_TEMPLATE,\n AI_ASSISTANT_ENV_MAP,\n AI_ASSISTANT_API_URLS,\n WCC_API_GATEWAY,\n} from './constants';\nimport {AIFeatureFlags} from './config/types';\n\n/**\n * ApiAIAssistant provides AI Assistant APIs for transcript controls.\n * @public\n */\nexport class ApiAIAssistant {\n private webex: WebexSDK;\n private metricsManager: MetricsManager;\n private aiFeature: AIFeatureFlags;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n this.metricsManager = MetricsManager.getInstance({webex});\n }\n\n public setAIFeatureFlags(aiFeature: AIFeatureFlags): void {\n this.aiFeature = aiFeature;\n }\n\n private getBaseUrl(): string {\n const wccApiGatewayUrl = this.webex.internal.services.get(WCC_API_GATEWAY) || '';\n\n if (!wccApiGatewayUrl) {\n const {error: detailedError} = getErrorDetails(\n new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'),\n METHODS.GET_BASE_URL,\n CC_FILE\n );\n throw detailedError;\n }\n\n let hostname = '';\n try {\n hostname = new URL(wccApiGatewayUrl).hostname.toLowerCase();\n } catch (error) {\n hostname = wccApiGatewayUrl.toLowerCase();\n }\n\n const resolvedEnv = AI_ASSISTANT_ENV_MAP[hostname];\n if (!resolvedEnv) {\n const {error: detailedError} = getErrorDetails(\n new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'),\n METHODS.GET_BASE_URL,\n CC_FILE\n );\n throw detailedError;\n }\n\n return AI_ASSISTANT_BASE_URL_TEMPLATE.replace('%s', resolvedEnv);\n }\n\n /**\n * Sends an event to the AI Assistant service.\n * @param agentId - agent identifier\n * @param interactionId - interaction/conversation identifier\n * @param eventType - the type of event (e.g. 'CUSTOM_EVENT')\n * @param eventName - the name of the event (e.g. 'GET_TRANSCRIPTS')\n * @param action - action within eventDetails (e.g. 'START' or 'STOP')\n */\n public async sendEvent(\n agentId: string,\n interactionId: string,\n eventType: AIAssistantEventType,\n eventName: AIAssistantEventName,\n action?: TranscriptAction,\n context?: string,\n languageCode?: string,\n trackingId?: string\n ): Promise<Record<string, unknown>> {\n LoggerProxy.info('Sending event', {\n module: CC_FILE,\n method: METHODS.SEND_EVENT,\n interactionId,\n data: {eventType, eventName, action, context},\n });\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED,\n ]);\n\n try {\n const baseUrl = this.getBaseUrl();\n const orgId = this.webex.credentials.getOrgId();\n const response = (await this.webex.request({\n uri: `${baseUrl}${AI_ASSISTANT_API_URLS.EVENT}`,\n method: HTTP_METHODS.POST,\n addAuthHeader: true,\n body: {\n agentId,\n orgId,\n eventType,\n eventName,\n eventDetails: {\n data: {\n interactionId,\n action,\n context,\n actionTimeStamp: String(Date.now()),\n languageCode,\n trackingId,\n },\n },\n },\n })) as IHttpResponse;\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS,\n {agentId, orgId, interactionId, eventType, eventName, action},\n ['operational']\n );\n\n return response?.body || {};\n } catch (error) {\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED,\n {\n interactionId,\n eventType,\n eventName,\n action,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n const {error: detailedError} = getErrorDetails(error, METHODS.SEND_EVENT, CC_FILE);\n throw detailedError;\n }\n }\n\n /**\n * Requests a suggested response for an interaction.\n *\n * @param params - Suggestion request parameters\n * @returns HTTP response body from the AI Assistant event API\n * @public\n */\n public async getSuggestedResponse(params: SuggestedResponseParams): Promise<any> {\n const {agentId, interactionId, context} = params;\n const trimmedContext = context?.trim();\n const languageCode = params.languageCode ?? 'en';\n const trackingId = `WX_CC_SDK_${uuidv4()}`;\n const eventName = trimmedContext\n ? AIAssistantEventName.ADD_SUGGESTIONS_EXTRA_CONTEXT\n : AIAssistantEventName.GET_SUGGESTIONS;\n\n const loggerContext = {\n module: CC_FILE,\n method: METHODS.GET_SUGGESTED_RESPONSE,\n interactionId,\n trackingId,\n data: {eventName},\n };\n\n LoggerProxy.info('Requesting suggested response', loggerContext);\n\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_SUGGESTED_RESPONSE_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_SUGGESTED_RESPONSE_FAILED,\n ]);\n\n try {\n if (!this.aiFeature?.suggestedResponses?.enable) {\n const {error: detailedError} = getErrorDetails(\n new Error('SUGGESTED_RESPONSES_NOT_ENABLED'),\n METHODS.GET_SUGGESTED_RESPONSE,\n CC_FILE\n );\n throw detailedError;\n }\n\n const orgId = this.webex.credentials.getOrgId();\n\n const response = await this.sendEvent(\n agentId,\n interactionId,\n AIAssistantEventType.CUSTOM_EVENT,\n eventName,\n undefined,\n trimmedContext,\n languageCode,\n trackingId\n );\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_SUGGESTED_RESPONSE_SUCCESS,\n {\n agentId,\n orgId,\n interactionId,\n eventName,\n trackingId,\n context,\n },\n ['operational']\n );\n LoggerProxy.log('Suggested response request succeeded', loggerContext);\n\n return response;\n } catch (error) {\n LoggerProxy.error('Suggested response request failed', {...loggerContext, error});\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_SUGGESTED_RESPONSE_FAILED,\n {\n agentId,\n interactionId,\n trackingId,\n eventName,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.GET_SUGGESTED_RESPONSE,\n CC_FILE\n );\n throw detailedError;\n }\n }\n\n /**\n * Fetches historic transcripts for an interaction.\n * This API is allowed only when real-time transcription feature is enabled.\n *\n * @param interactionId - interaction/conversation identifier\n */\n public async fetchHistoricTranscripts(\n agentId: string,\n interactionId: string\n ): Promise<HistoricTranscriptsResponse> {\n LoggerProxy.info('Fetching historic transcripts', {\n module: CC_FILE,\n method: METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n interactionId,\n });\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED,\n ]);\n if (!this.aiFeature?.realtimeTranscripts?.enable) {\n const {error: detailedError} = getErrorDetails(\n new Error('REAL_TIME_TRANSCRIPTION_NOT_ENABLED'),\n METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n CC_FILE\n );\n throw detailedError;\n }\n\n try {\n const baseUrl = this.getBaseUrl();\n const orgId = this.webex.credentials.getOrgId();\n const response = (await this.webex.request({\n uri: `${baseUrl}${AI_ASSISTANT_API_URLS.TRANSCRIPTS_LIST}`,\n method: HTTP_METHODS.POST,\n addAuthHeader: true,\n body: {\n agentId,\n orgId,\n interactionId,\n },\n })) as IHttpResponse;\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS,\n {agentId, orgId, interactionId},\n ['operational']\n );\n\n return response.body as HistoricTranscriptsResponse;\n } catch (error) {\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED,\n {\n interactionId,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n if (error instanceof Error) {\n throw error;\n }\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n CC_FILE\n );\n throw detailedError;\n }\n }\n}\n\nexport default ApiAIAssistant;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_uuid","require","_loggerProxy","_interopRequireDefault","_MetricsManager","_constants","_constants2","_types","_Utils","_constants3","e","__esModule","default","ApiAIAssistant","constructor","webex","metricsManager","MetricsManager","getInstance","setAIFeatureFlags","aiFeature","getBaseUrl","wccApiGatewayUrl","internal","services","get","WCC_API_GATEWAY","error","detailedError","getErrorDetails","Error","METHODS","GET_BASE_URL","CC_FILE","hostname","URL","toLowerCase","resolvedEnv","AI_ASSISTANT_ENV_MAP","AI_ASSISTANT_BASE_URL_TEMPLATE","replace","sendEvent","agentId","interactionId","eventType","eventName","eventMetaData","languageCode","trackingId","LoggerProxy","info","module","method","SEND_EVENT","data","timeEvent","METRIC_EVENT_NAMES","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","baseUrl","orgId","credentials","getOrgId","response","request","uri","AI_ASSISTANT_API_URLS","EVENT","HTTP_METHODS","POST","addAuthHeader","body","eventDetails","actionTimeStamp","String","Date","now","trackEvent","message","getRealTimeAssistance","params","context","trimmedContext","trim","uuidv4","AIAssistantEventName","ADD_SUGGESTIONS_EXTRA_CONTEXT","GET_SUGGESTIONS","loggerContext","GET_REAL_TIME_ASSISTANCE","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED","suggestedResponses","enable","AIAssistantEventType","CUSTOM_EVENT","undefined","log","sendRealTimeAssistanceUserAction","adaptiveCardId","actionId","actionType","SEND_REAL_TIME_ASSISTANCE_USER_ACTION","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED","SUGGESTED_RESPONSES_USER_ACTION","userAction","fetchHistoricTranscripts","FETCH_HISTORIC_TRANSCRIPTS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","realtimeTranscripts","TRANSCRIPTS_LIST","exports","_default"],"sources":["ApiAiAssistant.ts"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\nimport LoggerProxy from '../logger-proxy';\nimport MetricsManager from '../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../metrics/constants';\nimport {CC_FILE, METHODS} from '../constants';\nimport {\n HTTP_METHODS,\n WebexSDK,\n IHttpResponse,\n AIAssistantEventType,\n AIAssistantEventName,\n HistoricTranscriptsResponse,\n RealTimeAssistanceParams,\n RealTimeAssistanceUserActionParams,\n} from '../types';\nimport {getErrorDetails} from './core/Utils';\nimport {\n AI_ASSISTANT_BASE_URL_TEMPLATE,\n AI_ASSISTANT_ENV_MAP,\n AI_ASSISTANT_API_URLS,\n WCC_API_GATEWAY,\n} from './constants';\nimport {AIFeatureFlags} from './config/types';\n\n/**\n * ApiAIAssistant provides AI Assistant APIs for transcript controls.\n * @public\n */\nexport class ApiAIAssistant {\n private webex: WebexSDK;\n private metricsManager: MetricsManager;\n private aiFeature: AIFeatureFlags;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n this.metricsManager = MetricsManager.getInstance({webex});\n }\n\n public setAIFeatureFlags(aiFeature: AIFeatureFlags): void {\n this.aiFeature = aiFeature;\n }\n\n private getBaseUrl(): string {\n const wccApiGatewayUrl = this.webex.internal.services.get(WCC_API_GATEWAY) || '';\n\n if (!wccApiGatewayUrl) {\n const {error: detailedError} = getErrorDetails(\n new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'),\n METHODS.GET_BASE_URL,\n CC_FILE\n );\n throw detailedError;\n }\n\n let hostname = '';\n try {\n hostname = new URL(wccApiGatewayUrl).hostname.toLowerCase();\n } catch (error) {\n hostname = wccApiGatewayUrl.toLowerCase();\n }\n\n const resolvedEnv = AI_ASSISTANT_ENV_MAP[hostname];\n if (!resolvedEnv) {\n const {error: detailedError} = getErrorDetails(\n new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'),\n METHODS.GET_BASE_URL,\n CC_FILE\n );\n throw detailedError;\n }\n\n return AI_ASSISTANT_BASE_URL_TEMPLATE.replace('%s', resolvedEnv);\n }\n\n /**\n * Sends an event to the AI Assistant service.\n * @param agentId - agent identifier\n * @param interactionId - interaction/conversation identifier\n * @param eventType - the type of event (e.g. 'CUSTOM_EVENT')\n * @param eventName - the name of the event (e.g. 'GET_TRANSCRIPTS')\n * @param eventMetaData - event-specific fields to include in eventDetails.data\n * @param languageCode - language code within eventDetails.data\n * @param trackingId - tracking identifier within eventDetails.data\n */\n public async sendEvent(\n agentId: string,\n interactionId: string,\n eventType: AIAssistantEventType,\n eventName: AIAssistantEventName,\n eventMetaData?: Record<string, unknown>,\n languageCode?: string,\n trackingId?: string\n ): Promise<Record<string, unknown>> {\n LoggerProxy.info('Sending event', {\n module: CC_FILE,\n method: METHODS.SEND_EVENT,\n interactionId,\n data: {eventType, eventName, eventMetaData},\n });\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED,\n ]);\n\n try {\n const baseUrl = this.getBaseUrl();\n const orgId = this.webex.credentials.getOrgId();\n const response = (await this.webex.request({\n uri: `${baseUrl}${AI_ASSISTANT_API_URLS.EVENT}`,\n method: HTTP_METHODS.POST,\n addAuthHeader: true,\n body: {\n agentId,\n orgId,\n eventType,\n eventName,\n eventDetails: {\n data: {\n ...eventMetaData,\n interactionId,\n actionTimeStamp: String(Date.now()),\n languageCode,\n trackingId,\n },\n },\n },\n })) as IHttpResponse;\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS,\n {agentId, orgId, interactionId, eventType, eventName},\n ['operational']\n );\n\n return response?.body || {};\n } catch (error) {\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED,\n {\n interactionId,\n eventType,\n eventName,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n const {error: detailedError} = getErrorDetails(error, METHODS.SEND_EVENT, CC_FILE);\n throw detailedError;\n }\n }\n\n /**\n * Requests real-time assistance for an interaction.\n *\n * @param params - Real-time assistance request parameters\n * @returns HTTP response body from the AI Assistant event API\n * @public\n */\n public async getRealTimeAssistance(params: RealTimeAssistanceParams) {\n const {agentId, interactionId, context} = params;\n const trimmedContext = context?.trim();\n const languageCode = params.languageCode ?? 'en';\n const trackingId = `WX_CC_SDK_${uuidv4()}`;\n const eventName = trimmedContext\n ? AIAssistantEventName.ADD_SUGGESTIONS_EXTRA_CONTEXT\n : AIAssistantEventName.GET_SUGGESTIONS;\n\n const loggerContext = {\n module: CC_FILE,\n method: METHODS.GET_REAL_TIME_ASSISTANCE,\n interactionId,\n trackingId,\n data: {eventName},\n };\n\n LoggerProxy.info('Requesting real-time assistance', loggerContext);\n\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED,\n ]);\n\n try {\n if (!this.aiFeature?.suggestedResponses?.enable) {\n const {error: detailedError} = getErrorDetails(\n new Error('SUGGESTED_RESPONSES_NOT_ENABLED'),\n METHODS.GET_REAL_TIME_ASSISTANCE,\n CC_FILE\n );\n throw detailedError;\n }\n\n const orgId = this.webex.credentials.getOrgId();\n\n const response = await this.sendEvent(\n agentId,\n interactionId,\n AIAssistantEventType.CUSTOM_EVENT,\n eventName,\n trimmedContext !== undefined ? {context: trimmedContext} : undefined,\n languageCode,\n trackingId\n );\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS,\n {\n agentId,\n orgId,\n interactionId,\n eventName,\n trackingId,\n context,\n },\n ['operational']\n );\n LoggerProxy.log('Real-time assistance request succeeded', loggerContext);\n\n return response;\n } catch (error) {\n LoggerProxy.error('Real-time assistance request failed', {...loggerContext, error});\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED,\n {\n agentId,\n interactionId,\n trackingId,\n eventName,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.GET_REAL_TIME_ASSISTANCE,\n CC_FILE\n );\n throw detailedError;\n }\n }\n\n /**\n * Sends user action feedback for a real-time assistance adaptive card.\n *\n * @param params - Real-time assistance user action parameters\n * @returns HTTP response body from the AI Assistant event API\n * @public\n */\n public async sendRealTimeAssistanceUserAction(\n params: RealTimeAssistanceUserActionParams\n ): Promise<Record<string, unknown>> {\n const {agentId, interactionId, adaptiveCardId, actionId} = params;\n const actionType = 'Action.Submit';\n const languageCode = params.languageCode ?? 'en';\n const trackingId = `WX_CC_SDK_${uuidv4()}`;\n\n const loggerContext = {\n module: CC_FILE,\n method: METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION,\n interactionId,\n trackingId,\n data: {actionId, adaptiveCardId},\n };\n\n LoggerProxy.info('Sending real-time assistance user action', loggerContext);\n\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED,\n ]);\n\n try {\n if (!this.aiFeature?.suggestedResponses?.enable) {\n const {error: detailedError} = getErrorDetails(\n new Error('SUGGESTED_RESPONSES_NOT_ENABLED'),\n METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION,\n CC_FILE\n );\n throw detailedError;\n }\n\n const orgId = this.webex.credentials.getOrgId();\n const response = await this.sendEvent(\n agentId,\n interactionId,\n AIAssistantEventType.CUSTOM_EVENT,\n AIAssistantEventName.SUGGESTED_RESPONSES_USER_ACTION,\n {\n adaptiveCardId,\n userAction: {\n actionType,\n actionId,\n },\n },\n languageCode,\n trackingId\n );\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS,\n {\n agentId,\n orgId,\n interactionId,\n adaptiveCardId,\n actionId,\n trackingId,\n },\n ['operational']\n );\n LoggerProxy.log('Real-time assistance user action sent', loggerContext);\n\n return response;\n } catch (error) {\n LoggerProxy.error('Real-time assistance user action failed', {...loggerContext, error});\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED,\n {\n agentId,\n interactionId,\n adaptiveCardId,\n actionId,\n trackingId,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.SEND_REAL_TIME_ASSISTANCE_USER_ACTION,\n CC_FILE\n );\n throw detailedError;\n }\n }\n\n /**\n * Fetches historic transcripts for an interaction.\n * This API is allowed only when real-time transcription feature is enabled.\n *\n * @param interactionId - interaction/conversation identifier\n */\n public async fetchHistoricTranscripts(\n agentId: string,\n interactionId: string\n ): Promise<HistoricTranscriptsResponse> {\n LoggerProxy.info('Fetching historic transcripts', {\n module: CC_FILE,\n method: METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n interactionId,\n });\n this.metricsManager.timeEvent([\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS,\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED,\n ]);\n if (!this.aiFeature?.realtimeTranscripts?.enable) {\n const {error: detailedError} = getErrorDetails(\n new Error('REAL_TIME_TRANSCRIPTION_NOT_ENABLED'),\n METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n CC_FILE\n );\n throw detailedError;\n }\n\n try {\n const baseUrl = this.getBaseUrl();\n const orgId = this.webex.credentials.getOrgId();\n const response = (await this.webex.request({\n uri: `${baseUrl}${AI_ASSISTANT_API_URLS.TRANSCRIPTS_LIST}`,\n method: HTTP_METHODS.POST,\n addAuthHeader: true,\n body: {\n agentId,\n orgId,\n interactionId,\n },\n })) as IHttpResponse;\n\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS,\n {agentId, orgId, interactionId},\n ['operational']\n );\n\n return response.body as HistoricTranscriptsResponse;\n } catch (error) {\n this.metricsManager.trackEvent(\n METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED,\n {\n interactionId,\n error: error instanceof Error ? error.message : String(error),\n },\n ['operational']\n );\n\n if (error instanceof Error) {\n throw error;\n }\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.FETCH_HISTORIC_TRANSCRIPTS,\n CC_FILE\n );\n throw detailedError;\n }\n }\n}\n\nexport default ApiAIAssistant;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -865,7 +865,9 @@ class TaskManager extends _events.default {
|
|
|
865
865
|
const action = _constants2.TRANSCRIPT_EVENT_MAP[eventType];
|
|
866
866
|
if (!action || !this.apiAIAssistant) return;
|
|
867
867
|
if (this.configFlags?.aiFeature?.realtimeTranscripts?.enable !== true) return;
|
|
868
|
-
this.apiAIAssistant.sendEvent(this.agentId, interactionId, _types3.AIAssistantEventType.CUSTOM_EVENT, _types3.AIAssistantEventName.GET_TRANSCRIPTS,
|
|
868
|
+
this.apiAIAssistant.sendEvent(this.agentId, interactionId, _types3.AIAssistantEventType.CUSTOM_EVENT, _types3.AIAssistantEventName.GET_TRANSCRIPTS, {
|
|
869
|
+
action
|
|
870
|
+
}).catch(error => {
|
|
869
871
|
_loggerProxy.default.error(`Failed to send transcript ${action} event`, {
|
|
870
872
|
module: _constants.TASK_MANAGER_FILE,
|
|
871
873
|
method: _constants2.METHODS.REQUEST_REAL_TIME_TRANSCRIPTS,
|