@webex/contact-center 3.11.0 → 3.12.0
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/cc.js +91 -27
- package/dist/cc.js.map +1 -1
- package/dist/constants.js +5 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +7 -0
- 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 +9 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/ApiAiAssistant.js +173 -0
- package/dist/services/ApiAiAssistant.js.map +1 -0
- package/dist/services/agent/types.js.map +1 -1
- package/dist/services/config/Util.js +6 -2
- package/dist/services/config/Util.js.map +1 -1
- package/dist/services/config/constants.js +12 -0
- package/dist/services/config/constants.js.map +1 -1
- package/dist/services/config/index.js +41 -2
- package/dist/services/config/index.js.map +1 -1
- package/dist/services/config/types.js +19 -1
- package/dist/services/config/types.js.map +1 -1
- package/dist/services/constants.js +19 -1
- package/dist/services/constants.js.map +1 -1
- package/dist/services/core/Err.js.map +1 -1
- package/dist/services/core/Utils.js +28 -6
- package/dist/services/core/Utils.js.map +1 -1
- package/dist/services/core/aqm-reqs.js +92 -17
- package/dist/services/core/aqm-reqs.js.map +1 -1
- package/dist/services/core/websocket/WebSocketManager.js +13 -1
- package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
- package/dist/services/task/TaskManager.js +96 -25
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/services/task/TaskUtils.js +16 -3
- package/dist/services/task/TaskUtils.js.map +1 -1
- package/dist/services/task/constants.js +14 -1
- package/dist/services/task/constants.js.map +1 -1
- package/dist/services/task/dialer.js +51 -0
- package/dist/services/task/dialer.js.map +1 -1
- package/dist/services/task/types.js +15 -0
- package/dist/services/task/types.js.map +1 -1
- package/dist/types/cc.d.ts +800 -0
- package/dist/types/config.d.ts +66 -0
- package/dist/types/constants.d.ts +50 -0
- package/dist/types/index.d.ts +184 -0
- package/dist/types/logger-proxy.d.ts +71 -0
- package/dist/types/metrics/MetricsManager.d.ts +223 -0
- package/dist/types/metrics/behavioral-events.d.ts +29 -0
- package/dist/types/metrics/constants.d.ts +161 -0
- package/dist/types/services/AddressBook.d.ts +74 -0
- package/dist/types/services/ApiAiAssistant.d.ts +31 -0
- package/dist/types/services/EntryPoint.d.ts +67 -0
- package/dist/types/services/Queue.d.ts +76 -0
- package/dist/types/services/WebCallingService.d.ts +1 -0
- package/dist/types/services/agent/index.d.ts +46 -0
- package/dist/types/services/agent/types.d.ts +413 -0
- package/dist/types/services/config/Util.d.ts +20 -0
- package/dist/types/services/config/constants.d.ts +249 -0
- package/dist/types/services/config/index.d.ts +177 -0
- package/dist/types/services/config/types.d.ts +1207 -0
- package/dist/types/services/constants.d.ts +103 -0
- package/dist/types/services/core/Err.d.ts +121 -0
- package/dist/types/services/core/GlobalTypes.d.ts +58 -0
- package/dist/types/services/core/Utils.d.ts +101 -0
- package/dist/types/services/core/WebexRequest.d.ts +22 -0
- package/dist/types/services/core/aqm-reqs.d.ts +65 -0
- package/dist/types/services/core/constants.d.ts +99 -0
- package/dist/types/services/core/types.d.ts +47 -0
- package/dist/types/services/core/websocket/WebSocketManager.d.ts +34 -0
- package/dist/types/services/core/websocket/connection-service.d.ts +27 -0
- package/dist/types/services/core/websocket/keepalive.worker.d.ts +2 -0
- package/dist/types/services/core/websocket/types.d.ts +37 -0
- package/dist/types/services/index.d.ts +52 -0
- package/dist/types/services/task/AutoWrapup.d.ts +40 -0
- package/dist/types/services/task/TaskManager.d.ts +1 -0
- package/dist/types/services/task/TaskUtils.d.ts +92 -0
- package/dist/types/services/task/constants.d.ts +83 -0
- package/dist/types/services/task/contact.d.ts +69 -0
- package/dist/types/services/task/dialer.d.ts +43 -0
- package/dist/types/services/task/index.d.ts +650 -0
- package/dist/types/services/task/types.d.ts +1319 -0
- package/dist/types/types.d.ts +643 -0
- package/dist/types/utils/PageCache.d.ts +173 -0
- package/dist/types/webex-config.d.ts +53 -0
- package/dist/types/webex.d.ts +7 -0
- package/dist/types.js +14 -1
- package/dist/types.js.map +1 -1
- package/dist/webex.js +1 -1
- package/package.json +9 -9
- package/src/cc.ts +120 -29
- package/src/constants.ts +4 -0
- package/src/index.ts +1 -0
- package/src/metrics/behavioral-events.ts +14 -0
- package/src/metrics/constants.ts +11 -0
- package/src/services/ApiAiAssistant.ts +217 -0
- package/src/services/agent/types.ts +1 -1
- package/src/services/config/Util.ts +8 -0
- package/src/services/config/constants.ts +12 -0
- package/src/services/config/index.ts +45 -1
- package/src/services/config/types.ts +67 -0
- package/src/services/constants.ts +21 -0
- package/src/services/core/Err.ts +1 -0
- package/src/services/core/Utils.ts +32 -5
- package/src/services/core/aqm-reqs.ts +100 -22
- package/src/services/core/websocket/WebSocketManager.ts +12 -0
- package/src/services/task/TaskManager.ts +149 -28
- package/src/services/task/TaskUtils.ts +12 -0
- package/src/services/task/constants.ts +15 -0
- package/src/services/task/dialer.ts +56 -1
- package/src/services/task/types.ts +24 -0
- package/src/types.ts +40 -1
- package/test/unit/spec/cc.ts +92 -22
- package/test/unit/spec/services/ApiAiAssistant.ts +115 -0
- package/test/unit/spec/services/config/index.ts +56 -0
- package/test/unit/spec/services/core/Utils.ts +63 -1
- package/test/unit/spec/services/core/websocket/WebSocketManager.ts +71 -1
- package/test/unit/spec/services/task/TaskManager.ts +1015 -165
- package/test/unit/spec/services/task/dialer.ts +198 -112
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_task","_agent","_AddressBook","_types","_types2","_types3","e","__esModule","default","registerPlugin","ContactCenter","config","_default","exports"],"sources":["index.ts"],"sourcesContent":["import {registerPlugin} from '@webex/webex-core';\nimport config from './config';\nimport ContactCenter from './cc';\n\n/**\n * @module ContactCenterModule\n * /\n\n// Core exports\n/**\n * ContactCenter is the main plugin class for Webex Contact Center integration\n * @category Core\n */\nexport {default as ContactCenter} from './cc';\n\n// Service exports\n/**\n * Task class represents a contact center task that can be managed by an agent\n * @category Services\n */\nexport {default as Task} from './services/task';\n\n/**\n * Agent routing service for Contact Center operations\n * @category Services\n */\nexport {default as routingAgent} from './services/agent';\n\n// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)\nexport {default as AddressBook} from './services/AddressBook';\n\n/** EntryPoint API types */\nexport type {\n EntryPointRecord,\n EntryPointListResponse,\n EntryPointSearchParams,\n AddressBookEntry,\n AddressBookEntriesResponse,\n AddressBookEntrySearchParams,\n ContactServiceQueuesResponse,\n ContactServiceQueueSearchParams,\n ContactServiceQueue,\n} from './types';\n\n// Enums\n/**\n * Task Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {TASK_EVENTS} from './services/task/types';\nexport type {TASK_EVENTS as TaskEvents} from './services/task/types';\n\n/**\n * Agent Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {AGENT_EVENTS} from './services/agent/types';\nexport type {AGENT_EVENTS as AgentEvents} from './services/agent/types';\n\n/**\n * Contact Center Task Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_TASK_EVENTS} from './services/config/types';\n\n/**\n * Contact Center Agent Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_AGENT_EVENTS} from './services/config/types';\n\n/**\n * Combined Contact Center Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_EVENTS} from './services/config/types';\nexport type {CC_EVENTS as ContactCenterEvents} from './services/config/types';\n\n// Interfaces\n/** Main types and interfaces for Contact Center functionality */\nexport type {\n /** Interface for Contact Center plugin */\n IContactCenter,\n /** Configuration options for Contact Center plugin */\n CCPluginConfig,\n /** WebexSDK interface */\n WebexSDK,\n} from './types';\n\n// Types\n/** Agent related types */\nexport type {\n /** Login options for agents */\n LoginOption,\n /** Agent login information */\n AgentLogin,\n /** Agent device update information */\n AgentProfileUpdate,\n /** Station login response */\n StationLoginResponse,\n /** Station logout response */\n StationLogoutResponse,\n /** Buddy agents response */\n BuddyAgentsResponse,\n /** Buddy agents information */\n BuddyAgents,\n /** Subscribe request parameters */\n SubscribeRequest,\n /** Upload logs response */\n UploadLogsResponse,\n /** Update device type response */\n UpdateDeviceTypeResponse,\n /** Generic error interface */\n GenericError,\n /** Set state response */\n SetStateResponse,\n} from './types';\n\n/** Task related types */\nexport type {\n AgentContact,\n /** Task interface */\n ITask,\n Interaction,\n TaskData,\n /** Task response */\n TaskResponse,\n ConsultPayload,\n ConsultEndPayload,\n ConsultTransferPayLoad,\n /** Dialer payload */\n DialerPayload,\n TransferPayLoad,\n ResumeRecordingPayload,\n WrapupPayLoad,\n} from './services/task/types';\n\n/** Agent related types */\nexport type {\n /** State change interface */\n StateChange,\n /** Logout interface */\n Logout,\n /** State change success response */\n StateChangeSuccess,\n /** Station login success response */\n StationLoginSuccess,\n /** Extended station login success response with notification tracking */\n StationLoginSuccessResponse,\n /** Device type update success response */\n DeviceTypeUpdateSuccess,\n /** Agent login success response */\n LogoutSuccess,\n /** Agent relogin success response */\n ReloginSuccess,\n /** Agent state type */\n AgentState,\n /** User station login parameters */\n UserStationLogin,\n /** Device type for agent login */\n DeviceType,\n /** Buddy agent details */\n BuddyDetails,\n /** Buddy agents success response */\n BuddyAgentsSuccess,\n} from './services/agent/types';\n\n/** Config related types */\nexport type {\n /** Profile interface */\n Profile,\n /** Response type from getUserUsingCI method */\n AgentResponse,\n /** Response from getDesktopProfileById */\n DesktopProfileResponse,\n /** Response from getMultimediaProfileById */\n MultimediaProfileResponse,\n /** Response from getListOfTeams */\n ListTeamsResponse,\n /** Response from getListOfAuxCodes */\n ListAuxCodesResponse,\n /** Response from getSiteInfo */\n SiteInfo,\n /** Response from getOrgInfo */\n OrgInfo,\n /** Response from getOrganizationSetting */\n OrgSettings,\n /** Response from getTenantData */\n TenantData,\n /** Response from getURLMapping */\n URLMapping,\n /** Response from getDialPlanData */\n DialPlanEntity,\n /** Auxiliary code information */\n AuxCode,\n /** Team information */\n TeamList,\n /** Wrap-up reason information */\n WrapUpReason,\n /** WebSocket event data */\n WebSocketEvent,\n /** Wrap-up configuration data */\n WrapupData,\n /** Base entity type */\n Entity,\n /** Dial plan configuration */\n DialPlan,\n /** Auxiliary code type (IDLE_CODE or WRAP_UP_CODE) */\n AuxCodeType,\n} from './services/config/types';\n\n// Constants\n/**\n * Idle code constant\n * @constant {string}\n * @category Enums\n */\nexport {IDLE_CODE} from './services/config/types';\n\n/**\n * Wrap up code constant\n * @constant {string}\n * @category Enums\n */\nexport {WRAP_UP_CODE} from './services/config/types';\n\nregisterPlugin('cc', ContactCenter, {\n config,\n});\n\n/** The Contact Center plugin default export */\nexport default ContactCenter;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_config","_interopRequireDefault","_cc","_task","_agent","_AddressBook","_ApiAiAssistant","_types","_types2","_types3","e","__esModule","default","registerPlugin","ContactCenter","config","_default","exports"],"sources":["index.ts"],"sourcesContent":["import {registerPlugin} from '@webex/webex-core';\nimport config from './config';\nimport ContactCenter from './cc';\n\n/**\n * @module ContactCenterModule\n * /\n\n// Core exports\n/**\n * ContactCenter is the main plugin class for Webex Contact Center integration\n * @category Core\n */\nexport {default as ContactCenter} from './cc';\n\n// Service exports\n/**\n * Task class represents a contact center task that can be managed by an agent\n * @category Services\n */\nexport {default as Task} from './services/task';\n\n/**\n * Agent routing service for Contact Center operations\n * @category Services\n */\nexport {default as routingAgent} from './services/agent';\n\n// API exports (AddressBook is public, EntryPoint and Queue are accessed via cc wrappers)\nexport {default as AddressBook} from './services/AddressBook';\nexport {default as ApiAIAssistant} from './services/ApiAiAssistant';\n\n/** EntryPoint API types */\nexport type {\n EntryPointRecord,\n EntryPointListResponse,\n EntryPointSearchParams,\n AddressBookEntry,\n AddressBookEntriesResponse,\n AddressBookEntrySearchParams,\n ContactServiceQueuesResponse,\n ContactServiceQueueSearchParams,\n ContactServiceQueue,\n} from './types';\n\n// Enums\n/**\n * Task Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {TASK_EVENTS} from './services/task/types';\nexport type {TASK_EVENTS as TaskEvents} from './services/task/types';\n\n/**\n * Agent Events for Contact Center operations\n * @enum {string}\n * @category Enums\n */\nexport {AGENT_EVENTS} from './services/agent/types';\nexport type {AGENT_EVENTS as AgentEvents} from './services/agent/types';\n\n/**\n * Contact Center Task Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_TASK_EVENTS} from './services/config/types';\n\n/**\n * Contact Center Agent Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_AGENT_EVENTS} from './services/config/types';\n\n/**\n * Combined Contact Center Events\n * @enum {string}\n * @category Enums\n */\nexport {CC_EVENTS} from './services/config/types';\nexport type {CC_EVENTS as ContactCenterEvents} from './services/config/types';\n\n// Interfaces\n/** Main types and interfaces for Contact Center functionality */\nexport type {\n /** Interface for Contact Center plugin */\n IContactCenter,\n /** Configuration options for Contact Center plugin */\n CCPluginConfig,\n /** WebexSDK interface */\n WebexSDK,\n} from './types';\n\n// Types\n/** Agent related types */\nexport type {\n /** Login options for agents */\n LoginOption,\n /** Agent login information */\n AgentLogin,\n /** Agent device update information */\n AgentProfileUpdate,\n /** Station login response */\n StationLoginResponse,\n /** Station logout response */\n StationLogoutResponse,\n /** Buddy agents response */\n BuddyAgentsResponse,\n /** Buddy agents information */\n BuddyAgents,\n /** Subscribe request parameters */\n SubscribeRequest,\n /** Upload logs response */\n UploadLogsResponse,\n /** Update device type response */\n UpdateDeviceTypeResponse,\n /** Generic error interface */\n GenericError,\n /** Set state response */\n SetStateResponse,\n} from './types';\n\n/** Task related types */\nexport type {\n AgentContact,\n /** Task interface */\n ITask,\n Interaction,\n TaskData,\n /** Task response */\n TaskResponse,\n ConsultPayload,\n ConsultEndPayload,\n ConsultTransferPayLoad,\n /** Dialer payload */\n DialerPayload,\n TransferPayLoad,\n ResumeRecordingPayload,\n WrapupPayLoad,\n} from './services/task/types';\n\n/** Agent related types */\nexport type {\n /** State change interface */\n StateChange,\n /** Logout interface */\n Logout,\n /** State change success response */\n StateChangeSuccess,\n /** Station login success response */\n StationLoginSuccess,\n /** Extended station login success response with notification tracking */\n StationLoginSuccessResponse,\n /** Device type update success response */\n DeviceTypeUpdateSuccess,\n /** Agent login success response */\n LogoutSuccess,\n /** Agent relogin success response */\n ReloginSuccess,\n /** Agent state type */\n AgentState,\n /** User station login parameters */\n UserStationLogin,\n /** Device type for agent login */\n DeviceType,\n /** Buddy agent details */\n BuddyDetails,\n /** Buddy agents success response */\n BuddyAgentsSuccess,\n} from './services/agent/types';\n\n/** Config related types */\nexport type {\n /** Profile interface */\n Profile,\n /** Response type from getUserUsingCI method */\n AgentResponse,\n /** Response from getDesktopProfileById */\n DesktopProfileResponse,\n /** Response from getMultimediaProfileById */\n MultimediaProfileResponse,\n /** Response from getListOfTeams */\n ListTeamsResponse,\n /** Response from getListOfAuxCodes */\n ListAuxCodesResponse,\n /** Response from getSiteInfo */\n SiteInfo,\n /** Response from getOrgInfo */\n OrgInfo,\n /** Response from getOrganizationSetting */\n OrgSettings,\n /** Response from getTenantData */\n TenantData,\n /** Response from getURLMapping */\n URLMapping,\n /** Response from getDialPlanData */\n DialPlanEntity,\n /** Auxiliary code information */\n AuxCode,\n /** Team information */\n TeamList,\n /** Wrap-up reason information */\n WrapUpReason,\n /** WebSocket event data */\n WebSocketEvent,\n /** Wrap-up configuration data */\n WrapupData,\n /** Base entity type */\n Entity,\n /** Dial plan configuration */\n DialPlan,\n /** Auxiliary code type (IDLE_CODE or WRAP_UP_CODE) */\n AuxCodeType,\n} from './services/config/types';\n\n// Constants\n/**\n * Idle code constant\n * @constant {string}\n * @category Enums\n */\nexport {IDLE_CODE} from './services/config/types';\n\n/**\n * Wrap up code constant\n * @constant {string}\n * @category Enums\n */\nexport {WRAP_UP_CODE} from './services/config/types';\n\nregisterPlugin('cc', ContactCenter, {\n config,\n});\n\n/** The Contact Center plugin default export */\nexport default ContactCenter;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAD,sBAAA,CAAAF,OAAA;AAkBA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAMA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AAGA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,eAAA,GAAAL,sBAAA,CAAAF,OAAA;AAqBA,IAAAQ,MAAA,GAAAR,OAAA;AAQA,IAAAS,OAAA,GAAAT,OAAA;AAQA,IAAAU,OAAA,GAAAV,OAAA;AAAuD,SAAAE,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA/DvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;;AAIA;;AAaA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAIA;AACA;;AAUA;AACA;;AA4BA;;AAmBA;;AA8BA;;AA4CA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA,IAAAG,yBAAc,EAAC,IAAI,EAAEC,WAAa,EAAE;EAClCC,MAAM,EAANA;AACF,CAAC,CAAC;;AAEF;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAL,OAAA,GACeE,WAAa","ignoreList":[]}
|
|
@@ -418,6 +418,19 @@ const eventTaxonomyMap = {
|
|
|
418
418
|
agent: 'user',
|
|
419
419
|
target: 'outdial_ani_ep_fetch',
|
|
420
420
|
verb: 'fail'
|
|
421
|
+
},
|
|
422
|
+
// Campaign Preview API Events
|
|
423
|
+
[_constants.METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_SUCCESS]: {
|
|
424
|
+
product,
|
|
425
|
+
agent: 'user',
|
|
426
|
+
target: 'campaign_preview_accept',
|
|
427
|
+
verb: 'complete'
|
|
428
|
+
},
|
|
429
|
+
[_constants.METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_FAILED]: {
|
|
430
|
+
product,
|
|
431
|
+
agent: 'user',
|
|
432
|
+
target: 'campaign_preview_accept',
|
|
433
|
+
verb: 'fail'
|
|
421
434
|
}
|
|
422
435
|
};
|
|
423
436
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","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_OUTDIAL_SUCCESS","TASK_OUTDIAL_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","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","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","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n\n // Outdial ANI API Events\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","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_OUTDIAL_SUCCESS","TASK_OUTDIAL_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","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","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","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_AUTO_ANSWER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_auto_answer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n\n // Outdial ANI API Events\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'fail',\n },\n\n // Campaign Preview API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_accept',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -151,7 +151,15 @@ const METRIC_EVENT_NAMES = exports.METRIC_EVENT_NAMES = {
|
|
|
151
151
|
QUEUE_FETCH_FAILED: 'Queue Fetch Failed',
|
|
152
152
|
// Outdial ANI Entries API Events
|
|
153
153
|
OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',
|
|
154
|
-
OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed'
|
|
154
|
+
OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',
|
|
155
|
+
// Campaign Preview API Events
|
|
156
|
+
CAMPAIGN_PREVIEW_ACCEPT_SUCCESS: 'Campaign Preview Accept Success',
|
|
157
|
+
CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'Campaign Preview Accept Failed',
|
|
158
|
+
// AI Assistant transcript events
|
|
159
|
+
AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',
|
|
160
|
+
AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',
|
|
161
|
+
AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS: 'AI Assistant Fetch Historic Transcripts Success',
|
|
162
|
+
AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed'
|
|
155
163
|
};
|
|
156
164
|
|
|
157
165
|
/**
|
|
@@ -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_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","WEBSOCKET_EVENT_RECEIVED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","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"],"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\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 // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\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} 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_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","WEBSOCKET_EVENT_RECEIVED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","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","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_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\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 // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\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\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_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} 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":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.ApiAIAssistant = void 0;
|
|
7
|
+
var _loggerProxy = _interopRequireDefault(require("../logger-proxy"));
|
|
8
|
+
var _MetricsManager = _interopRequireDefault(require("../metrics/MetricsManager"));
|
|
9
|
+
var _constants = require("../metrics/constants");
|
|
10
|
+
var _constants2 = require("../constants");
|
|
11
|
+
var _types = require("../types");
|
|
12
|
+
var _Utils = require("./core/Utils");
|
|
13
|
+
var _constants3 = require("./constants");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
/**
|
|
16
|
+
* ApiAIAssistant provides AI Assistant APIs for transcript controls.
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
class ApiAIAssistant {
|
|
20
|
+
constructor(webex) {
|
|
21
|
+
this.webex = webex;
|
|
22
|
+
this.metricsManager = _MetricsManager.default.getInstance({
|
|
23
|
+
webex
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
setAIFeatureFlags(aiFeature) {
|
|
27
|
+
this.aiFeature = aiFeature;
|
|
28
|
+
}
|
|
29
|
+
getBaseUrl() {
|
|
30
|
+
const wccApiGatewayUrl = this.webex.internal.services.get(_constants3.WCC_API_GATEWAY) || '';
|
|
31
|
+
if (!wccApiGatewayUrl) {
|
|
32
|
+
const {
|
|
33
|
+
error: detailedError
|
|
34
|
+
} = (0, _Utils.getErrorDetails)(new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'), _constants2.METHODS.GET_BASE_URL, _constants2.CC_FILE);
|
|
35
|
+
throw detailedError;
|
|
36
|
+
}
|
|
37
|
+
let hostname = '';
|
|
38
|
+
try {
|
|
39
|
+
hostname = new URL(wccApiGatewayUrl).hostname.toLowerCase();
|
|
40
|
+
} catch (error) {
|
|
41
|
+
hostname = wccApiGatewayUrl.toLowerCase();
|
|
42
|
+
}
|
|
43
|
+
const resolvedEnv = _constants3.AI_ASSISTANT_ENV_MAP[hostname];
|
|
44
|
+
if (!resolvedEnv) {
|
|
45
|
+
const {
|
|
46
|
+
error: detailedError
|
|
47
|
+
} = (0, _Utils.getErrorDetails)(new Error('AI_ASSISTANT_BASE_URL_NOT_AVAILABLE'), _constants2.METHODS.GET_BASE_URL, _constants2.CC_FILE);
|
|
48
|
+
throw detailedError;
|
|
49
|
+
}
|
|
50
|
+
return _constants3.AI_ASSISTANT_BASE_URL_TEMPLATE.replace('%s', resolvedEnv);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Sends an event to the AI Assistant service.
|
|
55
|
+
* @param agentId - agent identifier
|
|
56
|
+
* @param interactionId - interaction/conversation identifier
|
|
57
|
+
* @param eventType - the type of event (e.g. 'CUSTOM_EVENT')
|
|
58
|
+
* @param eventName - the name of the event (e.g. 'GET_TRANSCRIPTS')
|
|
59
|
+
* @param action - action within eventDetails (e.g. 'START' or 'STOP')
|
|
60
|
+
*/
|
|
61
|
+
async sendEvent(agentId, interactionId, eventType, eventName, action) {
|
|
62
|
+
_loggerProxy.default.info('Sending event', {
|
|
63
|
+
module: _constants2.CC_FILE,
|
|
64
|
+
method: _constants2.METHODS.SEND_EVENT,
|
|
65
|
+
interactionId,
|
|
66
|
+
data: {
|
|
67
|
+
eventType,
|
|
68
|
+
eventName,
|
|
69
|
+
action
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS, _constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED]);
|
|
73
|
+
try {
|
|
74
|
+
const baseUrl = this.getBaseUrl();
|
|
75
|
+
const orgId = this.webex.credentials.getOrgId();
|
|
76
|
+
const response = await this.webex.request({
|
|
77
|
+
uri: `${baseUrl}${_constants3.AI_ASSISTANT_API_URLS.EVENT}`,
|
|
78
|
+
method: _types.HTTP_METHODS.POST,
|
|
79
|
+
addAuthHeader: true,
|
|
80
|
+
body: {
|
|
81
|
+
agentId,
|
|
82
|
+
orgId,
|
|
83
|
+
eventType,
|
|
84
|
+
eventName,
|
|
85
|
+
eventDetails: {
|
|
86
|
+
data: {
|
|
87
|
+
interactionId,
|
|
88
|
+
action,
|
|
89
|
+
actionTimeStamp: String(Date.now())
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_SUCCESS, {
|
|
95
|
+
agentId,
|
|
96
|
+
orgId,
|
|
97
|
+
interactionId,
|
|
98
|
+
eventType,
|
|
99
|
+
eventName,
|
|
100
|
+
action
|
|
101
|
+
}, ['operational']);
|
|
102
|
+
return response?.body || {};
|
|
103
|
+
} catch (error) {
|
|
104
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_SEND_EVENT_FAILED, {
|
|
105
|
+
interactionId,
|
|
106
|
+
eventType,
|
|
107
|
+
eventName,
|
|
108
|
+
action,
|
|
109
|
+
error: error instanceof Error ? error.message : String(error)
|
|
110
|
+
}, ['operational']);
|
|
111
|
+
const {
|
|
112
|
+
error: detailedError
|
|
113
|
+
} = (0, _Utils.getErrorDetails)(error, _constants2.METHODS.SEND_EVENT, _constants2.CC_FILE);
|
|
114
|
+
throw detailedError;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Fetches historic transcripts for an interaction.
|
|
120
|
+
* This API is allowed only when real-time transcription feature is enabled.
|
|
121
|
+
*
|
|
122
|
+
* @param interactionId - interaction/conversation identifier
|
|
123
|
+
*/
|
|
124
|
+
async fetchHistoricTranscripts(agentId, interactionId) {
|
|
125
|
+
_loggerProxy.default.info('Fetching historic transcripts', {
|
|
126
|
+
module: _constants2.CC_FILE,
|
|
127
|
+
method: _constants2.METHODS.FETCH_HISTORIC_TRANSCRIPTS,
|
|
128
|
+
interactionId
|
|
129
|
+
});
|
|
130
|
+
this.metricsManager.timeEvent([_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS, _constants.METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED]);
|
|
131
|
+
if (!this.aiFeature?.realtimeTranscripts?.enable) {
|
|
132
|
+
const {
|
|
133
|
+
error: detailedError
|
|
134
|
+
} = (0, _Utils.getErrorDetails)(new Error('REAL_TIME_TRANSCRIPTION_NOT_ENABLED'), _constants2.METHODS.FETCH_HISTORIC_TRANSCRIPTS, _constants2.CC_FILE);
|
|
135
|
+
throw detailedError;
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const baseUrl = this.getBaseUrl();
|
|
139
|
+
const orgId = this.webex.credentials.getOrgId();
|
|
140
|
+
const response = await this.webex.request({
|
|
141
|
+
uri: `${baseUrl}${_constants3.AI_ASSISTANT_API_URLS.TRANSCRIPTS_LIST}`,
|
|
142
|
+
method: _types.HTTP_METHODS.POST,
|
|
143
|
+
addAuthHeader: true,
|
|
144
|
+
body: {
|
|
145
|
+
agentId,
|
|
146
|
+
orgId,
|
|
147
|
+
interactionId
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS, {
|
|
151
|
+
agentId,
|
|
152
|
+
orgId,
|
|
153
|
+
interactionId
|
|
154
|
+
}, ['operational']);
|
|
155
|
+
return response.body;
|
|
156
|
+
} catch (error) {
|
|
157
|
+
this.metricsManager.trackEvent(_constants.METRIC_EVENT_NAMES.AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED, {
|
|
158
|
+
interactionId,
|
|
159
|
+
error: error instanceof Error ? error.message : String(error)
|
|
160
|
+
}, ['operational']);
|
|
161
|
+
if (error instanceof Error) {
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
const {
|
|
165
|
+
error: detailedError
|
|
166
|
+
} = (0, _Utils.getErrorDetails)(error, _constants2.METHODS.FETCH_HISTORIC_TRANSCRIPTS, _constants2.CC_FILE);
|
|
167
|
+
throw detailedError;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.ApiAIAssistant = ApiAIAssistant;
|
|
172
|
+
var _default = exports.default = ApiAIAssistant;
|
|
173
|
+
//# sourceMappingURL=ApiAiAssistant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_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","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","fetchHistoricTranscripts","FETCH_HISTORIC_TRANSCRIPTS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","realtimeTranscripts","enable","TRANSCRIPTS_LIST","exports","_default"],"sources":["ApiAiAssistant.ts"],"sourcesContent":["import 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} 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 public 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 ): 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},\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 actionTimeStamp: String(Date.now()),\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 * 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 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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AGENT_EVENTS","exports"],"sources":["types.ts"],"sourcesContent":["import {Msg} from '../core/GlobalTypes';\n\n/**\n * Response type received when an agent successfully logs out from the system\n * @public\n * @remarks\n * This type represents the response message sent by the server when an agent\n * successfully logs out. It includes essential details about the logout action\n * and the agent's final state.\n */\nexport type LogoutSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the logout request */\n trackingId: string;\n /** Current session ID of the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Current status of the agent (e.g., 'LoggedOut') */\n status: string;\n /** Detailed status information */\n subStatus: string;\n /** Identity of who initiated the logout if not the agent themselves */\n loggedOutBy?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Type identifier for logout success event */\n type: 'AgentLogoutSuccess';\n}>;\n\n/**\n * Response type received when an agent successfully relogins to the system\n * @public\n * @remarks\n * Represents the response message when an agent successfully re-authenticates.\n * Contains comprehensive information about the agent's new session, including\n * their state, assigned channels, and device information.\n */\nexport type ReloginSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the relogin request */\n trackingId: string;\n /** Auxiliary code ID for the agent's initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Directory number assigned to the agent */\n dn: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Indicates if login is via extension */\n isExtension: boolean;\n /** Current login status */\n status: 'LoggedIn';\n /** Current sub-status */\n subStatus: 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Reason for the last state change */\n lastStateChangeReason?: string;\n /** Type of agent profile */\n profileType: string;\n /** Map of channel types to channel IDs */\n channelsMap: Record<string, string[]>;\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Type of device being used */\n deviceType?: DeviceType;\n /** Unique identifier of the device */\n deviceId?: string | null;\n /** Flag indicating if emergency modal was shown */\n isEmergencyModalAlreadyDisplayed?: boolean;\n /** Type identifier for relogin success event */\n type: 'AgentReloginSuccess';\n}>;\n\n/**\n * Response type received when an agent's state is successfully changed\n * @public\n * @remarks\n * Contains information about the agent's new state, including who initiated\n * the change and timestamps for tracking state transitions.\n */\nexport type StateChangeSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the state change request */\n trackingId: string;\n /** Auxiliary code ID associated with the new state */\n auxCodeId: string;\n /** Current session ID of the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Current status of the agent */\n status: string;\n /** Detailed status indicating availability */\n subStatus: 'Available' | 'Idle';\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of current state change */\n lastStateChangeTimestamp: number;\n /** Type identifier for state change success event */\n type: 'AgentStateChangeSuccess';\n /** Identity of who initiated the state change */\n changedBy: string | null;\n /** ID of the user who initiated the change */\n changedById: string | null;\n /** Name of the user who initiated the change */\n changedByName: string | null;\n /** Reason for the state change */\n lastStateChangeReason: string;\n}>;\n\n/**\n * Response type received when an agent successfully logs into their station\n * @public\n * @remarks\n * Represents the success response when an agent logs into their workstation.\n * Includes details about the agent's initial state, assigned teams, and channels.\n */\nexport type StationLoginSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the station login request */\n trackingId: string;\n /** Auxiliary code ID for initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Current login status */\n status: string;\n /** Current availability status */\n subStatus: 'Available' | 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Type of agent profile */\n profileType: string;\n /** Map of channel types to channel IDs */\n channelsMap: Record<string, string[]>;\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Session ID of the supervising agent if applicable */\n supervisorSessionId?: string;\n /** Type identifier for station login success event */\n type: 'AgentStationLoginSuccess';\n}>;\n\n/**\n * Extended response type for station login success that includes notification tracking\n * @public\n * @remarks\n * Similar to StationLoginSuccess but includes additional fields for notification\n * tracking and multimedia profile settings.\n */\nexport type StationLoginSuccessResponse = {\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the station login request */\n trackingId: string;\n /** Auxiliary code ID for initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Current login status */\n status: string;\n /** Current availability status */\n subStatus: 'Available' | 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Type of agent profile */\n profileType: string;\n /** Multimedia profile capacity settings */\n mmProfile: {\n /** Maximum concurrent chat capacity */\n chat: number;\n /** Maximum concurrent email capacity */\n email: number;\n /** Maximum concurrent social media capacity */\n social: number;\n /** Maximum concurrent voice call capacity */\n telephony: number;\n };\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Session ID of the supervising agent if applicable */\n supervisorSessionId?: string;\n /** Type identifier for station login success event */\n type: 'AgentStationLoginSuccess';\n /** Tracking ID for notifications */\n notifsTrackingId: string;\n};\n\n/**\n * Extended response type for agent device type update success\n * @public\n * @remarks\n * Represents the response when an agent's device type is successfully updated.\n * Contains all the details of the agent's session and device configuration.\n */\nexport type DeviceTypeUpdateSuccess = Omit<StationLoginSuccessResponse, 'type'> & {\n type: 'AgentDeviceTypeUpdateSuccess';\n};\n/**\n * Parameters required for initiating an agent logout\n * @public\n * @remarks\n * Defines the parameters that can be provided when logging out an agent,\n * including the reason for logout which helps with reporting and auditing.\n */\nexport type Logout = {\n /** Reason for the logout action */\n logoutReason?:\n | 'User requested logout'\n | 'Inactivity Logout'\n | 'User requested agent device change';\n};\n\n/**\n * Represents the possible states an agent can be in\n * @public\n * @remarks\n * Defines the various states an agent can transition between during their session.\n * Common states include 'Available' (ready to handle interactions), 'Idle' (on break\n * or not ready), and 'RONA' (Response on No Answer).\n */\nexport type AgentState = 'Available' | 'Idle' | 'RONA' | string;\n\n/**\n * Parameters required for changing an agent's state\n * @public\n * @remarks\n * Defines the necessary information for transitioning an agent from one state to another.\n */\nexport type StateChange = {\n /** New state to transition the agent to */\n state: AgentState;\n /** Auxiliary code ID associated with the state change */\n auxCodeId: string;\n /** Reason for the state change */\n lastStateChangeReason?: string;\n /** ID of the agent whose state is being changed */\n agentId?: string;\n};\n\n/**\n * Parameters required for agent station login\n * @public\n * @remarks\n * Contains all the necessary information for logging an agent into their workstation,\n * including team assignments, roles, and device configurations.\n */\nexport type UserStationLogin = {\n /** Phone number for dialing */\n dialNumber?: string | null;\n /** Directory number */\n dn?: string | null;\n /** ID of the team the agent belongs to */\n teamId: string | null;\n /** Name of the team */\n teamName: string | null;\n /** List of roles assigned to the agent */\n roles?: Array<string>;\n /** ID of the site where the agent is located */\n siteId: string;\n /** Indicates if agent uses a different DN than their assigned one */\n usesOtherDN: boolean;\n /** ID of the agent's skill profile */\n skillProfileId?: string;\n /** ID of the initial auxiliary state code */\n auxCodeId: string;\n /** Indicates if login is via extension */\n isExtension?: boolean;\n /** Type of device being used */\n deviceType?: DeviceType;\n /** Unique identifier of the device */\n deviceId?: string | null;\n /** Flag indicating if emergency modal was shown */\n isEmergencyModalAlreadyDisplayed?: boolean;\n};\n\n/**\n * Available options for agent login methods\n * @public\n * @remarks\n * Defines the supported methods for agent login:\n * - AGENT_DN: Login using agent's direct number\n * - EXTENSION: Login using extension number\n * - BROWSER: Browser-based login\n */\nexport type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';\n\n/**\n * Type of device used for agent login\n * @public\n * @remarks\n * Represents the type of device being used for login. Can be one of the standard\n * LoginOptions or a custom device type string.\n */\nexport type DeviceType = LoginOption | string;\n\n/**\n * Parameters for retrieving buddy agent information\n * @public\n * @remarks\n * Defines the criteria for fetching information about other agents (buddies)\n * in the system, allowing filtering by profile, media type, and state.\n */\nexport type BuddyAgents = {\n agentProfileId: string;\n mediaType: string;\n /** Filter for agent state eg : Available | Idle */\n state?: string;\n};\n\n/**\n * Detailed information about a buddy agent\n * @public\n * @remarks\n * Contains comprehensive information about a buddy agent including their\n * current state, assignments, and contact information.\n */\nexport type BuddyDetails = {\n agentId: string;\n state: string;\n teamId: string;\n dn: string;\n agentName: string;\n siteId: string;\n};\n\n/**\n * Response type received when successfully retrieving buddy agent information\n * @public\n * @remarks\n * Contains the list of buddy agents and their details returned from a buddy\n * agent lookup request. Used for monitoring team member statuses and availability.\n */\nexport type BuddyAgentsSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the requesting agent */\n agentId: string;\n /** Tracking ID for the buddy list request */\n trackingId: string;\n /** Current session ID of the requesting agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Type identifier for buddy agents response */\n type: 'BuddyAgents';\n /** List of buddy agents and their details */\n agentList: Array<BuddyDetails>;\n}>;\n\n/**\n * Events emitted by the agent service for various state changes and actions\n * @public\n * @remarks\n * Enumeration of all possible events that can be emitted by the agent service.\n * These events can be used to track and respond to changes in agent state,\n * login status, and other important agent-related activities.\n */\nexport enum AGENT_EVENTS {\n /** Emitted when an agent's state changes (e.g., Available to Idle) */\n AGENT_STATE_CHANGE = 'agent:stateChange',\n\n /** Emitted when multiple logins are detected for the same agent */\n AGENT_MULTI_LOGIN = 'agent:multiLogin',\n\n /** Emitted when an agent successfully logs into their station */\n AGENT_STATION_LOGIN_SUCCESS = 'agent:stationLoginSuccess',\n\n /** Emitted when station login attempt fails */\n AGENT_STATION_LOGIN_FAILED = 'agent:stationLoginFailed',\n\n /** Emitted when an agent successfully logs out */\n AGENT_LOGOUT_SUCCESS = 'agent:logoutSuccess',\n\n /** Emitted when logout attempt fails */\n AGENT_LOGOUT_FAILED = 'agent:logoutFailed',\n\n /** Emitted when an agent's directory number is successfully registered */\n AGENT_DN_REGISTERED = 'agent:dnRegistered',\n\n /** Emitted when an agent successfully re-authenticates */\n AGENT_RELOGIN_SUCCESS = 'agent:reloginSuccess',\n\n /** Emitted when agent state change is successful */\n AGENT_STATE_CHANGE_SUCCESS = 'agent:stateChangeSuccess',\n\n /** Emitted when agent state change attempt fails */\n AGENT_STATE_CHANGE_FAILED = 'agent:stateChangeFailed',\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EACtB;EADUA,YAAY;EAItB;EAJUA,YAAY;EAOtB;EAPUA,YAAY;EAUtB;EAVUA,YAAY;EAatB;EAbUA,YAAY;EAgBtB;EAhBUA,YAAY;EAmBtB;EAnBUA,YAAY;EAsBtB;EAtBUA,YAAY;EAyBtB;EAzBUA,YAAY;EA4BtB;EA5BUA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AGENT_EVENTS","exports"],"sources":["types.ts"],"sourcesContent":["import {Msg} from '../core/GlobalTypes';\n\n/**\n * Response type received when an agent successfully logs out from the system\n * @public\n * @remarks\n * This type represents the response message sent by the server when an agent\n * successfully logs out. It includes essential details about the logout action\n * and the agent's final state.\n */\nexport type LogoutSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the logout request */\n trackingId: string;\n /** Current session ID of the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Current status of the agent (e.g., 'LoggedOut') */\n status: string;\n /** Detailed status information */\n subStatus: string;\n /** Identity of who initiated the logout if not the agent themselves */\n loggedOutBy?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Type identifier for logout success event */\n type: 'AgentLogoutSuccess';\n}>;\n\n/**\n * Response type received when an agent successfully relogins to the system\n * @public\n * @remarks\n * Represents the response message when an agent successfully re-authenticates.\n * Contains comprehensive information about the agent's new session, including\n * their state, assigned channels, and device information.\n */\nexport type ReloginSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the relogin request */\n trackingId: string;\n /** Auxiliary code ID for the agent's initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Directory number assigned to the agent */\n dn: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Indicates if login is via extension */\n isExtension: boolean;\n /** Current login status */\n status: 'LoggedIn';\n /** Current sub-status */\n subStatus: 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Reason for the last state change */\n lastStateChangeReason?: string;\n /** Type of agent profile */\n profileType: string;\n /** Map of channel types to channel IDs */\n channelsMap: Record<string, string[]>;\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Type of device being used */\n deviceType?: DeviceType;\n /** Unique identifier of the device */\n deviceId?: string | null;\n /** Flag indicating if emergency modal was shown */\n isEmergencyModalAlreadyDisplayed?: boolean;\n /** Type identifier for relogin success event */\n type: 'AgentReloginSuccess';\n}>;\n\n/**\n * Response type received when an agent's state is successfully changed\n * @public\n * @remarks\n * Contains information about the agent's new state, including who initiated\n * the change and timestamps for tracking state transitions.\n */\nexport type StateChangeSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the state change request */\n trackingId: string;\n /** Auxiliary code ID associated with the new state */\n auxCodeId: string;\n /** Current session ID of the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Current status of the agent */\n status: string;\n /** Detailed status indicating availability */\n subStatus: 'Available' | 'Idle';\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of current state change */\n lastStateChangeTimestamp: number;\n /** Type identifier for state change success event */\n type: 'AgentStateChangeSuccess';\n /** Identity of who initiated the state change */\n changedBy: string | null;\n /** ID of the user who initiated the change */\n changedById: string | null;\n /** Name of the user who initiated the change */\n changedByName: string | null;\n /** Reason for the state change */\n lastStateChangeReason: string;\n}>;\n\n/**\n * Response type received when an agent successfully logs into their station\n * @public\n * @remarks\n * Represents the success response when an agent logs into their workstation.\n * Includes details about the agent's initial state, assigned teams, and channels.\n */\nexport type StationLoginSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the station login request */\n trackingId: string;\n /** Auxiliary code ID for initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Current login status */\n status: string;\n /** Current availability status */\n subStatus: 'Available' | 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Type of agent profile */\n profileType: string;\n /** Map of channel types to channel IDs */\n channelsMap: Record<string, string[]>;\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Session ID of the supervising agent if applicable */\n supervisorSessionId?: string;\n /** Type identifier for station login success event */\n type: 'AgentStationLoginSuccess';\n}>;\n\n/**\n * Extended response type for station login success that includes notification tracking\n * @public\n * @remarks\n * Similar to StationLoginSuccess but includes additional fields for notification\n * tracking and multimedia profile settings.\n */\nexport type StationLoginSuccessResponse = {\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the agent */\n agentId: string;\n /** Tracking ID for the station login request */\n trackingId: string;\n /** Auxiliary code ID for initial state */\n auxCodeId: string;\n /** ID of the team the agent belongs to */\n teamId: string;\n /** New session ID assigned to the agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** List of active interaction IDs */\n interactionIds: string[];\n /** Current login status */\n status: string;\n /** Current availability status */\n subStatus: 'Available' | 'Idle';\n /** ID of the site where the agent is located */\n siteId: string;\n /** Timestamp of last idle code change */\n lastIdleCodeChangeTimestamp: number;\n /** Timestamp of last state change */\n lastStateChangeTimestamp: number;\n /** Type of agent profile */\n profileType: string;\n /** Multimedia profile capacity settings */\n mmProfile: {\n /** Maximum concurrent chat capacity */\n chat: number;\n /** Maximum concurrent email capacity */\n email: number;\n /** Maximum concurrent social media capacity */\n social: number;\n /** Maximum concurrent voice call capacity */\n telephony: number;\n };\n /** Phone number for dialing */\n dialNumber?: string;\n /** List of roles assigned to the agent */\n roles?: string[];\n /** Session ID of the supervising agent if applicable */\n supervisorSessionId?: string;\n /** Type identifier for station login success event */\n type: 'AgentStationLoginSuccess';\n /** Tracking ID for notifications */\n notifsTrackingId: string;\n};\n\n/**\n * Extended response type for agent device type update success\n * @public\n * @remarks\n * Represents the response when an agent's device type is successfully updated.\n * Contains all the details of the agent's session and device configuration.\n */\nexport type DeviceTypeUpdateSuccess = Omit<StationLoginSuccessResponse, 'type'> & {\n type: 'AgentDeviceTypeUpdateSuccess';\n};\n/**\n * Parameters required for initiating an agent logout\n * @public\n * @remarks\n * Defines the parameters that can be provided when logging out an agent,\n * including the reason for logout which helps with reporting and auditing.\n */\nexport type Logout = {\n /** Reason for the logout action */\n logoutReason?:\n | 'User requested logout'\n | 'Inactivity Logout'\n | 'User requested agent profile update';\n};\n\n/**\n * Represents the possible states an agent can be in\n * @public\n * @remarks\n * Defines the various states an agent can transition between during their session.\n * Common states include 'Available' (ready to handle interactions), 'Idle' (on break\n * or not ready), and 'RONA' (Response on No Answer).\n */\nexport type AgentState = 'Available' | 'Idle' | 'RONA' | string;\n\n/**\n * Parameters required for changing an agent's state\n * @public\n * @remarks\n * Defines the necessary information for transitioning an agent from one state to another.\n */\nexport type StateChange = {\n /** New state to transition the agent to */\n state: AgentState;\n /** Auxiliary code ID associated with the state change */\n auxCodeId: string;\n /** Reason for the state change */\n lastStateChangeReason?: string;\n /** ID of the agent whose state is being changed */\n agentId?: string;\n};\n\n/**\n * Parameters required for agent station login\n * @public\n * @remarks\n * Contains all the necessary information for logging an agent into their workstation,\n * including team assignments, roles, and device configurations.\n */\nexport type UserStationLogin = {\n /** Phone number for dialing */\n dialNumber?: string | null;\n /** Directory number */\n dn?: string | null;\n /** ID of the team the agent belongs to */\n teamId: string | null;\n /** Name of the team */\n teamName: string | null;\n /** List of roles assigned to the agent */\n roles?: Array<string>;\n /** ID of the site where the agent is located */\n siteId: string;\n /** Indicates if agent uses a different DN than their assigned one */\n usesOtherDN: boolean;\n /** ID of the agent's skill profile */\n skillProfileId?: string;\n /** ID of the initial auxiliary state code */\n auxCodeId: string;\n /** Indicates if login is via extension */\n isExtension?: boolean;\n /** Type of device being used */\n deviceType?: DeviceType;\n /** Unique identifier of the device */\n deviceId?: string | null;\n /** Flag indicating if emergency modal was shown */\n isEmergencyModalAlreadyDisplayed?: boolean;\n};\n\n/**\n * Available options for agent login methods\n * @public\n * @remarks\n * Defines the supported methods for agent login:\n * - AGENT_DN: Login using agent's direct number\n * - EXTENSION: Login using extension number\n * - BROWSER: Browser-based login\n */\nexport type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';\n\n/**\n * Type of device used for agent login\n * @public\n * @remarks\n * Represents the type of device being used for login. Can be one of the standard\n * LoginOptions or a custom device type string.\n */\nexport type DeviceType = LoginOption | string;\n\n/**\n * Parameters for retrieving buddy agent information\n * @public\n * @remarks\n * Defines the criteria for fetching information about other agents (buddies)\n * in the system, allowing filtering by profile, media type, and state.\n */\nexport type BuddyAgents = {\n agentProfileId: string;\n mediaType: string;\n /** Filter for agent state eg : Available | Idle */\n state?: string;\n};\n\n/**\n * Detailed information about a buddy agent\n * @public\n * @remarks\n * Contains comprehensive information about a buddy agent including their\n * current state, assignments, and contact information.\n */\nexport type BuddyDetails = {\n agentId: string;\n state: string;\n teamId: string;\n dn: string;\n agentName: string;\n siteId: string;\n};\n\n/**\n * Response type received when successfully retrieving buddy agent information\n * @public\n * @remarks\n * Contains the list of buddy agents and their details returned from a buddy\n * agent lookup request. Used for monitoring team member statuses and availability.\n */\nexport type BuddyAgentsSuccess = Msg<{\n /** Message type identifier for agent desktop events */\n eventType: 'AgentDesktopMessage';\n /** Unique identifier of the requesting agent */\n agentId: string;\n /** Tracking ID for the buddy list request */\n trackingId: string;\n /** Current session ID of the requesting agent */\n agentSessionId: string;\n /** Organization ID the agent belongs to */\n orgId: string;\n /** Type identifier for buddy agents response */\n type: 'BuddyAgents';\n /** List of buddy agents and their details */\n agentList: Array<BuddyDetails>;\n}>;\n\n/**\n * Events emitted by the agent service for various state changes and actions\n * @public\n * @remarks\n * Enumeration of all possible events that can be emitted by the agent service.\n * These events can be used to track and respond to changes in agent state,\n * login status, and other important agent-related activities.\n */\nexport enum AGENT_EVENTS {\n /** Emitted when an agent's state changes (e.g., Available to Idle) */\n AGENT_STATE_CHANGE = 'agent:stateChange',\n\n /** Emitted when multiple logins are detected for the same agent */\n AGENT_MULTI_LOGIN = 'agent:multiLogin',\n\n /** Emitted when an agent successfully logs into their station */\n AGENT_STATION_LOGIN_SUCCESS = 'agent:stationLoginSuccess',\n\n /** Emitted when station login attempt fails */\n AGENT_STATION_LOGIN_FAILED = 'agent:stationLoginFailed',\n\n /** Emitted when an agent successfully logs out */\n AGENT_LOGOUT_SUCCESS = 'agent:logoutSuccess',\n\n /** Emitted when logout attempt fails */\n AGENT_LOGOUT_FAILED = 'agent:logoutFailed',\n\n /** Emitted when an agent's directory number is successfully registered */\n AGENT_DN_REGISTERED = 'agent:dnRegistered',\n\n /** Emitted when an agent successfully re-authenticates */\n AGENT_RELOGIN_SUCCESS = 'agent:reloginSuccess',\n\n /** Emitted when agent state change is successful */\n AGENT_STATE_CHANGE_SUCCESS = 'agent:stateChangeSuccess',\n\n /** Emitted when agent state change attempt fails */\n AGENT_STATE_CHANGE_FAILED = 'agent:stateChangeFailed',\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EACtB;EADUA,YAAY;EAItB;EAJUA,YAAY;EAOtB;EAPUA,YAAY;EAUtB;EAVUA,YAAY;EAatB;EAbUA,YAAY;EAgBtB;EAhBUA,YAAY;EAmBtB;EAnBUA,YAAY;EAsBtB;EAtBUA,YAAY;EAyBtB;EAzBUA,YAAY;EA4BtB;EA5BUA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -118,7 +118,8 @@ function parseAgentConfigs(profileData) {
|
|
|
118
118
|
orgSettingsData,
|
|
119
119
|
agentProfileData,
|
|
120
120
|
dialPlanData,
|
|
121
|
-
urlMapping
|
|
121
|
+
urlMapping,
|
|
122
|
+
aiFeatureFlags
|
|
122
123
|
} = profileData;
|
|
123
124
|
const tenantDataTimeout = tenantData.timeoutDesktopInactivityEnabled ? tenantData.timeoutDesktopInactivityMins : null;
|
|
124
125
|
const inactivityTimeoutTimer = agentProfileData.timeoutDesktopInactivityCustomEnabled ? agentProfileData.timeoutDesktopInactivityMins : tenantDataTimeout;
|
|
@@ -132,6 +133,7 @@ function parseAgentConfigs(profileData) {
|
|
|
132
133
|
}); // pushing available state to idle codes
|
|
133
134
|
|
|
134
135
|
const defaultWrapUpData = getDefaultWrapUpCode(wrapupCodes);
|
|
136
|
+
const aiFeature = aiFeatureFlags?.data && aiFeatureFlags.data.length > 0 ? aiFeatureFlags.data[0] : undefined;
|
|
135
137
|
const finalData = {
|
|
136
138
|
teams: teamData,
|
|
137
139
|
defaultDn: userData.defaultDialledNumber,
|
|
@@ -153,6 +155,7 @@ function parseAgentConfigs(profileData) {
|
|
|
153
155
|
siteId: userData.siteId,
|
|
154
156
|
enterpriseId: orgInfoData.tenantId,
|
|
155
157
|
tenantTimezone: orgInfoData.timezone,
|
|
158
|
+
environment: orgInfoData.environment,
|
|
156
159
|
privacyShieldVisible: tenantData.privacyShieldVisible,
|
|
157
160
|
organizationIdleCodes: [],
|
|
158
161
|
// TODO: for supervisor, getOrgFilteredIdleCodes(auxCodes, false),
|
|
@@ -196,7 +199,8 @@ function parseAgentConfigs(profileData) {
|
|
|
196
199
|
maskSensitiveData: orgSettingsData.maskSensitiveData ? orgSettingsData.maskSensitiveData : false,
|
|
197
200
|
microsoftConfig: getMsftConfig(agentProfileData),
|
|
198
201
|
webexConfig: getWebexConfig(agentProfileData),
|
|
199
|
-
lostConnectionRecoveryTimeout: tenantData.lostConnectionRecoveryTimeout || _constants.LOST_CONNECTION_RECOVERY_TIMEOUT
|
|
202
|
+
lostConnectionRecoveryTimeout: tenantData.lostConnectionRecoveryTimeout || _constants.LOST_CONNECTION_RECOVERY_TIMEOUT,
|
|
203
|
+
aiFeature
|
|
200
204
|
};
|
|
201
205
|
return finalData;
|
|
202
206
|
}
|