@webex/contact-center 3.12.0-llmrefactor.13 → 3.12.0-llmrefactor.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.sdd/manifest.json +3 -2
- package/ai-docs/CONTRACTS.md +7 -1
- package/ai-docs/contact-center-spec.md +7 -7
- package/ai-docs/features/contact-owner-change-refactor.md +78 -0
- package/dist/cc.js +39 -7
- package/dist/cc.js.map +1 -1
- package/dist/metrics/behavioral-events.js +6 -0
- package/dist/metrics/behavioral-events.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/AnswerCallOnWebexService.js +4 -4
- package/dist/services/AnswerCallOnWebexService.js.map +1 -1
- package/dist/services/WebexCrossClientService.js +5 -2
- package/dist/services/WebexCrossClientService.js.map +1 -1
- package/dist/services/WxAppTelephonyMercurySync.js +6 -3
- package/dist/services/WxAppTelephonyMercurySync.js.map +1 -1
- package/dist/services/config/types.js.map +1 -1
- package/dist/services/task/TaskFactory.js +1 -0
- package/dist/services/task/TaskFactory.js.map +1 -1
- package/dist/services/task/TaskManager.js +50 -58
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/services/task/types.js.map +1 -1
- package/dist/services/task/voice/Voice.js +63 -44
- package/dist/services/task/voice/Voice.js.map +1 -1
- package/dist/services/task/voice/wxAppOfferObservability.js +145 -0
- package/dist/services/task/voice/wxAppOfferObservability.js.map +1 -0
- package/dist/services/task/voice/wxAppVoiceMethods.js +52 -11
- package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -1
- package/dist/services/wxAppDiagnosticLogging.js +50 -13
- package/dist/services/wxAppDiagnosticLogging.js.map +1 -1
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/services/config/types.d.ts +2 -0
- package/dist/types/services/task/types.d.ts +2 -0
- package/dist/types/services/task/voice/Voice.d.ts +15 -2
- package/dist/types/services/task/voice/wxAppOfferObservability.d.ts +39 -0
- package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +19 -6
- package/dist/types/services/wxAppDiagnosticLogging.d.ts +12 -0
- package/dist/types.js.map +1 -1
- package/dist/webex.js +1 -1
- package/package.json +2 -2
- package/src/cc.ts +43 -7
- package/src/metrics/ai-docs/metrics-spec.md +44 -2
- package/src/metrics/behavioral-events.ts +6 -0
- package/src/metrics/constants.ts +1 -0
- package/src/services/AnswerCallOnWebexService.ts +4 -4
- package/src/services/WebexCrossClientService.ts +7 -2
- package/src/services/WxAppTelephonyMercurySync.ts +3 -3
- package/src/services/config/types.ts +2 -0
- package/src/services/task/TaskFactory.ts +1 -0
- package/src/services/task/TaskManager.ts +85 -87
- package/src/services/task/ai-docs/task-spec.md +7 -3
- package/src/services/task/types.ts +16 -0
- package/src/services/task/voice/Voice.ts +74 -52
- package/src/services/task/voice/wxAppOfferObservability.ts +204 -0
- package/src/services/task/voice/wxAppVoiceMethods.ts +83 -24
- package/src/services/wxAppDiagnosticLogging.ts +135 -23
- package/src/types.ts +2 -0
- package/test/unit/spec/cc.ts +201 -19
- package/test/unit/spec/services/WebexCrossClientService.ts +45 -3
- package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +1 -1
- package/test/unit/spec/services/task/TaskManager.ts +214 -3
- package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +33 -0
- package/test/unit/spec/services/task/voice/Voice.ts +10 -51
- package/test/unit/spec/services/task/voice/wxAppOfferObservability.ts +361 -0
- package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +121 -5
- package/test/unit/spec/services/wxAppDiagnosticLogging.ts +44 -8
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
|
@@ -395,6 +395,12 @@ const eventTaxonomyMap = {
|
|
|
395
395
|
target: 'webex_together_mercury_subscribe',
|
|
396
396
|
verb: 'fail'
|
|
397
397
|
},
|
|
398
|
+
[_constants.METRIC_EVENT_NAMES.WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING]: {
|
|
399
|
+
product,
|
|
400
|
+
agent: 'user',
|
|
401
|
+
target: 'webex_together_offer_participant_fields',
|
|
402
|
+
verb: 'fail'
|
|
403
|
+
},
|
|
398
404
|
// Conference Tasks
|
|
399
405
|
[_constants.METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {
|
|
400
406
|
product,
|
|
@@ -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","WXAPP_TASK_MUTE_SUCCESS","WXAPP_TASK_MUTE_FAILED","WXAPP_TASK_DTMF_SUCCESS","WXAPP_TASK_DTMF_FAILED","WXAPP_TASK_ACCEPT_SUCCESS","WXAPP_TASK_ACCEPT_FAILED","WXAPP_TASK_DECLINE_SUCCESS","WXAPP_TASK_DECLINE_FAILED","WXAPP_SESSION_INIT_SUCCESS","WXAPP_SESSION_INIT_FAILED","WXAPP_SESSION_SKIPPED","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","WXAPP_MERCURY_SUBSCRIBE_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS","TASK_CONFERENCE_PARTICIPANT_DROP_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_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","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED","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 [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_FAILED]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'fail',\n },\n\n // Webex Together (wxApp)\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_SKIPPED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'ignore',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\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 // Conference Exit\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'fail',\n },\n\n // Conference Participant Drop\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'fail',\n },\n\n // Switch Call\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\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 // Campaign Preview Skip API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'fail',\n },\n\n // Campaign Preview Remove API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'fail',\n },\n\n // User Preference API Events\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\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","WXAPP_TASK_MUTE_SUCCESS","WXAPP_TASK_MUTE_FAILED","WXAPP_TASK_DTMF_SUCCESS","WXAPP_TASK_DTMF_FAILED","WXAPP_TASK_ACCEPT_SUCCESS","WXAPP_TASK_ACCEPT_FAILED","WXAPP_TASK_DECLINE_SUCCESS","WXAPP_TASK_DECLINE_FAILED","WXAPP_SESSION_INIT_SUCCESS","WXAPP_SESSION_INIT_FAILED","WXAPP_SESSION_SKIPPED","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","WXAPP_MERCURY_SUBSCRIBE_FAILED","WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS","TASK_CONFERENCE_PARTICIPANT_DROP_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_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","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED","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 [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_MUTE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_mute_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DTMF_FAILED]: {\n product,\n agent: 'user',\n target: 'task_dtmf_webex_together',\n verb: 'fail',\n },\n\n // Webex Together (wxApp)\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_reject_webex_together',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_INIT_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_SESSION_SKIPPED]: {\n product,\n agent: 'user',\n target: 'webex_together_session_init',\n verb: 'ignore',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_usersub_publish',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED]: {\n product,\n agent: 'user',\n target: 'webex_together_mercury_subscribe',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING]: {\n product,\n agent: 'user',\n target: 'webex_together_offer_participant_fields',\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 // Conference Exit\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_EXIT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_exit',\n verb: 'fail',\n },\n\n // Conference Participant Drop\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_PARTICIPANT_DROP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_participant_drop',\n verb: 'fail',\n },\n\n // Switch Call\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_SWITCH_CALL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_switch_call',\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 // Campaign Preview Skip API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_SKIP_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_skip',\n verb: 'fail',\n },\n\n // Campaign Preview Remove API Events\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.CAMPAIGN_PREVIEW_REMOVE_FAILED]: {\n product,\n agent: 'user',\n target: 'campaign_preview_remove',\n verb: 'fail',\n },\n\n // User Preference API Events\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_GET_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_get',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_CREATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_create',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_update',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.USER_PREFERENCE_DELETE_FAILED]: {\n product,\n agent: 'user',\n target: 'user_preference_delete',\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":[]}
|
|
@@ -154,6 +154,7 @@ const METRIC_EVENT_NAMES = exports.METRIC_EVENT_NAMES = {
|
|
|
154
154
|
WXAPP_USERSUB_PUBLISH_FAILED: 'WxApp Usersub Publish Failed',
|
|
155
155
|
WXAPP_MERCURY_SUBSCRIBE_SUCCESS: 'WxApp Mercury Subscribe Success',
|
|
156
156
|
WXAPP_MERCURY_SUBSCRIBE_FAILED: 'WxApp Mercury Subscribe Failed',
|
|
157
|
+
WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING: 'WxApp Offer Participant Fields Missing',
|
|
157
158
|
UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',
|
|
158
159
|
UPLOAD_LOGS_FAILED: 'Upload Logs Failed',
|
|
159
160
|
WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS","TASK_CONFERENCE_PARTICIPANT_DROP_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","WXAPP_TASK_MUTE_SUCCESS","WXAPP_TASK_MUTE_FAILED","WXAPP_TASK_DTMF_SUCCESS","WXAPP_TASK_DTMF_FAILED","WXAPP_TASK_ACCEPT_SUCCESS","WXAPP_TASK_ACCEPT_FAILED","WXAPP_TASK_DECLINE_SUCCESS","WXAPP_TASK_DECLINE_FAILED","WXAPP_SESSION_INIT_SUCCESS","WXAPP_SESSION_INIT_FAILED","WXAPP_SESSION_SKIPPED","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","WXAPP_MERCURY_SUBSCRIBE_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","WEBSOCKET_EVENT_RECEIVED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","AI_ASSISTANT_WELLNESS_ACTION_ACCEPTED","AI_ASSISTANT_WELLNESS_ACTION_FAILED","AI_ASSISTANT_WELLNESS_EVENT_INVALID","WELLBEING_BREAK_IDLE_CODE_FETCH_SUCCESS","WELLBEING_BREAK_IDLE_CODE_FETCH_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n * @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.\n * @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',\n TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n TASK_CONFERENCE_EXIT_SUCCESS: 'Task Conference Exit Success',\n TASK_CONFERENCE_EXIT_FAILED: 'Task Conference Exit Failed',\n TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS: 'Task Conference Participant Drop Success',\n TASK_CONFERENCE_PARTICIPANT_DROP_FAILED: 'Task Conference Participant Drop Failed',\n TASK_SWITCH_CALL_SUCCESS: 'Task Switch Call Success',\n TASK_SWITCH_CALL_FAILED: 'Task Switch Call Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n WXAPP_TASK_MUTE_SUCCESS: 'WxApp Task Mute Success',\n WXAPP_TASK_MUTE_FAILED: 'WxApp Task Mute Failed',\n WXAPP_TASK_DTMF_SUCCESS: 'WxApp Task Dtmf Success',\n WXAPP_TASK_DTMF_FAILED: 'WxApp Task Dtmf Failed',\n\n // WxApp Better Together\n WXAPP_TASK_ACCEPT_SUCCESS: 'WxApp Task Accept Success',\n WXAPP_TASK_ACCEPT_FAILED: 'WxApp Task Accept Failed',\n WXAPP_TASK_DECLINE_SUCCESS: 'WxApp Task Decline Success',\n WXAPP_TASK_DECLINE_FAILED: 'WxApp Task Decline Failed',\n WXAPP_SESSION_INIT_SUCCESS: 'WxApp Session Init Success',\n WXAPP_SESSION_INIT_FAILED: 'WxApp Session Init Failed',\n WXAPP_SESSION_SKIPPED: 'WxApp Session Skipped',\n WXAPP_USERSUB_PUBLISH_SUCCESS: 'WxApp Usersub Publish Success',\n WXAPP_USERSUB_PUBLISH_FAILED: 'WxApp Usersub Publish Failed',\n WXAPP_MERCURY_SUBSCRIBE_SUCCESS: 'WxApp Mercury Subscribe Success',\n WXAPP_MERCURY_SUBSCRIBE_FAILED: 'WxApp Mercury Subscribe Failed',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n\n // Campaign Preview API Events\n CAMPAIGN_PREVIEW_ACCEPT_SUCCESS: 'Campaign Preview Accept Success',\n CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'Campaign Preview Accept Failed',\n CAMPAIGN_PREVIEW_SKIP_SUCCESS: 'Campaign Preview Skip Success',\n CAMPAIGN_PREVIEW_SKIP_FAILED: 'Campaign Preview Skip Failed',\n CAMPAIGN_PREVIEW_REMOVE_SUCCESS: 'Campaign Preview Remove Success',\n CAMPAIGN_PREVIEW_REMOVE_FAILED: 'Campaign Preview Remove Failed',\n\n // AI Assistant Transcript events\n AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',\n AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS: 'AI Assistant Get Real Time Assistance Success',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED: 'AI Assistant Get Real Time Assistance Failed',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS:\n 'AI Assistant Send Real Time Assistance User Action Success',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED:\n 'AI Assistant Send Real Time Assistance User Action Failed',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS:\n 'AI Assistant Fetch Historic Transcripts Success',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed',\n AI_ASSISTANT_WELLNESS_ACTION_ACCEPTED: 'AI Assistant Wellness Action Accepted',\n AI_ASSISTANT_WELLNESS_ACTION_FAILED: 'AI Assistant Wellness Action Failed',\n AI_ASSISTANT_WELLNESS_EVENT_INVALID: 'AI Assistant Wellness Event Invalid',\n WELLBEING_BREAK_IDLE_CODE_FETCH_SUCCESS: 'Wellbeing Break Idle Code Fetch Success',\n WELLBEING_BREAK_IDLE_CODE_FETCH_FAILED: 'Wellbeing Break Idle Code Fetch Failed',\n\n // User Preference API Events\n USER_PREFERENCE_GET_SUCCESS: 'User Preference Get Success',\n USER_PREFERENCE_GET_FAILED: 'User Preference Get Failed',\n USER_PREFERENCE_CREATE_SUCCESS: 'User Preference Create Success',\n USER_PREFERENCE_CREATE_FAILED: 'User Preference Create Failed',\n USER_PREFERENCE_UPDATE_SUCCESS: 'User Preference Update Success',\n USER_PREFERENCE_UPDATE_FAILED: 'User Preference Update Failed',\n USER_PREFERENCE_DELETE_SUCCESS: 'User Preference Delete Success',\n USER_PREFERENCE_DELETE_FAILED: 'User Preference Delete Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["METRIC_EVENT_NAMES","exports","STATION_LOGIN_SUCCESS","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_AUTO_ANSWER_SUCCESS","TASK_AUTO_ANSWER_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","TASK_CONFERENCE_EXIT_SUCCESS","TASK_CONFERENCE_EXIT_FAILED","TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS","TASK_CONFERENCE_PARTICIPANT_DROP_FAILED","TASK_SWITCH_CALL_SUCCESS","TASK_SWITCH_CALL_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","WXAPP_TASK_MUTE_SUCCESS","WXAPP_TASK_MUTE_FAILED","WXAPP_TASK_DTMF_SUCCESS","WXAPP_TASK_DTMF_FAILED","WXAPP_TASK_ACCEPT_SUCCESS","WXAPP_TASK_ACCEPT_FAILED","WXAPP_TASK_DECLINE_SUCCESS","WXAPP_TASK_DECLINE_FAILED","WXAPP_SESSION_INIT_SUCCESS","WXAPP_SESSION_INIT_FAILED","WXAPP_SESSION_SKIPPED","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","WXAPP_MERCURY_SUBSCRIBE_FAILED","WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","WEBSOCKET_DEREGISTER_SUCCESS","WEBSOCKET_DEREGISTER_FAIL","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","WEBSOCKET_EVENT_RECEIVED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","CAMPAIGN_PREVIEW_ACCEPT_SUCCESS","CAMPAIGN_PREVIEW_ACCEPT_FAILED","CAMPAIGN_PREVIEW_SKIP_SUCCESS","CAMPAIGN_PREVIEW_SKIP_FAILED","CAMPAIGN_PREVIEW_REMOVE_SUCCESS","CAMPAIGN_PREVIEW_REMOVE_FAILED","AI_ASSISTANT_SEND_EVENT_SUCCESS","AI_ASSISTANT_SEND_EVENT_FAILED","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS","AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS","AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS","AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED","AI_ASSISTANT_WELLNESS_ACTION_ACCEPTED","AI_ASSISTANT_WELLNESS_ACTION_FAILED","AI_ASSISTANT_WELLNESS_EVENT_INVALID","WELLBEING_BREAK_IDLE_CODE_FETCH_SUCCESS","WELLBEING_BREAK_IDLE_CODE_FETCH_FAILED","USER_PREFERENCE_GET_SUCCESS","USER_PREFERENCE_GET_FAILED","USER_PREFERENCE_CREATE_SUCCESS","USER_PREFERENCE_CREATE_FAILED","USER_PREFERENCE_UPDATE_SUCCESS","USER_PREFERENCE_UPDATE_FAILED","USER_PREFERENCE_DELETE_SUCCESS","USER_PREFERENCE_DELETE_FAILED"],"sources":["constants.ts"],"sourcesContent":["type Enum<T extends Record<string, unknown>> = T[keyof T];\n\n/**\n * @ignore\n * @module METRIC_EVENT_NAMES\n * @export\n * @description\n * A constant object containing all metric event names used for tracking various agent and task-related events\n * within the Contact Center plugin. Each property represents a specific event and its corresponding string value\n * as reported in metrics.\n *\n * @property {string} STATION_LOGIN_SUCCESS - Event name for successful station login.\n * @property {string} STATION_LOGIN_FAILED - Event name for failed station login.\n * @property {string} STATION_LOGOUT_SUCCESS - Event name for successful station logout.\n * @property {string} STATION_LOGOUT_FAILED - Event name for failed station logout.\n * @property {string} STATION_RELOGIN_SUCCESS - Event name for successful station relogin.\n * @property {string} STATION_RELOGIN_FAILED - Event name for failed station relogin.\n * @property {string} AGENT_STATE_CHANGE_SUCCESS - Event name for successful agent state change.\n * @property {string} AGENT_STATE_CHANGE_FAILED - Event name for failed agent state change.\n * @property {string} FETCH_BUDDY_AGENTS_SUCCESS - Event name for successfully fetching buddy agents.\n * @property {string} FETCH_BUDDY_AGENTS_FAILED - Event name for failed attempt to fetch buddy agents.\n * @property {string} WEBSOCKET_REGISTER_SUCCESS - Event name for successful websocket registration.\n * @property {string} WEBSOCKET_REGISTER_FAILED - Event name for failed websocket registration.\n * @property {string} AGENT_RONA - Event name for agent RONA (Ring No Answer).\n * @property {string} AGENT_CONTACT_ASSIGN_FAILED - Event name for failed agent contact assignment.\n * @property {string} AGENT_INVITE_FAILED - Event name for failed agent invite.\n *\n * @property {string} TASK_ACCEPT_SUCCESS - Event name for successful task acceptance.\n * @property {string} TASK_ACCEPT_FAILED - Event name for failed task acceptance.\n * @property {string} TASK_DECLINE_SUCCESS - Event name for successful task decline.\n * @property {string} TASK_DECLINE_FAILED - Event name for failed task decline.\n * @property {string} TASK_END_SUCCESS - Event name for successful task end.\n * @property {string} TASK_END_FAILED - Event name for failed task end.\n * @property {string} TASK_WRAPUP_SUCCESS - Event name for successful task wrap-up.\n * @property {string} TASK_WRAPUP_FAILED - Event name for failed task wrap-up.\n * @property {string} TASK_HOLD_SUCCESS - Event name for successful task hold.\n * @property {string} TASK_HOLD_FAILED - Event name for failed task hold.\n * @property {string} TASK_RESUME_SUCCESS - Event name for successful task resume.\n * @property {string} TASK_RESUME_FAILED - Event name for failed task resume.\n * @property {string} TASK_CONSULT_START_SUCCESS - Event name for successful consult start.\n * @property {string} TASK_CONSULT_START_FAILED - Event name for failed consult start.\n * @property {string} TASK_CONSULT_END_SUCCESS - Event name for successful consult end.\n * @property {string} TASK_CONSULT_END_FAILED - Event name for failed consult end.\n * @property {string} TASK_TRANSFER_SUCCESS - Event name for successful task transfer.\n * @property {string} TASK_TRANSFER_FAILED - Event name for failed task transfer.\n * @property {string} TASK_RESUME_RECORDING_SUCCESS - Event name for successful resume of recording.\n * @property {string} TASK_RESUME_RECORDING_FAILED - Event name for failed resume of recording.\n * @property {string} TASK_PAUSE_RECORDING_SUCCESS - Event name for successful pause of recording.\n * @property {string} TASK_PAUSE_RECORDING_FAILED - Event name for failed pause of recording.\n * @property {string} TASK_ACCEPT_CONSULT_SUCCESS - Event name for successful consult acceptance.\n * @property {string} TASK_ACCEPT_CONSULT_FAILED - Event name for failed consult acceptance.\n * @property {string} TASK_AUTO_ANSWER_SUCCESS - Event name for successful auto-answer.\n * @property {string} TASK_AUTO_ANSWER_FAILED - Event name for failed auto-answer.\n *\n * @property {string} TASK_CONFERENCE_START_SUCCESS - Event name for successful conference start.\n * @property {string} TASK_CONFERENCE_START_FAILED - Event name for failed conference start.\n * @property {string} TASK_CONFERENCE_END_SUCCESS - Event name for successful conference end.\n * @property {string} TASK_CONFERENCE_END_FAILED - Event name for failed conference end.\n * @property {string} TASK_CONFERENCE_TRANSFER_SUCCESS - Event name for successful conference transfer.\n * @property {string} TASK_CONFERENCE_TRANSFER_FAILED - Event name for failed conference transfer.\n *\n * @property {string} TASK_OUTDIAL_SUCCESS - Event name for successful outdial task.\n * @property {string} TASK_OUTDIAL_FAILED - Event name for failed outdial task.\n *\n * @property {string} UPLOAD_LOGS_SUCCESS - Event name for successful log upload.\n * @property {string} UPLOAD_LOGS_FAILED - Event name for failed log upload.\n * @property {string} WEBSOCKET_DEREGISTER_SUCCESS - Event name for successful websocket deregistration.\n * @property {string} WEBSOCKET_DEREGISTER_FAIL - Event name for failed websocket deregistration.\n *\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_SUCCESS - Event name for successful agent device type update.\n * @property {string} AGENT_DEVICE_TYPE_UPDATE_FAILED - Event name for failed agent device type update.\n *\n * @property {string} OUTDIAL_ANI_EP_FETCH_SUCCESS - Event name for successful outdial ANI entries fetch.\n * @property {string} OUTDIAL_ANI_EP_FETCH_FAILED - Event name for failed outdial ANI entries fetch.\n *\n * @readonly\n */\nexport const METRIC_EVENT_NAMES = {\n STATION_LOGIN_SUCCESS: 'Station Login Success',\n STATION_LOGIN_FAILED: 'Station Login Failed',\n STATION_LOGOUT_SUCCESS: 'Station Logout Success',\n STATION_LOGOUT_FAILED: 'Station Logout Failed',\n STATION_RELOGIN_SUCCESS: 'Station Relogin Success',\n STATION_RELOGIN_FAILED: 'Station Relogin Failed',\n AGENT_STATE_CHANGE_SUCCESS: 'Agent State Change Success',\n AGENT_STATE_CHANGE_FAILED: 'Agent State Change Failed',\n FETCH_BUDDY_AGENTS_SUCCESS: 'Fetch Buddy Agents Success',\n FETCH_BUDDY_AGENTS_FAILED: 'Fetch Buddy Agents Failed',\n WEBSOCKET_REGISTER_SUCCESS: 'Websocket Register Success',\n WEBSOCKET_REGISTER_FAILED: 'Websocket Register Failed',\n AGENT_RONA: 'Agent RONA',\n AGENT_CONTACT_ASSIGN_FAILED: 'Agent Contact Assign Failed',\n AGENT_INVITE_FAILED: 'Agent Invite Failed',\n\n // Basic Tasks\n TASK_ACCEPT_SUCCESS: 'Task Accept Success',\n TASK_ACCEPT_FAILED: 'Task Accept Failed',\n TASK_DECLINE_SUCCESS: 'Task Decline Success',\n TASK_DECLINE_FAILED: 'Task Decline Failed',\n TASK_END_SUCCESS: 'Task End Success',\n TASK_END_FAILED: 'Task End Failed',\n TASK_WRAPUP_SUCCESS: 'Task Wrapup Success',\n TASK_WRAPUP_FAILED: 'Task Wrapup Failed',\n TASK_HOLD_SUCCESS: 'Task Hold Success',\n TASK_HOLD_FAILED: 'Task Hold Failed',\n TASK_RESUME_SUCCESS: 'Task Resume Success',\n TASK_RESUME_FAILED: 'Task Resume Failed',\n\n // Advanced Tasks\n TASK_CONSULT_START_SUCCESS: 'Task Consult Start Success',\n TASK_CONSULT_START_FAILED: 'Task Consult Start Failed',\n TASK_CONSULT_END_SUCCESS: 'Task Consult End Success',\n TASK_CONSULT_END_FAILED: 'Task Consult End Failed',\n TASK_TRANSFER_SUCCESS: 'Task Transfer Success',\n TASK_TRANSFER_FAILED: 'Task Transfer Failed',\n TASK_RESUME_RECORDING_SUCCESS: 'Task Resume Recording Success',\n TASK_RESUME_RECORDING_FAILED: 'Task Resume Recording Failed',\n TASK_PAUSE_RECORDING_SUCCESS: 'Task Pause Recording Success',\n TASK_PAUSE_RECORDING_FAILED: 'Task Pause Recording Failed',\n TASK_ACCEPT_CONSULT_SUCCESS: 'Task Accept Consult Success',\n TASK_ACCEPT_CONSULT_FAILED: 'Task Accept Consult Failed',\n TASK_AUTO_ANSWER_SUCCESS: 'Task Auto Answer Success',\n TASK_AUTO_ANSWER_FAILED: 'Task Auto Answer Failed',\n\n // Conference Tasks\n TASK_CONFERENCE_START_SUCCESS: 'Task Conference Start Success',\n TASK_CONFERENCE_START_FAILED: 'Task Conference Start Failed',\n TASK_CONFERENCE_END_SUCCESS: 'Task Conference End Success',\n TASK_CONFERENCE_END_FAILED: 'Task Conference End Failed',\n TASK_CONFERENCE_TRANSFER_SUCCESS: 'Task Conference Transfer Success',\n TASK_CONFERENCE_TRANSFER_FAILED: 'Task Conference Transfer Failed',\n TASK_CONFERENCE_EXIT_SUCCESS: 'Task Conference Exit Success',\n TASK_CONFERENCE_EXIT_FAILED: 'Task Conference Exit Failed',\n TASK_CONFERENCE_PARTICIPANT_DROP_SUCCESS: 'Task Conference Participant Drop Success',\n TASK_CONFERENCE_PARTICIPANT_DROP_FAILED: 'Task Conference Participant Drop Failed',\n TASK_SWITCH_CALL_SUCCESS: 'Task Switch Call Success',\n TASK_SWITCH_CALL_FAILED: 'Task Switch Call Failed',\n\n TASK_OUTDIAL_SUCCESS: 'Task Outdial Success',\n TASK_OUTDIAL_FAILED: 'Task Outdial Failed',\n\n WXAPP_TASK_MUTE_SUCCESS: 'WxApp Task Mute Success',\n WXAPP_TASK_MUTE_FAILED: 'WxApp Task Mute Failed',\n WXAPP_TASK_DTMF_SUCCESS: 'WxApp Task Dtmf Success',\n WXAPP_TASK_DTMF_FAILED: 'WxApp Task Dtmf Failed',\n\n // WxApp Better Together\n WXAPP_TASK_ACCEPT_SUCCESS: 'WxApp Task Accept Success',\n WXAPP_TASK_ACCEPT_FAILED: 'WxApp Task Accept Failed',\n WXAPP_TASK_DECLINE_SUCCESS: 'WxApp Task Decline Success',\n WXAPP_TASK_DECLINE_FAILED: 'WxApp Task Decline Failed',\n WXAPP_SESSION_INIT_SUCCESS: 'WxApp Session Init Success',\n WXAPP_SESSION_INIT_FAILED: 'WxApp Session Init Failed',\n WXAPP_SESSION_SKIPPED: 'WxApp Session Skipped',\n WXAPP_USERSUB_PUBLISH_SUCCESS: 'WxApp Usersub Publish Success',\n WXAPP_USERSUB_PUBLISH_FAILED: 'WxApp Usersub Publish Failed',\n WXAPP_MERCURY_SUBSCRIBE_SUCCESS: 'WxApp Mercury Subscribe Success',\n WXAPP_MERCURY_SUBSCRIBE_FAILED: 'WxApp Mercury Subscribe Failed',\n WXAPP_OFFER_PARTICIPANT_FIELDS_MISSING: 'WxApp Offer Participant Fields Missing',\n\n UPLOAD_LOGS_SUCCESS: 'Upload Logs Success',\n UPLOAD_LOGS_FAILED: 'Upload Logs Failed',\n WEBSOCKET_DEREGISTER_SUCCESS: 'Websocket Deregister Success',\n WEBSOCKET_DEREGISTER_FAIL: 'Websocket Deregister Failed',\n\n AGENT_DEVICE_TYPE_UPDATE_SUCCESS: 'Agent Device Type Update Success',\n AGENT_DEVICE_TYPE_UPDATE_FAILED: 'Agent Device Type Update Failed',\n // WebSocket message events\n WEBSOCKET_EVENT_RECEIVED: 'Websocket Event Received',\n\n // EntryPoint API Events\n ENTRYPOINT_FETCH_SUCCESS: 'Entrypoint Fetch Success',\n ENTRYPOINT_FETCH_FAILED: 'Entrypoint Fetch Failed',\n\n // AddressBook API Events\n ADDRESSBOOK_FETCH_SUCCESS: 'AddressBook Fetch Success',\n ADDRESSBOOK_FETCH_FAILED: 'AddressBook Fetch Failed',\n\n // Queue API Events\n QUEUE_FETCH_SUCCESS: 'Queue Fetch Success',\n QUEUE_FETCH_FAILED: 'Queue Fetch Failed',\n\n // Outdial ANI Entries API Events\n OUTDIAL_ANI_EP_FETCH_SUCCESS: 'Outdial ANI Entries Fetch Success',\n OUTDIAL_ANI_EP_FETCH_FAILED: 'Outdial ANI Entries Fetch Failed',\n\n // Campaign Preview API Events\n CAMPAIGN_PREVIEW_ACCEPT_SUCCESS: 'Campaign Preview Accept Success',\n CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'Campaign Preview Accept Failed',\n CAMPAIGN_PREVIEW_SKIP_SUCCESS: 'Campaign Preview Skip Success',\n CAMPAIGN_PREVIEW_SKIP_FAILED: 'Campaign Preview Skip Failed',\n CAMPAIGN_PREVIEW_REMOVE_SUCCESS: 'Campaign Preview Remove Success',\n CAMPAIGN_PREVIEW_REMOVE_FAILED: 'Campaign Preview Remove Failed',\n\n // AI Assistant Transcript events\n AI_ASSISTANT_SEND_EVENT_SUCCESS: 'AI Assistant Send Event Success',\n AI_ASSISTANT_SEND_EVENT_FAILED: 'AI Assistant Send Event Failed',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_SUCCESS: 'AI Assistant Get Real Time Assistance Success',\n AI_ASSISTANT_GET_REAL_TIME_ASSISTANCE_FAILED: 'AI Assistant Get Real Time Assistance Failed',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_SUCCESS:\n 'AI Assistant Send Real Time Assistance User Action Success',\n AI_ASSISTANT_SEND_REAL_TIME_ASSISTANCE_USER_ACTION_FAILED:\n 'AI Assistant Send Real Time Assistance User Action Failed',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_SUCCESS:\n 'AI Assistant Fetch Historic Transcripts Success',\n AI_ASSISTANT_FETCH_HISTORIC_TRANSCRIPTS_FAILED: 'AI Assistant Fetch Historic Transcripts Failed',\n AI_ASSISTANT_WELLNESS_ACTION_ACCEPTED: 'AI Assistant Wellness Action Accepted',\n AI_ASSISTANT_WELLNESS_ACTION_FAILED: 'AI Assistant Wellness Action Failed',\n AI_ASSISTANT_WELLNESS_EVENT_INVALID: 'AI Assistant Wellness Event Invalid',\n WELLBEING_BREAK_IDLE_CODE_FETCH_SUCCESS: 'Wellbeing Break Idle Code Fetch Success',\n WELLBEING_BREAK_IDLE_CODE_FETCH_FAILED: 'Wellbeing Break Idle Code Fetch Failed',\n\n // User Preference API Events\n USER_PREFERENCE_GET_SUCCESS: 'User Preference Get Success',\n USER_PREFERENCE_GET_FAILED: 'User Preference Get Failed',\n USER_PREFERENCE_CREATE_SUCCESS: 'User Preference Create Success',\n USER_PREFERENCE_CREATE_FAILED: 'User Preference Create Failed',\n USER_PREFERENCE_UPDATE_SUCCESS: 'User Preference Update Success',\n USER_PREFERENCE_UPDATE_FAILED: 'User Preference Update Failed',\n USER_PREFERENCE_DELETE_SUCCESS: 'User Preference Delete Success',\n USER_PREFERENCE_DELETE_FAILED: 'User Preference Delete Failed',\n} as const;\n\n/**\n * Represents the possible metric event names used within the metrics system.\n *\n * This type is derived from the keys of the `METRIC_EVENT_NAMES` constant, ensuring\n * type safety and consistency when referring to metric event names throughout the codebase.\n * @export\n * @typedef {Enum<typeof METRIC_EVENT_NAMES>} METRIC_EVENT_NAMES\n * @typeParam T - The type of the `METRIC_EVENT_NAMES` constant.\n *\n * @see {@link METRIC_EVENT_NAMES}\n */\nexport type METRIC_EVENT_NAMES = Enum<typeof METRIC_EVENT_NAMES>;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,7 +54,7 @@ class AnswerCallOnWebexService {
|
|
|
54
54
|
async telephonyRequest(resource, method, body, logMethod) {
|
|
55
55
|
try {
|
|
56
56
|
const uri = `${this.getTelephonyBaseUrl()}${resource}`;
|
|
57
|
-
_loggerProxy.default.
|
|
57
|
+
_loggerProxy.default.log(`AnswerCallOnWebexService.${logMethod} request`, {
|
|
58
58
|
module: ANSWER_CALL_ON_WEBEX_FILE,
|
|
59
59
|
method: logMethod,
|
|
60
60
|
data: {
|
|
@@ -68,7 +68,7 @@ class AnswerCallOnWebexService {
|
|
|
68
68
|
body,
|
|
69
69
|
addAuthHeader: true
|
|
70
70
|
});
|
|
71
|
-
_loggerProxy.default.
|
|
71
|
+
_loggerProxy.default.log(`AnswerCallOnWebexService.${logMethod} success`, {
|
|
72
72
|
module: ANSWER_CALL_ON_WEBEX_FILE,
|
|
73
73
|
method: logMethod,
|
|
74
74
|
data: {
|
|
@@ -164,11 +164,11 @@ class AnswerCallOnWebexService {
|
|
|
164
164
|
const lineOwnerIdQuery = lineOwnerId ? `?lineOwnerId=${encodeURIComponent(lineOwnerId)}` : '';
|
|
165
165
|
const uri = `${this.getTelephonyBaseUrl()}/${callId}${lineOwnerIdQuery}`;
|
|
166
166
|
try {
|
|
167
|
-
_loggerProxy.default.
|
|
167
|
+
_loggerProxy.default.log('AnswerCallOnWebexService.getCallDetails request', {
|
|
168
168
|
module: ANSWER_CALL_ON_WEBEX_FILE,
|
|
169
169
|
method: _constants.METHODS.GET_CALL_DETAILS_ON_WEBEX,
|
|
170
170
|
data: {
|
|
171
|
-
callId
|
|
171
|
+
callIdSuffix: callId.length <= 8 ? callId : callId.slice(-8)
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
const response = await this.webex.request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_types","_Utils","_wxAppTelephonyUtils","e","__esModule","default","ANSWER_CALL_ON_WEBEX_FILE","extractWxAppTrackingId","source","sourceObj","details","trackingId","extractWxAppHttpStatus","obj","statusCode","status","markWxAppTelephonyError","error","marked","isWxAppTelephonyError","undefined","AnswerCallOnWebexService","constructor","webex","getTelephonyBaseUrl","services","internal","hydraUrl","_serviceUrls","hydra","get","Error","replace","extractTrackingId","telephonyRequest","resource","method","body","logMethod","uri","LoggerProxy","info","module","data","bodyKeys","Object","keys","response","request","addAuthHeader","detailedError","getErrorDetails","CC_FILE","answerCall","params","callId","endpointId","lineOwnerId","HTTP_METHODS","POST","METHODS","ACCEPT","rejectCall","REJECT","muteCall","TOGGLE_MUTE","unmuteCall","transmitDtmf","dtmf","TRANSMIT_DTMF","getCallDetails","lineOwnerIdQuery","encodeURIComponent","GET_CALL_DETAILS_ON_WEBEX","GET","isWxAppCallNotFoundError","err","String","message","exports"],"sources":["AnswerCallOnWebexService.ts"],"sourcesContent":["import LoggerProxy from '../logger-proxy';\nimport {CC_FILE, METHODS} from '../constants';\nimport {HTTP_METHODS, IHttpResponse, WebexSDK} from '../types';\nimport {getErrorDetails} from './core/Utils';\nimport {isWxAppCallNotFoundError} from './wxAppTelephonyUtils';\n\nconst ANSWER_CALL_ON_WEBEX_FILE = 'AnswerCallOnWebexService';\n\nexport type WxAppTelephonyError = Error & {\n isWxAppTelephonyError: true;\n trackingId?: string;\n status?: number | string;\n};\n\nconst extractWxAppTrackingId = (source: unknown): string | undefined => {\n const sourceObj = source as {details?: {trackingId?: string}; trackingId?: string};\n\n return sourceObj?.details?.trackingId || sourceObj?.trackingId;\n};\n\nconst extractWxAppHttpStatus = (source: unknown): number | string | undefined => {\n const obj = source as {\n statusCode?: number;\n status?: number | string;\n details?: {status?: number | string};\n };\n\n return obj?.statusCode ?? obj?.status ?? obj?.details?.status;\n};\n\nconst markWxAppTelephonyError = (error: Error, source: unknown): WxAppTelephonyError => {\n const marked = error as WxAppTelephonyError;\n marked.isWxAppTelephonyError = true;\n const trackingId = extractWxAppTrackingId(source);\n if (trackingId) {\n marked.trackingId = trackingId;\n }\n const status = extractWxAppHttpStatus(source);\n if (status !== undefined) {\n marked.status = status;\n }\n\n return marked;\n};\n\nexport type AnswerCallParams = {\n callId: string;\n endpointId: string;\n lineOwnerId?: string;\n};\n\nexport type CallIdParams = {\n callId: string;\n lineOwnerId?: string;\n};\n\nexport type TransmitDtmfParams = CallIdParams & {\n dtmf: string;\n};\n\nexport type CallDetailsResponse = {\n muted?: boolean;\n};\n\n/**\n * REST telephony client for wxApp thick-client answer (WXCC-6026).\n * Separate from WebCallingService (WebRTC/Mobius).\n */\nexport default class AnswerCallOnWebexService {\n private webex: WebexSDK;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n }\n\n private getTelephonyBaseUrl(): string {\n const services = this.webex.internal.services;\n const hydraUrl = services._serviceUrls?.hydra || services.get('hydra');\n\n if (!hydraUrl) {\n throw new Error('Telephony base URL is unavailable');\n }\n\n return `${hydraUrl.replace(/\\/$/, '')}/telephony/calls`;\n }\n\n private extractTrackingId(source: unknown): string | undefined {\n return extractWxAppTrackingId(source);\n }\n\n private async telephonyRequest(\n resource: string,\n method: HTTP_METHODS,\n body: Record<string, unknown>,\n logMethod: string\n ): Promise<IHttpResponse> {\n try {\n const uri = `${this.getTelephonyBaseUrl()}${resource}`;\n\n LoggerProxy.info(`AnswerCallOnWebexService.${logMethod} request`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {uri, bodyKeys: Object.keys(body)},\n });\n\n const response = (await this.webex.request({\n uri,\n method,\n body,\n addAuthHeader: true,\n })) as IHttpResponse;\n\n LoggerProxy.info(`AnswerCallOnWebexService.${logMethod} success`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {statusCode: response.statusCode},\n });\n\n return response;\n } catch (error) {\n const trackingId = this.extractTrackingId(error);\n LoggerProxy.error(`AnswerCallOnWebexService.${logMethod} failed: ${error}`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {\n trackingId,\n status: extractWxAppHttpStatus(error),\n },\n });\n const {error: detailedError} = getErrorDetails(error, logMethod, CC_FILE);\n throw markWxAppTelephonyError(detailedError, error);\n }\n }\n\n public answerCall(params: AnswerCallParams): Promise<IHttpResponse> {\n const {callId, endpointId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/answer',\n HTTP_METHODS.POST,\n {\n callId,\n endpointId,\n ...(lineOwnerId ? {lineOwnerId} : {}),\n },\n METHODS.ACCEPT\n );\n }\n\n public rejectCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/reject',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.REJECT\n );\n }\n\n public muteCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/mute',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TOGGLE_MUTE\n );\n }\n\n public unmuteCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/unmute',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TOGGLE_MUTE\n );\n }\n\n public transmitDtmf(params: TransmitDtmfParams): Promise<IHttpResponse> {\n const {callId, dtmf, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/transmitDtmf',\n HTTP_METHODS.POST,\n {callId, dtmf, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TRANSMIT_DTMF\n );\n }\n\n public async getCallDetails(params: CallIdParams): Promise<CallDetailsResponse> {\n const {callId, lineOwnerId} = params;\n const lineOwnerIdQuery = lineOwnerId ? `?lineOwnerId=${encodeURIComponent(lineOwnerId)}` : '';\n const uri = `${this.getTelephonyBaseUrl()}/${callId}${lineOwnerIdQuery}`;\n\n try {\n LoggerProxy.info('AnswerCallOnWebexService.getCallDetails request', {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: METHODS.GET_CALL_DETAILS_ON_WEBEX,\n data: {callId},\n });\n\n const response = (await this.webex.request({\n uri,\n method: HTTP_METHODS.GET,\n addAuthHeader: true,\n })) as IHttpResponse;\n\n return (response.body ?? {}) as CallDetailsResponse;\n } catch (error) {\n if (isWxAppCallNotFoundError(error)) {\n const err =\n error instanceof Error\n ? error\n : new Error(String((error as {message?: string})?.message ?? error));\n throw markWxAppTelephonyError(err, error);\n }\n\n const trackingId = this.extractTrackingId(error);\n LoggerProxy.error(`AnswerCallOnWebexService.getCallDetails failed: ${error}`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: METHODS.GET_CALL_DETAILS_ON_WEBEX,\n data: {\n trackingId,\n status: extractWxAppHttpStatus(error),\n },\n });\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.GET_CALL_DETAILS_ON_WEBEX,\n CC_FILE\n );\n throw markWxAppTelephonyError(detailedError, error);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_types","_Utils","_wxAppTelephonyUtils","e","__esModule","default","ANSWER_CALL_ON_WEBEX_FILE","extractWxAppTrackingId","source","sourceObj","details","trackingId","extractWxAppHttpStatus","obj","statusCode","status","markWxAppTelephonyError","error","marked","isWxAppTelephonyError","undefined","AnswerCallOnWebexService","constructor","webex","getTelephonyBaseUrl","services","internal","hydraUrl","_serviceUrls","hydra","get","Error","replace","extractTrackingId","telephonyRequest","resource","method","body","logMethod","uri","LoggerProxy","log","module","data","bodyKeys","Object","keys","response","request","addAuthHeader","detailedError","getErrorDetails","CC_FILE","answerCall","params","callId","endpointId","lineOwnerId","HTTP_METHODS","POST","METHODS","ACCEPT","rejectCall","REJECT","muteCall","TOGGLE_MUTE","unmuteCall","transmitDtmf","dtmf","TRANSMIT_DTMF","getCallDetails","lineOwnerIdQuery","encodeURIComponent","GET_CALL_DETAILS_ON_WEBEX","callIdSuffix","length","slice","GET","isWxAppCallNotFoundError","err","String","message","exports"],"sources":["AnswerCallOnWebexService.ts"],"sourcesContent":["import LoggerProxy from '../logger-proxy';\nimport {CC_FILE, METHODS} from '../constants';\nimport {HTTP_METHODS, IHttpResponse, WebexSDK} from '../types';\nimport {getErrorDetails} from './core/Utils';\nimport {isWxAppCallNotFoundError} from './wxAppTelephonyUtils';\n\nconst ANSWER_CALL_ON_WEBEX_FILE = 'AnswerCallOnWebexService';\n\nexport type WxAppTelephonyError = Error & {\n isWxAppTelephonyError: true;\n trackingId?: string;\n status?: number | string;\n};\n\nconst extractWxAppTrackingId = (source: unknown): string | undefined => {\n const sourceObj = source as {details?: {trackingId?: string}; trackingId?: string};\n\n return sourceObj?.details?.trackingId || sourceObj?.trackingId;\n};\n\nconst extractWxAppHttpStatus = (source: unknown): number | string | undefined => {\n const obj = source as {\n statusCode?: number;\n status?: number | string;\n details?: {status?: number | string};\n };\n\n return obj?.statusCode ?? obj?.status ?? obj?.details?.status;\n};\n\nconst markWxAppTelephonyError = (error: Error, source: unknown): WxAppTelephonyError => {\n const marked = error as WxAppTelephonyError;\n marked.isWxAppTelephonyError = true;\n const trackingId = extractWxAppTrackingId(source);\n if (trackingId) {\n marked.trackingId = trackingId;\n }\n const status = extractWxAppHttpStatus(source);\n if (status !== undefined) {\n marked.status = status;\n }\n\n return marked;\n};\n\nexport type AnswerCallParams = {\n callId: string;\n endpointId: string;\n lineOwnerId?: string;\n};\n\nexport type CallIdParams = {\n callId: string;\n lineOwnerId?: string;\n};\n\nexport type TransmitDtmfParams = CallIdParams & {\n dtmf: string;\n};\n\nexport type CallDetailsResponse = {\n muted?: boolean;\n};\n\n/**\n * REST telephony client for wxApp thick-client answer (WXCC-6026).\n * Separate from WebCallingService (WebRTC/Mobius).\n */\nexport default class AnswerCallOnWebexService {\n private webex: WebexSDK;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n }\n\n private getTelephonyBaseUrl(): string {\n const services = this.webex.internal.services;\n const hydraUrl = services._serviceUrls?.hydra || services.get('hydra');\n\n if (!hydraUrl) {\n throw new Error('Telephony base URL is unavailable');\n }\n\n return `${hydraUrl.replace(/\\/$/, '')}/telephony/calls`;\n }\n\n private extractTrackingId(source: unknown): string | undefined {\n return extractWxAppTrackingId(source);\n }\n\n private async telephonyRequest(\n resource: string,\n method: HTTP_METHODS,\n body: Record<string, unknown>,\n logMethod: string\n ): Promise<IHttpResponse> {\n try {\n const uri = `${this.getTelephonyBaseUrl()}${resource}`;\n\n LoggerProxy.log(`AnswerCallOnWebexService.${logMethod} request`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {uri, bodyKeys: Object.keys(body)},\n });\n\n const response = (await this.webex.request({\n uri,\n method,\n body,\n addAuthHeader: true,\n })) as IHttpResponse;\n\n LoggerProxy.log(`AnswerCallOnWebexService.${logMethod} success`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {statusCode: response.statusCode},\n });\n\n return response;\n } catch (error) {\n const trackingId = this.extractTrackingId(error);\n LoggerProxy.error(`AnswerCallOnWebexService.${logMethod} failed: ${error}`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: logMethod,\n data: {\n trackingId,\n status: extractWxAppHttpStatus(error),\n },\n });\n const {error: detailedError} = getErrorDetails(error, logMethod, CC_FILE);\n throw markWxAppTelephonyError(detailedError, error);\n }\n }\n\n public answerCall(params: AnswerCallParams): Promise<IHttpResponse> {\n const {callId, endpointId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/answer',\n HTTP_METHODS.POST,\n {\n callId,\n endpointId,\n ...(lineOwnerId ? {lineOwnerId} : {}),\n },\n METHODS.ACCEPT\n );\n }\n\n public rejectCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/reject',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.REJECT\n );\n }\n\n public muteCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/mute',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TOGGLE_MUTE\n );\n }\n\n public unmuteCall(params: CallIdParams): Promise<IHttpResponse> {\n const {callId, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/unmute',\n HTTP_METHODS.POST,\n {callId, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TOGGLE_MUTE\n );\n }\n\n public transmitDtmf(params: TransmitDtmfParams): Promise<IHttpResponse> {\n const {callId, dtmf, lineOwnerId} = params;\n\n return this.telephonyRequest(\n '/transmitDtmf',\n HTTP_METHODS.POST,\n {callId, dtmf, ...(lineOwnerId ? {lineOwnerId} : {})},\n METHODS.TRANSMIT_DTMF\n );\n }\n\n public async getCallDetails(params: CallIdParams): Promise<CallDetailsResponse> {\n const {callId, lineOwnerId} = params;\n const lineOwnerIdQuery = lineOwnerId ? `?lineOwnerId=${encodeURIComponent(lineOwnerId)}` : '';\n const uri = `${this.getTelephonyBaseUrl()}/${callId}${lineOwnerIdQuery}`;\n\n try {\n LoggerProxy.log('AnswerCallOnWebexService.getCallDetails request', {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: METHODS.GET_CALL_DETAILS_ON_WEBEX,\n data: {callIdSuffix: callId.length <= 8 ? callId : callId.slice(-8)},\n });\n\n const response = (await this.webex.request({\n uri,\n method: HTTP_METHODS.GET,\n addAuthHeader: true,\n })) as IHttpResponse;\n\n return (response.body ?? {}) as CallDetailsResponse;\n } catch (error) {\n if (isWxAppCallNotFoundError(error)) {\n const err =\n error instanceof Error\n ? error\n : new Error(String((error as {message?: string})?.message ?? error));\n throw markWxAppTelephonyError(err, error);\n }\n\n const trackingId = this.extractTrackingId(error);\n LoggerProxy.error(`AnswerCallOnWebexService.getCallDetails failed: ${error}`, {\n module: ANSWER_CALL_ON_WEBEX_FILE,\n method: METHODS.GET_CALL_DETAILS_ON_WEBEX,\n data: {\n trackingId,\n status: extractWxAppHttpStatus(error),\n },\n });\n const {error: detailedError} = getErrorDetails(\n error,\n METHODS.GET_CALL_DETAILS_ON_WEBEX,\n CC_FILE\n );\n throw markWxAppTelephonyError(detailedError, error);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -163,6 +163,7 @@ class WebexCrossClientService {
|
|
|
163
163
|
} else {
|
|
164
164
|
metricsManager.trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED, {
|
|
165
165
|
enableWxBetterTogether: enable,
|
|
166
|
+
usersubPublished: this.answerCallsState,
|
|
166
167
|
error: error instanceof Error ? error.toString() : String(error)
|
|
167
168
|
}, ['operational', 'behavioral']);
|
|
168
169
|
}
|
|
@@ -184,10 +185,11 @@ class WebexCrossClientService {
|
|
|
184
185
|
}
|
|
185
186
|
if (trackPublishMetrics) {
|
|
186
187
|
metricsManager.trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS, {
|
|
187
|
-
enableWxBetterTogether: enable
|
|
188
|
+
enableWxBetterTogether: enable,
|
|
189
|
+
usersubPublished: enable
|
|
188
190
|
}, ['operational', 'behavioral']);
|
|
189
191
|
}
|
|
190
|
-
_loggerProxy.default.
|
|
192
|
+
_loggerProxy.default.log(`Cross-client answer-calls-on-wxcc set to ${enable}`, {
|
|
191
193
|
module: WEBEX_CROSS_CLIENT_FILE,
|
|
192
194
|
method: _constants.METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,
|
|
193
195
|
data: {
|
|
@@ -203,6 +205,7 @@ class WebexCrossClientService {
|
|
|
203
205
|
}
|
|
204
206
|
_MetricsManager.default.getInstance().trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED, {
|
|
205
207
|
enableWxBetterTogether: enable,
|
|
208
|
+
usersubPublished: this.answerCallsState,
|
|
206
209
|
skipReason,
|
|
207
210
|
error
|
|
208
211
|
}, ['operational', 'behavioral']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_MetricsManager","_constants2","e","__esModule","default","WEBEX_CROSS_CLIENT_FILE","DEFAULT_CROSS_CLIENT_STATE_TTL","EXPIRATION_OFFSET_MS","DEFAULT_APP_NAME","REFRESH_RETRY_DELAY_MS","MAX_REFRESH_RETRIES","WebexCrossClientService","answerCallsState","appName","refreshGeneration","usersubPublishMetricsId","constructor","webex","extractDeviceIdFromUrl","url","match","getDeviceUrl","internal","device","clearRefreshTimer","refreshTimer","clearTimeout","undefined","refreshRetryTimer","scheduleRefreshRetry","userId","ttl","scheduledGeneration","retryAttempt","setTimeout","setManageWebexCallingInWxcc","error","LoggerProxy","module","method","METHODS","SET_MANAGE_WEBEX_CALLING_IN_WXCC","startRefreshTimer","refreshTime","publishCrossClientState","users","composition","logContext","body","compositions","type","request","service","resource","then","response","catch","Promise","reject","enable","options","operationGeneration","trackPublishMetrics","trackUsersubPreflightFailure","Error","deviceUrl","devices","deviceId","state","metricsManager","MetricsManager","getInstance","usersubPublishEventKeys","METRIC_EVENT_NAMES","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","publishMetricsId","timeEvent","cancelTimedEvent","trackEvent","enableWxBetterTogether","toString","String","info","data","skipReason","teardown","isAnswerCallsStateActive","exports"],"sources":["WebexCrossClientService.ts"],"sourcesContent":["import LoggerProxy from '../logger-proxy';\nimport {METHODS} from '../constants';\nimport {WebexSDK} from '../types';\nimport MetricsManager from '../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../metrics/constants';\n\nconst WEBEX_CROSS_CLIENT_FILE = 'WebexCrossClientService';\nconst DEFAULT_CROSS_CLIENT_STATE_TTL = 900;\nconst EXPIRATION_OFFSET_MS = 60_000;\n/** Must match Agent Desktop usersub publish — Webex App reads `wxcc` cross-client state. */\nconst DEFAULT_APP_NAME = 'wxcc';\nconst REFRESH_RETRY_DELAY_MS = 30_000;\nconst MAX_REFRESH_RETRIES = 3;\n\ntype RefreshTimer = ReturnType<typeof setTimeout>;\n\n/**\n * Publishes usersub cross-client state so Webex App suppresses native calling toasts (WXCC-6026).\n */\nexport default class WebexCrossClientService {\n private webex: WebexSDK;\n private refreshTimer?: RefreshTimer;\n private refreshRetryTimer?: RefreshTimer;\n private answerCallsState = false;\n private appName = DEFAULT_APP_NAME;\n /** Incremented on teardown/disable to ignore stale refresh timer callbacks. */\n private refreshGeneration = 0;\n /** Monotonic id for usersub publish metrics timers; stale publishes cancel only their own timer. */\n private usersubPublishMetricsId = 0;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n }\n\n private extractDeviceIdFromUrl(url: string): string {\n const match = url.match(/\\/devices\\/([^/?]+)/);\n\n return match ? match[1] : '';\n }\n\n private getDeviceUrl(): string | undefined {\n return this.webex.internal.device?.url;\n }\n\n private clearRefreshTimer(): void {\n if (this.refreshTimer) {\n clearTimeout(this.refreshTimer);\n this.refreshTimer = undefined;\n }\n\n if (this.refreshRetryTimer) {\n clearTimeout(this.refreshRetryTimer);\n this.refreshRetryTimer = undefined;\n }\n }\n\n private scheduleRefreshRetry(\n userId: string,\n ttl: number,\n scheduledGeneration: number,\n retryAttempt: number\n ): void {\n if (\n retryAttempt >= MAX_REFRESH_RETRIES ||\n scheduledGeneration !== this.refreshGeneration ||\n !this.answerCallsState\n ) {\n return;\n }\n\n this.refreshRetryTimer = setTimeout(async () => {\n if (scheduledGeneration !== this.refreshGeneration || !this.answerCallsState) {\n return;\n }\n\n try {\n await this.setManageWebexCallingInWxcc(true, {userId, ttl, appName: this.appName});\n } catch (error) {\n LoggerProxy.error(`WebexCrossClientService refresh retry failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n this.scheduleRefreshRetry(userId, ttl, scheduledGeneration, retryAttempt + 1);\n }\n }, REFRESH_RETRY_DELAY_MS);\n }\n\n private startRefreshTimer(userId: string, ttl: number): void {\n this.clearRefreshTimer();\n\n if (!this.answerCallsState) {\n return;\n }\n\n const refreshTime = ttl * 1000 - EXPIRATION_OFFSET_MS;\n const scheduledGeneration = this.refreshGeneration;\n this.refreshTimer = setTimeout(async () => {\n if (scheduledGeneration !== this.refreshGeneration || !this.answerCallsState) {\n return;\n }\n\n try {\n await this.setManageWebexCallingInWxcc(true, {userId, ttl, appName: this.appName});\n } catch (error) {\n LoggerProxy.error(`WebexCrossClientService refresh failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n this.scheduleRefreshRetry(userId, ttl, scheduledGeneration, 0);\n }\n }, refreshTime);\n }\n\n private publishCrossClientState(\n users: string[],\n ttl: number,\n composition: Record<string, unknown>,\n logContext: string\n ): Promise<unknown> {\n const body = {\n users,\n compositions: [\n {\n type: 'cross-client-state',\n ttl,\n composition,\n },\n ],\n };\n\n return this.webex\n .request({\n method: 'POST',\n service: 'usersub',\n resource: 'publish',\n body,\n })\n .then((response: {body?: unknown}) => response?.body)\n .catch((error: unknown) => {\n LoggerProxy.error(`WebexCrossClientService.${logContext} failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n\n return Promise.reject(error);\n });\n }\n\n public async setManageWebexCallingInWxcc(\n enable: boolean,\n options?: {userId?: string; ttl?: number; appName?: string; trackPublishMetrics?: boolean}\n ): Promise<void> {\n const operationGeneration = this.refreshGeneration;\n const userId = options?.userId ?? this.webex.internal.device?.userId;\n const ttl = options?.ttl ?? DEFAULT_CROSS_CLIENT_STATE_TTL;\n const appName = options?.appName ?? DEFAULT_APP_NAME;\n const trackPublishMetrics = options?.trackPublishMetrics ?? false;\n this.appName = appName;\n\n if (!userId) {\n const error = 'User ID is unavailable for cross-client publish';\n this.trackUsersubPreflightFailure(enable, 'user_id_unavailable', error, trackPublishMetrics);\n throw new Error(error);\n }\n\n const deviceUrl = this.getDeviceUrl();\n if (!deviceUrl) {\n const error = 'Device URL is unavailable for cross-client publish';\n this.trackUsersubPreflightFailure(\n enable,\n 'device_url_unavailable',\n error,\n trackPublishMetrics\n );\n throw new Error(error);\n }\n\n const composition = {\n devices: [\n {\n deviceId: this.extractDeviceIdFromUrl(deviceUrl),\n appName,\n state: {\n 'answer-calls-on-wxcc': enable,\n },\n },\n ],\n };\n\n const metricsManager = MetricsManager.getInstance();\n const usersubPublishEventKeys = [\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS,\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n ];\n\n let publishMetricsId = 0;\n if (trackPublishMetrics) {\n this.usersubPublishMetricsId += 1;\n publishMetricsId = this.usersubPublishMetricsId;\n metricsManager.timeEvent(usersubPublishEventKeys);\n }\n\n try {\n await this.publishCrossClientState([userId], ttl, composition, 'setManageWebexCallingInWxcc');\n } catch (error) {\n if (trackPublishMetrics) {\n if (operationGeneration !== this.refreshGeneration) {\n if (publishMetricsId === this.usersubPublishMetricsId) {\n metricsManager.cancelTimedEvent(usersubPublishEventKeys);\n }\n } else {\n metricsManager.trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n {\n enableWxBetterTogether: enable,\n error: error instanceof Error ? error.toString() : String(error),\n },\n ['operational', 'behavioral']\n );\n }\n }\n\n throw error;\n }\n\n if (operationGeneration !== this.refreshGeneration) {\n if (trackPublishMetrics && publishMetricsId === this.usersubPublishMetricsId) {\n metricsManager.cancelTimedEvent(usersubPublishEventKeys);\n }\n\n return;\n }\n\n this.answerCallsState = enable;\n\n if (enable) {\n this.startRefreshTimer(userId, ttl);\n } else {\n this.refreshGeneration += 1;\n this.clearRefreshTimer();\n }\n\n if (trackPublishMetrics) {\n metricsManager.trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS,\n {enableWxBetterTogether: enable},\n ['operational', 'behavioral']\n );\n }\n\n LoggerProxy.info(`Cross-client answer-calls-on-wxcc set to ${enable}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n data: {\n appName,\n deviceId: this.extractDeviceIdFromUrl(deviceUrl),\n ttl,\n },\n });\n }\n\n private trackUsersubPreflightFailure(\n enable: boolean,\n skipReason: 'user_id_unavailable' | 'device_url_unavailable',\n error: string,\n trackPublishMetrics: boolean\n ): void {\n if (!trackPublishMetrics) {\n return;\n }\n\n MetricsManager.getInstance().trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n {\n enableWxBetterTogether: enable,\n skipReason,\n error,\n },\n ['operational', 'behavioral']\n );\n }\n\n public teardown(): void {\n this.refreshGeneration += 1;\n this.clearRefreshTimer();\n this.answerCallsState = false;\n }\n\n /** Whether usersub `answer-calls-on-wxcc: true` was successfully published this session. */\n public isAnswerCallsStateActive(): boolean {\n return this.answerCallsState;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_MetricsManager","_constants2","e","__esModule","default","WEBEX_CROSS_CLIENT_FILE","DEFAULT_CROSS_CLIENT_STATE_TTL","EXPIRATION_OFFSET_MS","DEFAULT_APP_NAME","REFRESH_RETRY_DELAY_MS","MAX_REFRESH_RETRIES","WebexCrossClientService","answerCallsState","appName","refreshGeneration","usersubPublishMetricsId","constructor","webex","extractDeviceIdFromUrl","url","match","getDeviceUrl","internal","device","clearRefreshTimer","refreshTimer","clearTimeout","undefined","refreshRetryTimer","scheduleRefreshRetry","userId","ttl","scheduledGeneration","retryAttempt","setTimeout","setManageWebexCallingInWxcc","error","LoggerProxy","module","method","METHODS","SET_MANAGE_WEBEX_CALLING_IN_WXCC","startRefreshTimer","refreshTime","publishCrossClientState","users","composition","logContext","body","compositions","type","request","service","resource","then","response","catch","Promise","reject","enable","options","operationGeneration","trackPublishMetrics","trackUsersubPreflightFailure","Error","deviceUrl","devices","deviceId","state","metricsManager","MetricsManager","getInstance","usersubPublishEventKeys","METRIC_EVENT_NAMES","WXAPP_USERSUB_PUBLISH_SUCCESS","WXAPP_USERSUB_PUBLISH_FAILED","publishMetricsId","timeEvent","cancelTimedEvent","trackEvent","enableWxBetterTogether","usersubPublished","toString","String","log","data","skipReason","teardown","isAnswerCallsStateActive","exports"],"sources":["WebexCrossClientService.ts"],"sourcesContent":["import LoggerProxy from '../logger-proxy';\nimport {METHODS} from '../constants';\nimport {WebexSDK} from '../types';\nimport MetricsManager from '../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../metrics/constants';\n\nconst WEBEX_CROSS_CLIENT_FILE = 'WebexCrossClientService';\nconst DEFAULT_CROSS_CLIENT_STATE_TTL = 900;\nconst EXPIRATION_OFFSET_MS = 60_000;\n/** Must match Agent Desktop usersub publish — Webex App reads `wxcc` cross-client state. */\nconst DEFAULT_APP_NAME = 'wxcc';\nconst REFRESH_RETRY_DELAY_MS = 30_000;\nconst MAX_REFRESH_RETRIES = 3;\n\ntype RefreshTimer = ReturnType<typeof setTimeout>;\n\n/**\n * Publishes usersub cross-client state so Webex App suppresses native calling toasts (WXCC-6026).\n */\nexport default class WebexCrossClientService {\n private webex: WebexSDK;\n private refreshTimer?: RefreshTimer;\n private refreshRetryTimer?: RefreshTimer;\n private answerCallsState = false;\n private appName = DEFAULT_APP_NAME;\n /** Incremented on teardown/disable to ignore stale refresh timer callbacks. */\n private refreshGeneration = 0;\n /** Monotonic id for usersub publish metrics timers; stale publishes cancel only their own timer. */\n private usersubPublishMetricsId = 0;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n }\n\n private extractDeviceIdFromUrl(url: string): string {\n const match = url.match(/\\/devices\\/([^/?]+)/);\n\n return match ? match[1] : '';\n }\n\n private getDeviceUrl(): string | undefined {\n return this.webex.internal.device?.url;\n }\n\n private clearRefreshTimer(): void {\n if (this.refreshTimer) {\n clearTimeout(this.refreshTimer);\n this.refreshTimer = undefined;\n }\n\n if (this.refreshRetryTimer) {\n clearTimeout(this.refreshRetryTimer);\n this.refreshRetryTimer = undefined;\n }\n }\n\n private scheduleRefreshRetry(\n userId: string,\n ttl: number,\n scheduledGeneration: number,\n retryAttempt: number\n ): void {\n if (\n retryAttempt >= MAX_REFRESH_RETRIES ||\n scheduledGeneration !== this.refreshGeneration ||\n !this.answerCallsState\n ) {\n return;\n }\n\n this.refreshRetryTimer = setTimeout(async () => {\n if (scheduledGeneration !== this.refreshGeneration || !this.answerCallsState) {\n return;\n }\n\n try {\n await this.setManageWebexCallingInWxcc(true, {userId, ttl, appName: this.appName});\n } catch (error) {\n LoggerProxy.error(`WebexCrossClientService refresh retry failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n this.scheduleRefreshRetry(userId, ttl, scheduledGeneration, retryAttempt + 1);\n }\n }, REFRESH_RETRY_DELAY_MS);\n }\n\n private startRefreshTimer(userId: string, ttl: number): void {\n this.clearRefreshTimer();\n\n if (!this.answerCallsState) {\n return;\n }\n\n const refreshTime = ttl * 1000 - EXPIRATION_OFFSET_MS;\n const scheduledGeneration = this.refreshGeneration;\n this.refreshTimer = setTimeout(async () => {\n if (scheduledGeneration !== this.refreshGeneration || !this.answerCallsState) {\n return;\n }\n\n try {\n await this.setManageWebexCallingInWxcc(true, {userId, ttl, appName: this.appName});\n } catch (error) {\n LoggerProxy.error(`WebexCrossClientService refresh failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n this.scheduleRefreshRetry(userId, ttl, scheduledGeneration, 0);\n }\n }, refreshTime);\n }\n\n private publishCrossClientState(\n users: string[],\n ttl: number,\n composition: Record<string, unknown>,\n logContext: string\n ): Promise<unknown> {\n const body = {\n users,\n compositions: [\n {\n type: 'cross-client-state',\n ttl,\n composition,\n },\n ],\n };\n\n return this.webex\n .request({\n method: 'POST',\n service: 'usersub',\n resource: 'publish',\n body,\n })\n .then((response: {body?: unknown}) => response?.body)\n .catch((error: unknown) => {\n LoggerProxy.error(`WebexCrossClientService.${logContext} failed: ${error}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n });\n\n return Promise.reject(error);\n });\n }\n\n public async setManageWebexCallingInWxcc(\n enable: boolean,\n options?: {userId?: string; ttl?: number; appName?: string; trackPublishMetrics?: boolean}\n ): Promise<void> {\n const operationGeneration = this.refreshGeneration;\n const userId = options?.userId ?? this.webex.internal.device?.userId;\n const ttl = options?.ttl ?? DEFAULT_CROSS_CLIENT_STATE_TTL;\n const appName = options?.appName ?? DEFAULT_APP_NAME;\n const trackPublishMetrics = options?.trackPublishMetrics ?? false;\n this.appName = appName;\n\n if (!userId) {\n const error = 'User ID is unavailable for cross-client publish';\n this.trackUsersubPreflightFailure(enable, 'user_id_unavailable', error, trackPublishMetrics);\n throw new Error(error);\n }\n\n const deviceUrl = this.getDeviceUrl();\n if (!deviceUrl) {\n const error = 'Device URL is unavailable for cross-client publish';\n this.trackUsersubPreflightFailure(\n enable,\n 'device_url_unavailable',\n error,\n trackPublishMetrics\n );\n throw new Error(error);\n }\n\n const composition = {\n devices: [\n {\n deviceId: this.extractDeviceIdFromUrl(deviceUrl),\n appName,\n state: {\n 'answer-calls-on-wxcc': enable,\n },\n },\n ],\n };\n\n const metricsManager = MetricsManager.getInstance();\n const usersubPublishEventKeys = [\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS,\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n ];\n\n let publishMetricsId = 0;\n if (trackPublishMetrics) {\n this.usersubPublishMetricsId += 1;\n publishMetricsId = this.usersubPublishMetricsId;\n metricsManager.timeEvent(usersubPublishEventKeys);\n }\n\n try {\n await this.publishCrossClientState([userId], ttl, composition, 'setManageWebexCallingInWxcc');\n } catch (error) {\n if (trackPublishMetrics) {\n if (operationGeneration !== this.refreshGeneration) {\n if (publishMetricsId === this.usersubPublishMetricsId) {\n metricsManager.cancelTimedEvent(usersubPublishEventKeys);\n }\n } else {\n metricsManager.trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n {\n enableWxBetterTogether: enable,\n usersubPublished: this.answerCallsState,\n error: error instanceof Error ? error.toString() : String(error),\n },\n ['operational', 'behavioral']\n );\n }\n }\n\n throw error;\n }\n\n if (operationGeneration !== this.refreshGeneration) {\n if (trackPublishMetrics && publishMetricsId === this.usersubPublishMetricsId) {\n metricsManager.cancelTimedEvent(usersubPublishEventKeys);\n }\n\n return;\n }\n\n this.answerCallsState = enable;\n\n if (enable) {\n this.startRefreshTimer(userId, ttl);\n } else {\n this.refreshGeneration += 1;\n this.clearRefreshTimer();\n }\n\n if (trackPublishMetrics) {\n metricsManager.trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_SUCCESS,\n {\n enableWxBetterTogether: enable,\n usersubPublished: enable,\n },\n ['operational', 'behavioral']\n );\n }\n\n LoggerProxy.log(`Cross-client answer-calls-on-wxcc set to ${enable}`, {\n module: WEBEX_CROSS_CLIENT_FILE,\n method: METHODS.SET_MANAGE_WEBEX_CALLING_IN_WXCC,\n data: {\n appName,\n deviceId: this.extractDeviceIdFromUrl(deviceUrl),\n ttl,\n },\n });\n }\n\n private trackUsersubPreflightFailure(\n enable: boolean,\n skipReason: 'user_id_unavailable' | 'device_url_unavailable',\n error: string,\n trackPublishMetrics: boolean\n ): void {\n if (!trackPublishMetrics) {\n return;\n }\n\n MetricsManager.getInstance().trackEvent(\n METRIC_EVENT_NAMES.WXAPP_USERSUB_PUBLISH_FAILED,\n {\n enableWxBetterTogether: enable,\n usersubPublished: this.answerCallsState,\n skipReason,\n error,\n },\n ['operational', 'behavioral']\n );\n }\n\n public teardown(): void {\n this.refreshGeneration += 1;\n this.clearRefreshTimer();\n this.answerCallsState = false;\n }\n\n /** Whether usersub `answer-calls-on-wxcc: true` was successfully published this session. */\n public isAnswerCallsStateActive(): boolean {\n return this.answerCallsState;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -67,7 +67,8 @@ class WxAppTelephonyMercurySync {
|
|
|
67
67
|
method: _constants.METHODS.SYNC_WXAPP_MUTE_FROM_MERCURY
|
|
68
68
|
});
|
|
69
69
|
_MetricsManager.default.getInstance().trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED, {
|
|
70
|
-
error: 'Mercury is unavailable for wxApp mute sync'
|
|
70
|
+
error: 'Mercury is unavailable for wxApp mute sync',
|
|
71
|
+
mercurySubscribed: false
|
|
71
72
|
}, ['operational', 'behavioral']);
|
|
72
73
|
return;
|
|
73
74
|
}
|
|
@@ -81,8 +82,10 @@ class WxAppTelephonyMercurySync {
|
|
|
81
82
|
};
|
|
82
83
|
mercury.on(TELEPHONY_CALL_MUTED, this.boundMuteHandler);
|
|
83
84
|
mercury.on(TELEPHONY_CALL_UNMUTED, this.boundUnmuteHandler);
|
|
84
|
-
_MetricsManager.default.getInstance().trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS, {
|
|
85
|
-
|
|
85
|
+
_MetricsManager.default.getInstance().trackEvent(_constants2.METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS, {
|
|
86
|
+
mercurySubscribed: true
|
|
87
|
+
}, ['operational', 'behavioral']);
|
|
88
|
+
_loggerProxy.default.log('Subscribed to wxApp telephony Mercury mute sync', {
|
|
86
89
|
module: WXAPP_TELEPHONY_MERCURY_SYNC_FILE,
|
|
87
90
|
method: _constants.METHODS.SYNC_WXAPP_MUTE_FROM_MERCURY
|
|
88
91
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_MetricsManager","_constants2","_wxAppDiagnosticLogging","e","__esModule","default","WXAPP_TELEPHONY_MERCURY_SYNC_FILE","TELEPHONY_CALL_MUTED","exports","TELEPHONY_CALL_UNMUTED","WxAppTelephonyMercurySync","constructor","webex","decodeBase64","value","atob","handleMuteStateEvent","agentId","event","actorId","callId","muted","data","undefined","logWxAppMercuryMuteSync","phase","dropReason","decodedActorId","decodedCallId","endsWith","callIdSuffix","muteChangeHandler","subscribe","onMuteChange","unsubscribe","mercury","internal","LoggerProxy","error","module","method","METHODS","SYNC_WXAPP_MUTE_FROM_MERCURY","MetricsManager","getInstance","trackEvent","METRIC_EVENT_NAMES","WXAPP_MERCURY_SUBSCRIBE_FAILED","subscribedAgentId","boundMuteHandler","boundUnmuteHandler","on","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","_MetricsManager","_constants2","_wxAppDiagnosticLogging","e","__esModule","default","WXAPP_TELEPHONY_MERCURY_SYNC_FILE","TELEPHONY_CALL_MUTED","exports","TELEPHONY_CALL_UNMUTED","WxAppTelephonyMercurySync","constructor","webex","decodeBase64","value","atob","handleMuteStateEvent","agentId","event","actorId","callId","muted","data","undefined","logWxAppMercuryMuteSync","phase","dropReason","decodedActorId","decodedCallId","endsWith","callIdSuffix","muteChangeHandler","subscribe","onMuteChange","unsubscribe","mercury","internal","LoggerProxy","error","module","method","METHODS","SYNC_WXAPP_MUTE_FROM_MERCURY","MetricsManager","getInstance","trackEvent","METRIC_EVENT_NAMES","WXAPP_MERCURY_SUBSCRIBE_FAILED","mercurySubscribed","subscribedAgentId","boundMuteHandler","boundUnmuteHandler","on","WXAPP_MERCURY_SUBSCRIBE_SUCCESS","log","off","isSubscribed","Boolean"],"sources":["WxAppTelephonyMercurySync.ts"],"sourcesContent":["import LoggerProxy from '../logger-proxy';\nimport {METHODS} from '../constants';\nimport {WebexSDK} from '../types';\nimport MetricsManager from '../metrics/MetricsManager';\nimport {METRIC_EVENT_NAMES} from '../metrics/constants';\nimport {callIdSuffix, logWxAppMercuryMuteSync} from './wxAppDiagnosticLogging';\n\nconst WXAPP_TELEPHONY_MERCURY_SYNC_FILE = 'WxAppTelephonyMercurySync';\n\nexport const TELEPHONY_CALL_MUTED = 'event:telephony_calls.muted';\nexport const TELEPHONY_CALL_UNMUTED = 'event:telephony_calls.unmuted';\n\nexport type UpdatedCallMuteStateEvent = {\n data: {\n actorId: string;\n callId: string;\n muted: boolean;\n };\n};\n\ntype MuteChangeHandler = (callId: string, muted: boolean) => void;\n\n/**\n * Subscribes to Mercury telephony mute/unmute events for wxApp thick-client sync (AD parity).\n */\nexport default class WxAppTelephonyMercurySync {\n private webex: WebexSDK;\n private subscribedAgentId?: string;\n private muteChangeHandler?: MuteChangeHandler;\n private boundMuteHandler?: (event: UpdatedCallMuteStateEvent) => void;\n private boundUnmuteHandler?: (event: UpdatedCallMuteStateEvent) => void;\n\n constructor(webex: WebexSDK) {\n this.webex = webex;\n }\n\n private decodeBase64(value: string): string {\n try {\n return atob(value);\n } catch {\n return value;\n }\n }\n\n private handleMuteStateEvent = (agentId: string, event: UpdatedCallMuteStateEvent): void => {\n const {actorId, callId, muted} = event?.data ?? {};\n if (!actorId || !callId || muted === undefined) {\n logWxAppMercuryMuteSync({\n phase: 'dropped',\n dropReason: 'missing_mercury_event_fields',\n });\n\n return;\n }\n\n const decodedActorId = this.decodeBase64(actorId);\n const decodedCallId = this.decodeBase64(callId);\n\n if (!decodedActorId.endsWith(agentId)) {\n logWxAppMercuryMuteSync({\n phase: 'dropped',\n muted,\n callIdSuffix: callIdSuffix(decodedCallId),\n dropReason: 'actor_id_mismatch',\n });\n\n return;\n }\n\n logWxAppMercuryMuteSync({\n phase: 'received',\n muted,\n callIdSuffix: callIdSuffix(decodedCallId),\n });\n\n this.muteChangeHandler?.(decodedCallId, muted);\n };\n\n public subscribe(agentId: string, onMuteChange: MuteChangeHandler): void {\n this.unsubscribe();\n\n const mercury = this.webex.internal.mercury;\n if (!mercury) {\n LoggerProxy.error('Mercury is unavailable for wxApp mute sync', {\n module: WXAPP_TELEPHONY_MERCURY_SYNC_FILE,\n method: METHODS.SYNC_WXAPP_MUTE_FROM_MERCURY,\n });\n\n MetricsManager.getInstance().trackEvent(\n METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_FAILED,\n {error: 'Mercury is unavailable for wxApp mute sync', mercurySubscribed: false},\n ['operational', 'behavioral']\n );\n\n return;\n }\n\n this.subscribedAgentId = agentId;\n this.muteChangeHandler = onMuteChange;\n\n this.boundMuteHandler = (event: UpdatedCallMuteStateEvent) => {\n this.handleMuteStateEvent(agentId, event);\n };\n this.boundUnmuteHandler = (event: UpdatedCallMuteStateEvent) => {\n this.handleMuteStateEvent(agentId, event);\n };\n\n mercury.on(TELEPHONY_CALL_MUTED, this.boundMuteHandler);\n mercury.on(TELEPHONY_CALL_UNMUTED, this.boundUnmuteHandler);\n\n MetricsManager.getInstance().trackEvent(\n METRIC_EVENT_NAMES.WXAPP_MERCURY_SUBSCRIBE_SUCCESS,\n {mercurySubscribed: true},\n ['operational', 'behavioral']\n );\n\n LoggerProxy.log('Subscribed to wxApp telephony Mercury mute sync', {\n module: WXAPP_TELEPHONY_MERCURY_SYNC_FILE,\n method: METHODS.SYNC_WXAPP_MUTE_FROM_MERCURY,\n });\n }\n\n public unsubscribe(): void {\n const mercury = this.webex.internal.mercury;\n\n if (mercury && this.boundMuteHandler) {\n mercury.off(TELEPHONY_CALL_MUTED, this.boundMuteHandler);\n }\n if (mercury && this.boundUnmuteHandler) {\n mercury.off(TELEPHONY_CALL_UNMUTED, this.boundUnmuteHandler);\n }\n\n this.subscribedAgentId = undefined;\n this.muteChangeHandler = undefined;\n this.boundMuteHandler = undefined;\n this.boundUnmuteHandler = undefined;\n }\n\n public isSubscribed(): boolean {\n return Boolean(this.subscribedAgentId && this.muteChangeHandler);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|