@webex/contact-center 3.12.0-next.13 → 3.12.0-next.130
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 +884 -0
- package/AGENTS.md +94 -0
- package/ai-docs/ARCHITECTURE.md +168 -0
- package/ai-docs/CONTRACTS.md +53 -0
- package/ai-docs/GETTING_STARTED.md +168 -0
- package/ai-docs/GLOSSARY.md +43 -0
- package/ai-docs/README.md +138 -0
- package/ai-docs/REVIEW_CHECKLIST.md +41 -0
- package/ai-docs/RULES.md +444 -0
- package/ai-docs/SECURITY.md +52 -0
- package/ai-docs/SERVICE_STATE.md +52 -0
- package/ai-docs/SPEC_INDEX.md +65 -0
- package/ai-docs/adr/0001-spec-source-policy.md +55 -0
- package/ai-docs/adr/README.md +8 -0
- package/ai-docs/adr/_adr-template.md +31 -0
- package/ai-docs/contact-center-spec.md +382 -0
- package/ai-docs/features/consult-transfer-list-policy/spec/feature-spec.md +362 -0
- package/ai-docs/features/contact-owner-change-refactor.md +78 -0
- package/ai-docs/features/generated-spec-conformance-fidelity-remediation/spec/feature-spec.md +117 -0
- package/ai-docs/features/residual-warning-coverage-completion/spec/feature-spec.md +203 -0
- package/ai-docs/features/validator-code-fidelity-drift-fix/spec/feature-spec.md +315 -0
- package/ai-docs/patterns/event-driven-patterns.md +485 -0
- package/ai-docs/patterns/testing-patterns.md +480 -0
- package/ai-docs/patterns/typescript-patterns.md +365 -0
- package/ai-docs/templates/README.md +102 -0
- package/ai-docs/templates/documentation/create-agents-md.md +240 -0
- package/ai-docs/templates/documentation/create-architecture-md.md +295 -0
- package/ai-docs/templates/existing-service/bug-fix.md +254 -0
- package/ai-docs/templates/existing-service/feature-enhancement.md +450 -0
- package/ai-docs/templates/new-method/00-master.md +80 -0
- package/ai-docs/templates/new-method/01-requirements.md +232 -0
- package/ai-docs/templates/new-method/02-implementation.md +295 -0
- package/ai-docs/templates/new-method/03-tests.md +201 -0
- package/ai-docs/templates/new-method/04-validation.md +141 -0
- package/ai-docs/templates/new-service/00-master.md +109 -0
- package/ai-docs/templates/new-service/01-pre-questions.md +159 -0
- package/ai-docs/templates/new-service/02-code-generation.md +346 -0
- package/ai-docs/templates/new-service/03-integration.md +178 -0
- package/ai-docs/templates/new-service/04-test-generation.md +205 -0
- package/ai-docs/templates/new-service/05-validation.md +145 -0
- package/dist/cc.js +971 -42
- package/dist/cc.js.map +1 -1
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.js +31 -3
- package/dist/constants.js.map +1 -1
- package/dist/index.js +45 -15
- package/dist/index.js.map +1 -1
- package/dist/metrics/MetricsManager.js +16 -0
- package/dist/metrics/MetricsManager.js.map +1 -1
- package/dist/metrics/behavioral-events.js +205 -0
- package/dist/metrics/behavioral-events.js.map +1 -1
- package/dist/metrics/constants.js +48 -4
- package/dist/metrics/constants.js.map +1 -1
- package/dist/services/AddressBook.js +18 -15
- package/dist/services/AddressBook.js.map +1 -1
- package/dist/services/AnswerCallOnWebexService.js +202 -0
- package/dist/services/AnswerCallOnWebexService.js.map +1 -0
- package/dist/services/ApiAiAssistant.js +269 -9
- package/dist/services/ApiAiAssistant.js.map +1 -1
- package/dist/services/EntryPoint.js +46 -68
- package/dist/services/EntryPoint.js.map +1 -1
- package/dist/services/Queue.js +27 -22
- package/dist/services/Queue.js.map +1 -1
- package/dist/services/UserPreference.js +427 -0
- package/dist/services/UserPreference.js.map +1 -0
- package/dist/services/WebexCrossClientService.js +222 -0
- package/dist/services/WebexCrossClientService.js.map +1 -0
- package/dist/services/WxAppTelephonyMercurySync.js +108 -0
- package/dist/services/WxAppTelephonyMercurySync.js.map +1 -0
- package/dist/services/config/Util.js +11 -4
- package/dist/services/config/Util.js.map +1 -1
- package/dist/services/config/constants.js +41 -7
- package/dist/services/config/constants.js.map +1 -1
- package/dist/services/config/index.js +51 -0
- package/dist/services/config/index.js.map +1 -1
- package/dist/services/config/types.js +57 -12
- package/dist/services/config/types.js.map +1 -1
- package/dist/services/core/Err.js.map +1 -1
- package/dist/services/core/Utils.js +111 -32
- package/dist/services/core/Utils.js.map +1 -1
- package/dist/services/core/WebexRequest.js +6 -2
- package/dist/services/core/WebexRequest.js.map +1 -1
- package/dist/services/core/aqm-reqs.js +28 -14
- package/dist/services/core/aqm-reqs.js.map +1 -1
- package/dist/services/core/types.js.map +1 -1
- package/dist/services/core/websocket/WebSocketManager.js +2 -1
- package/dist/services/core/websocket/WebSocketManager.js.map +1 -1
- package/dist/services/core/websocket/types.js.map +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/task/Task.js +754 -0
- package/dist/services/task/Task.js.map +1 -0
- package/dist/services/task/TaskFactory.js +49 -0
- package/dist/services/task/TaskFactory.js.map +1 -0
- package/dist/services/task/TaskManager.js +1172 -521
- package/dist/services/task/TaskManager.js.map +1 -1
- package/dist/services/task/TaskUtils.js +211 -27
- package/dist/services/task/TaskUtils.js.map +1 -1
- package/dist/services/task/WebexCallingUtils.js +70 -0
- package/dist/services/task/WebexCallingUtils.js.map +1 -0
- package/dist/services/task/constants.js +12 -2
- package/dist/services/task/constants.js.map +1 -1
- package/dist/services/task/contact.js +29 -0
- package/dist/services/task/contact.js.map +1 -1
- package/dist/services/task/dialer.js +78 -0
- package/dist/services/task/dialer.js.map +1 -1
- package/dist/services/task/digital/Digital.js +78 -0
- package/dist/services/task/digital/Digital.js.map +1 -0
- package/dist/services/task/state-machine/TaskStateMachine.js +982 -0
- package/dist/services/task/state-machine/TaskStateMachine.js.map +1 -0
- package/dist/services/task/state-machine/actions.js +572 -0
- package/dist/services/task/state-machine/actions.js.map +1 -0
- package/dist/services/task/state-machine/constants.js +161 -0
- package/dist/services/task/state-machine/constants.js.map +1 -0
- package/dist/services/task/state-machine/guards.js +379 -0
- package/dist/services/task/state-machine/guards.js.map +1 -0
- package/dist/services/task/state-machine/index.js +53 -0
- package/dist/services/task/state-machine/index.js.map +1 -0
- package/dist/services/task/state-machine/types.js +54 -0
- package/dist/services/task/state-machine/types.js.map +1 -0
- package/dist/services/task/state-machine/uiControlsComputer.js +703 -0
- package/dist/services/task/state-machine/uiControlsComputer.js.map +1 -0
- package/dist/services/task/taskDataNormalizer.js +99 -0
- package/dist/services/task/taskDataNormalizer.js.map +1 -0
- package/dist/services/task/types.js +228 -5
- package/dist/services/task/types.js.map +1 -1
- package/dist/services/task/voice/Voice.js +1485 -0
- package/dist/services/task/voice/Voice.js.map +1 -0
- package/dist/services/task/voice/WebRTC.js +152 -0
- package/dist/services/task/voice/WebRTC.js.map +1 -0
- package/dist/services/task/voice/wxAppVoiceMethods.js +354 -0
- package/dist/services/task/voice/wxAppVoiceMethods.js.map +1 -0
- package/dist/services/wxAppDiagnosticLogging.js +122 -0
- package/dist/services/wxAppDiagnosticLogging.js.map +1 -0
- package/dist/services/wxAppTelephonyUtils.js +19 -0
- package/dist/services/wxAppTelephonyUtils.js.map +1 -0
- package/dist/types/cc.d.ts +193 -6
- package/dist/types/config.d.ts +13 -0
- package/dist/types/constants.d.ts +29 -1
- package/dist/types/index.d.ts +35 -8
- package/dist/types/metrics/MetricsManager.d.ts +6 -0
- package/dist/types/metrics/constants.d.ts +43 -1
- package/dist/types/services/AddressBook.d.ts +2 -1
- package/dist/types/services/AnswerCallOnWebexService.d.ts +38 -0
- package/dist/types/services/ApiAiAssistant.d.ts +56 -5
- package/dist/types/services/EntryPoint.d.ts +7 -5
- package/dist/types/services/Queue.d.ts +5 -3
- package/dist/types/services/UserPreference.d.ts +118 -0
- package/dist/types/services/WebexCrossClientService.d.ts +32 -0
- package/dist/types/services/WxAppTelephonyMercurySync.d.ts +28 -0
- package/dist/types/services/config/constants.d.ts +34 -5
- package/dist/types/services/config/types.d.ts +197 -12
- package/dist/types/services/core/Err.d.ts +6 -0
- package/dist/types/services/core/Utils.d.ts +35 -13
- package/dist/types/services/core/WebexRequest.d.ts +1 -0
- package/dist/types/services/core/types.d.ts +2 -0
- package/dist/types/services/core/websocket/WebSocketManager.d.ts +1 -0
- package/dist/types/services/core/websocket/types.d.ts +1 -1
- package/dist/types/services/index.d.ts +1 -1
- package/dist/types/services/task/Task.d.ts +175 -0
- package/dist/types/services/task/TaskFactory.d.ts +13 -0
- package/dist/types/services/task/TaskUtils.d.ts +48 -2
- package/dist/types/services/task/WebexCallingUtils.d.ts +11 -0
- package/dist/types/services/task/constants.d.ts +10 -0
- package/dist/types/services/task/contact.d.ts +4 -0
- package/dist/types/services/task/dialer.d.ts +30 -0
- package/dist/types/services/task/digital/Digital.d.ts +22 -0
- package/dist/types/services/task/state-machine/TaskStateMachine.d.ts +1442 -0
- package/dist/types/services/task/state-machine/actions.d.ts +10 -0
- package/dist/types/services/task/state-machine/constants.d.ts +107 -0
- package/dist/types/services/task/state-machine/guards.d.ts +103 -0
- package/dist/types/services/task/state-machine/index.d.ts +13 -0
- package/dist/types/services/task/state-machine/types.d.ts +277 -0
- package/dist/types/services/task/state-machine/uiControlsComputer.d.ts +9 -0
- package/dist/types/services/task/taskDataNormalizer.d.ts +10 -0
- package/dist/types/services/task/types.d.ts +680 -66
- package/dist/types/services/task/voice/Voice.d.ts +227 -0
- package/dist/types/services/task/voice/WebRTC.d.ts +53 -0
- package/dist/types/services/task/voice/wxAppVoiceMethods.d.ts +55 -0
- package/dist/types/services/wxAppDiagnosticLogging.d.ts +51 -0
- package/dist/types/services/wxAppTelephonyUtils.d.ts +5 -0
- package/dist/types/types.d.ts +205 -9
- package/dist/types/utils/PageCache.d.ts +20 -3
- package/dist/types/webex.d.ts +1 -0
- package/dist/types.js +162 -4
- package/dist/types.js.map +1 -1
- package/dist/utils/PageCache.js +19 -5
- package/dist/utils/PageCache.js.map +1 -1
- package/dist/webex.js +22 -2
- package/dist/webex.js.map +1 -1
- package/package.json +16 -12
- package/src/cc.ts +1289 -112
- package/src/config.ts +13 -0
- package/src/constants.ts +29 -1
- package/src/index.ts +36 -5
- package/src/metrics/MetricsManager.ts +16 -0
- package/src/metrics/ai-docs/AGENTS.md +350 -0
- package/src/metrics/ai-docs/ARCHITECTURE.md +338 -0
- package/src/metrics/ai-docs/metrics-spec.md +921 -0
- package/src/metrics/behavioral-events.ts +212 -0
- package/src/metrics/constants.ts +52 -4
- package/src/services/AddressBook.ts +17 -6
- package/src/services/AnswerCallOnWebexService.ts +239 -0
- package/src/services/ApiAiAssistant.ts +356 -9
- package/src/services/EntryPoint.ts +59 -60
- package/src/services/Queue.ts +29 -12
- package/src/services/UserPreference.ts +509 -0
- package/src/services/WebexCrossClientService.ts +293 -0
- package/src/services/WxAppTelephonyMercurySync.ts +142 -0
- package/src/services/agent/ai-docs/AGENTS.md +240 -0
- package/src/services/agent/ai-docs/ARCHITECTURE.md +304 -0
- package/src/services/agent/ai-docs/agent-spec.md +505 -0
- package/src/services/ai-docs/AGENTS.md +386 -0
- package/src/services/ai-docs/services-spec.md +505 -0
- package/src/services/config/Util.ts +12 -3
- package/src/services/config/ai-docs/AGENTS.md +255 -0
- package/src/services/config/ai-docs/ARCHITECTURE.md +426 -0
- package/src/services/config/ai-docs/config-spec.md +686 -0
- package/src/services/config/constants.ts +46 -6
- package/src/services/config/index.ts +65 -0
- package/src/services/config/types.ts +197 -13
- package/src/services/core/Err.ts +3 -0
- package/src/services/core/Utils.ts +127 -37
- package/src/services/core/WebexRequest.ts +3 -1
- package/src/services/core/ai-docs/AGENTS.md +381 -0
- package/src/services/core/ai-docs/ARCHITECTURE.md +698 -0
- package/src/services/core/ai-docs/core-spec.md +787 -0
- package/src/services/core/aqm-reqs.ts +30 -15
- package/src/services/core/types.ts +2 -0
- package/src/services/core/websocket/WebSocketManager.ts +2 -0
- package/src/services/core/websocket/types.ts +1 -1
- package/src/services/index.ts +1 -1
- package/src/services/task/Task.ts +908 -0
- package/src/services/task/TaskFactory.ts +60 -0
- package/src/services/task/TaskManager.ts +1419 -608
- package/src/services/task/TaskUtils.ts +303 -25
- package/src/services/task/WebexCallingUtils.ts +136 -0
- package/src/services/task/ai-docs/AGENTS.md +457 -0
- package/src/services/task/ai-docs/ARCHITECTURE.md +595 -0
- package/src/services/task/ai-docs/task-spec.md +1474 -0
- package/src/services/task/constants.ts +10 -0
- package/src/services/task/contact.ts +30 -0
- package/src/services/task/dialer.ts +80 -0
- package/src/services/task/digital/Digital.ts +97 -0
- package/src/services/task/state-machine/TaskStateMachine.ts +1320 -0
- package/src/services/task/state-machine/actions.ts +741 -0
- package/src/services/task/state-machine/ai-docs/AGENTS.md +460 -0
- package/src/services/task/state-machine/ai-docs/ARCHITECTURE.md +1156 -0
- package/src/services/task/state-machine/ai-docs/task-state-machine-spec.md +2247 -0
- package/src/services/task/state-machine/constants.ts +172 -0
- package/src/services/task/state-machine/guards.ts +442 -0
- package/src/services/task/state-machine/index.ts +28 -0
- package/src/services/task/state-machine/types.ts +258 -0
- package/src/services/task/state-machine/uiControlsComputer.ts +1135 -0
- package/src/services/task/taskDataNormalizer.ts +137 -0
- package/src/services/task/types.ts +819 -70
- package/src/services/task/voice/Voice.ts +1851 -0
- package/src/services/task/voice/WebRTC.ts +191 -0
- package/src/services/task/voice/wxAppVoiceMethods.ts +516 -0
- package/src/services/wxAppDiagnosticLogging.ts +174 -0
- package/src/services/wxAppTelephonyUtils.ts +14 -0
- package/src/types.ts +262 -11
- package/src/utils/AGENTS.md +289 -0
- package/src/utils/PageCache.ts +38 -5
- package/src/utils/ai-docs/utils-spec.md +391 -0
- package/src/webex.js +10 -0
- package/test/unit/spec/cc.ts +2210 -119
- package/test/unit/spec/logger-proxy.ts +70 -0
- package/test/unit/spec/metrics/MetricsManager.ts +25 -0
- package/test/unit/spec/metrics/behavioral-events.ts +60 -0
- package/test/unit/spec/services/AddressBook.ts +37 -6
- package/test/unit/spec/services/AnswerCallOnWebexService.ts +264 -0
- package/test/unit/spec/services/ApiAiAssistant.ts +311 -21
- package/test/unit/spec/services/EntryPoint.ts +87 -40
- package/test/unit/spec/services/Queue.ts +123 -12
- package/test/unit/spec/services/UserPreference.ts +401 -0
- package/test/unit/spec/services/WebCallingService.ts +7 -1
- package/test/unit/spec/services/WebexCrossClientService.ts +467 -0
- package/test/unit/spec/services/WxAppTelephonyMercurySync.ts +136 -0
- package/test/unit/spec/services/config/Util.ts +129 -0
- package/test/unit/spec/services/config/index.ts +97 -29
- package/test/unit/spec/services/core/Utils.ts +425 -8
- package/test/unit/spec/services/core/WebexRequest.ts +3 -1
- package/test/unit/spec/services/core/aqm-reqs.ts +113 -1
- package/test/unit/spec/services/core/websocket/WebSocketManager.ts +66 -40
- package/test/unit/spec/services/task/AutoWrapup.ts +63 -0
- package/test/unit/spec/services/task/Task.ts +745 -0
- package/test/unit/spec/services/task/TaskFactory.ts +99 -0
- package/test/unit/spec/services/task/TaskManager.ts +2518 -1494
- package/test/unit/spec/services/task/TaskUtils.ts +235 -0
- package/test/unit/spec/services/task/WebexCallingUtils.ts +153 -0
- package/test/unit/spec/services/task/contact.ts +33 -0
- package/test/unit/spec/services/task/dialer.ts +190 -0
- package/test/unit/spec/services/task/digital/Digital.ts +105 -0
- package/test/unit/spec/services/task/state-machine/TaskStateMachine.ts +4060 -0
- package/test/unit/spec/services/task/state-machine/guards.ts +839 -0
- package/test/unit/spec/services/task/state-machine/types.ts +18 -0
- package/test/unit/spec/services/task/state-machine/uiControlsComputer.ts +3101 -0
- package/test/unit/spec/services/task/taskTestUtils.ts +87 -0
- package/test/unit/spec/services/task/voice/Voice.ts +2061 -0
- package/test/unit/spec/services/task/voice/WebRTC.ts +235 -0
- package/test/unit/spec/services/task/voice/wxAppVoiceMethods.ts +603 -0
- package/test/unit/spec/services/wxAppDiagnosticLogging.ts +143 -0
- package/test/unit/spec/wellnessSampleUtils.ts +288 -0
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
- package/dist/services/task/index.js +0 -1525
- package/dist/services/task/index.js.map +0 -1
- package/dist/types/services/task/index.d.ts +0 -650
- package/src/services/task/index.ts +0 -1801
- package/test/unit/spec/services/task/index.ts +0 -2184
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
// making query params configurable for List Teams and List Aux Codes API
|
|
2
2
|
export const DEFAULT_PAGE = 0;
|
|
3
3
|
|
|
4
|
+
/** Desktop Profile access levels for collaboration destination categories. */
|
|
5
|
+
export const COLLABORATION_ACCESS = {
|
|
6
|
+
ALL: 'ALL',
|
|
7
|
+
SPECIFIC: 'SPECIFIC',
|
|
8
|
+
NONE: 'NONE',
|
|
9
|
+
} as const;
|
|
10
|
+
|
|
4
11
|
/**
|
|
5
12
|
* Default page size for paginated API requests.
|
|
6
13
|
* @type {number}
|
|
@@ -27,6 +34,12 @@ export const AGENT_STATE_AVAILABLE_ID = '0';
|
|
|
27
34
|
*/
|
|
28
35
|
export const AGENT_STATE_AVAILABLE = 'Available';
|
|
29
36
|
|
|
37
|
+
/** System idle-code name reserved for Agent Wellness Break. */
|
|
38
|
+
export const WELLBEING_BREAK_IDLE_CODE = 'WellbeingBreak';
|
|
39
|
+
|
|
40
|
+
/** Backend sentinel indicating wellness-break reminders are enabled. @internal */
|
|
41
|
+
export const WELLNESS_BREAK_REMINDERS_ENABLED = 'ENABLED';
|
|
42
|
+
|
|
30
43
|
/**
|
|
31
44
|
* Description for the 'Available' agent state.
|
|
32
45
|
* @type {string}
|
|
@@ -68,6 +81,7 @@ export const METHODS = {
|
|
|
68
81
|
GET_URL_MAPPING: 'getURLMapping',
|
|
69
82
|
GET_DIAL_PLAN_DATA: 'getDialPlanData',
|
|
70
83
|
GET_AI_FEATURE_FLAGS: 'getAIFeatureFlags',
|
|
84
|
+
GET_WELLBEING_BREAK_IDLE_CODE: 'getWellbeingBreakIdleCode',
|
|
71
85
|
GET_QUEUES: 'getQueues',
|
|
72
86
|
|
|
73
87
|
// Util methods
|
|
@@ -168,6 +182,11 @@ export const endPointMap = {
|
|
|
168
182
|
filter && filter.length > 0 ? `&filter=id=in=(${filter})` : ''
|
|
169
183
|
}&attributes=${attributes}&desktopProfileFilter=true`,
|
|
170
184
|
|
|
185
|
+
/** Lists system idle codes without applying the agent Desktop Profile filter. */
|
|
186
|
+
systemIdleCodes: (orgId: string, page: number, pageSize: number) =>
|
|
187
|
+
`organization/${orgId}/v2/auxiliary-code?page=${page}&pageSize=${pageSize}` +
|
|
188
|
+
'&workType=IDLE_CODE&customFilter=isSystemCode==true&desktopProfileFilter=false',
|
|
189
|
+
|
|
171
190
|
/**
|
|
172
191
|
* Gets the endpoint for organization info.
|
|
173
192
|
* @param orgId - Organization ID.
|
|
@@ -258,17 +277,14 @@ export const endPointMap = {
|
|
|
258
277
|
queueList: (orgId: string, queryParams: string) =>
|
|
259
278
|
`/organization/${orgId}/v2/contact-service-queue?${queryParams}`,
|
|
260
279
|
/**
|
|
261
|
-
* Gets the
|
|
280
|
+
* Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.
|
|
262
281
|
* @param orgId - Organization ID.
|
|
263
282
|
* @param queryParams - Query parameters string.
|
|
264
283
|
* @returns The endpoint URL string.
|
|
265
|
-
* @public
|
|
266
|
-
* @example
|
|
267
|
-
* const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');
|
|
268
284
|
* @ignore
|
|
269
285
|
*/
|
|
270
|
-
|
|
271
|
-
`/organization/${orgId}/
|
|
286
|
+
entryPointDialNumberList: (orgId: string, queryParams: string) =>
|
|
287
|
+
`/organization/${orgId}/v3/dial-number?${queryParams}`,
|
|
272
288
|
/**
|
|
273
289
|
* Gets the endpoint for address book entries with custom query parameters.
|
|
274
290
|
* @param orgId - Organization ID.
|
|
@@ -298,4 +314,28 @@ export const endPointMap = {
|
|
|
298
314
|
`organization/${orgId}/v2/outdial-ani/${outdialANI}/entry${
|
|
299
315
|
queryParams ? `?${queryParams}` : ''
|
|
300
316
|
}`,
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Gets the endpoint for user preference by user ID.
|
|
320
|
+
* @param orgId - Organization ID.
|
|
321
|
+
* @param userId - User ID.
|
|
322
|
+
* @returns The endpoint URL string.
|
|
323
|
+
* @public
|
|
324
|
+
* @example
|
|
325
|
+
* const url = endPointMap.userPreference('org123', 'user456');
|
|
326
|
+
* @ignore
|
|
327
|
+
*/
|
|
328
|
+
userPreference: (orgId: string, userId: string) =>
|
|
329
|
+
`organization/${orgId}/user-preference/${userId}`,
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Gets the endpoint for creating user preference.
|
|
333
|
+
* @param orgId - Organization ID.
|
|
334
|
+
* @returns The endpoint URL string.
|
|
335
|
+
* @public
|
|
336
|
+
* @example
|
|
337
|
+
* const url = endPointMap.userPreferenceCreate('org123');
|
|
338
|
+
* @ignore
|
|
339
|
+
*/
|
|
340
|
+
userPreferenceCreate: (orgId: string) => `organization/${orgId}/user-preference`,
|
|
301
341
|
};
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
OutdialAniEntriesResponse,
|
|
24
24
|
OutdialAniParams,
|
|
25
25
|
AIFeatureFlagsResponse,
|
|
26
|
+
Entity,
|
|
26
27
|
} from './types';
|
|
27
28
|
import WebexRequest from '../core/WebexRequest';
|
|
28
29
|
import {WCC_API_GATEWAY} from '../constants';
|
|
@@ -34,6 +35,7 @@ import {
|
|
|
34
35
|
DEFAULT_PAGE_SIZE,
|
|
35
36
|
endPointMap,
|
|
36
37
|
METHODS,
|
|
38
|
+
WELLBEING_BREAK_IDLE_CODE,
|
|
37
39
|
} from './constants';
|
|
38
40
|
|
|
39
41
|
/**
|
|
@@ -470,6 +472,69 @@ export default class AgentConfigService {
|
|
|
470
472
|
}
|
|
471
473
|
}
|
|
472
474
|
|
|
475
|
+
/**
|
|
476
|
+
* Retrieves the exact system-managed WellbeingBreak idle code.
|
|
477
|
+
* This query intentionally bypasses Desktop Profile filtering so the system code does not
|
|
478
|
+
* need to appear in the normal agent-selectable idle-code list.
|
|
479
|
+
* @param orgId - Organization identifier
|
|
480
|
+
* @returns The normalized WellbeingBreak entity
|
|
481
|
+
* @throws When the request fails or the exact system code is unavailable
|
|
482
|
+
* @internal
|
|
483
|
+
*/
|
|
484
|
+
public async getWellbeingBreakIdleCode(orgId: string): Promise<Entity> {
|
|
485
|
+
LoggerProxy.info('Fetching WellbeingBreak system idle code', {
|
|
486
|
+
module: CONFIG_FILE_NAME,
|
|
487
|
+
method: METHODS.GET_WELLBEING_BREAK_IDLE_CODE,
|
|
488
|
+
});
|
|
489
|
+
|
|
490
|
+
try {
|
|
491
|
+
let page = DEFAULT_PAGE;
|
|
492
|
+
let totalPages = 1;
|
|
493
|
+
|
|
494
|
+
do {
|
|
495
|
+
// Pagination is intentionally sequential so the lookup can stop as soon as the code is found.
|
|
496
|
+
// eslint-disable-next-line no-await-in-loop
|
|
497
|
+
const response = await this.webexReq.request({
|
|
498
|
+
service: WCC_API_GATEWAY,
|
|
499
|
+
resource: endPointMap.systemIdleCodes(orgId, page, DEFAULT_PAGE_SIZE),
|
|
500
|
+
method: HTTP_METHODS.GET,
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
if (response.statusCode !== 200) {
|
|
504
|
+
throw new Error(`API call failed with ${response.statusCode}`);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
const result = response.body as ListAuxCodesResponse;
|
|
508
|
+
const wellbeingCode = result.data?.find(
|
|
509
|
+
(code) =>
|
|
510
|
+
code.active === true &&
|
|
511
|
+
code.isSystemCode === true &&
|
|
512
|
+
code.name === WELLBEING_BREAK_IDLE_CODE
|
|
513
|
+
);
|
|
514
|
+
|
|
515
|
+
if (wellbeingCode) {
|
|
516
|
+
return {
|
|
517
|
+
id: wellbeingCode.id,
|
|
518
|
+
name: wellbeingCode.name,
|
|
519
|
+
isSystem: true,
|
|
520
|
+
isDefault: wellbeingCode.defaultCode,
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
totalPages = result.meta?.totalPages ?? 1;
|
|
525
|
+
page += 1;
|
|
526
|
+
} while (page < totalPages);
|
|
527
|
+
|
|
528
|
+
throw new Error('WELLBEING_BREAK_IDLE_CODE_NOT_FOUND');
|
|
529
|
+
} catch (error) {
|
|
530
|
+
LoggerProxy.error(`getWellbeingBreakIdleCode API call failed with ${error}`, {
|
|
531
|
+
module: CONFIG_FILE_NAME,
|
|
532
|
+
method: METHODS.GET_WELLBEING_BREAK_IDLE_CODE,
|
|
533
|
+
});
|
|
534
|
+
throw error;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
|
|
473
538
|
/**
|
|
474
539
|
* Fetches the site data for the given orgId and siteId.
|
|
475
540
|
* @ignore
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Agent from '../agent/types';
|
|
2
|
+
import {COLLABORATION_ACCESS} from './constants';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Generic type for converting a const enum object into a union type of its values
|
|
@@ -6,6 +7,9 @@ import * as Agent from '../agent/types';
|
|
|
6
7
|
*/
|
|
7
8
|
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
8
9
|
|
|
10
|
+
/** Desktop Profile access level for a collaboration destination category. */
|
|
11
|
+
export type CollaborationAccess = Enum<typeof COLLABORATION_ACCESS>;
|
|
12
|
+
|
|
9
13
|
/**
|
|
10
14
|
* Events emitted on task objects
|
|
11
15
|
* @enum {string}
|
|
@@ -57,6 +61,8 @@ export const CC_TASK_EVENTS = {
|
|
|
57
61
|
PARTICIPANT_LEFT_CONFERENCE: 'ParticipantLeftConference',
|
|
58
62
|
/** Event emitted when participant leaving conference fails */
|
|
59
63
|
PARTICIPANT_LEFT_CONFERENCE_FAILED: 'ParticipantLeftConferenceFailed',
|
|
64
|
+
/** Event emitted when dropping another conference participant fails */
|
|
65
|
+
PARTICIPANT_DROP_CONFERENCE_FAILED: 'ParticipantDropConferenceFailed',
|
|
60
66
|
/** Event emitted when consultation conference end fails */
|
|
61
67
|
AGENT_CONSULT_CONFERENCE_END_FAILED: 'AgentConsultConferenceEndFailed',
|
|
62
68
|
/** Event emitted when conference is successfully transferred */
|
|
@@ -65,6 +71,8 @@ export const CC_TASK_EVENTS = {
|
|
|
65
71
|
AGENT_CONFERENCE_TRANSFER_FAILED: 'AgentConferenceTransferFailed',
|
|
66
72
|
/** Event emitted for post-call activity by participant */
|
|
67
73
|
PARTICIPANT_POST_CALL_ACTIVITY: 'ParticipantPostCallActivity',
|
|
74
|
+
/** Event emitted when consulted participant is being moved/transferred */
|
|
75
|
+
CONSULTED_PARTICIPANT_MOVING: 'ConsultedParticipantMoving',
|
|
68
76
|
/** Event emitted when contact is blind transferred */
|
|
69
77
|
AGENT_BLIND_TRANSFERRED: 'AgentBlindTransferred',
|
|
70
78
|
/** Event emitted when blind transfer fails */
|
|
@@ -81,6 +89,8 @@ export const CC_TASK_EVENTS = {
|
|
|
81
89
|
AGENT_CONSULT_TRANSFER_FAILED: 'AgentConsultTransferFailed',
|
|
82
90
|
/** Event emitted when contact recording is paused */
|
|
83
91
|
CONTACT_RECORDING_PAUSED: 'ContactRecordingPaused',
|
|
92
|
+
/** Event emitted when contact recording is started */
|
|
93
|
+
CONTACT_RECORDING_STARTED: 'ContactRecordingStarted',
|
|
84
94
|
/** Event emitted when pausing contact recording fails */
|
|
85
95
|
CONTACT_RECORDING_PAUSE_FAILED: 'ContactRecordingPauseFailed',
|
|
86
96
|
/** Event emitted when contact recording is resumed */
|
|
@@ -91,6 +101,10 @@ export const CC_TASK_EVENTS = {
|
|
|
91
101
|
CONTACT_ENDED: 'ContactEnded',
|
|
92
102
|
/** Event emitted when contact is merged */
|
|
93
103
|
CONTACT_MERGED: 'ContactMerged',
|
|
104
|
+
/** Event emitted when contact payload is updated (routing updates) */
|
|
105
|
+
CONTACT_UPDATED: 'ContactUpdated',
|
|
106
|
+
/** Event emitted when contact owner changes */
|
|
107
|
+
CONTACT_OWNER_CHANGED: 'ContactOwnerChanged',
|
|
94
108
|
/** Event emitted when ending contact fails */
|
|
95
109
|
AGENT_CONTACT_END_FAILED: 'AgentContactEndFailed',
|
|
96
110
|
/** Event emitted when agent enters wrap-up state */
|
|
@@ -117,15 +131,26 @@ export const CC_TASK_EVENTS = {
|
|
|
117
131
|
CAMPAIGN_CONTACT_UPDATED: 'CampaignContactUpdated',
|
|
118
132
|
/** Event emitted when accepting a campaign preview contact fails */
|
|
119
133
|
CAMPAIGN_PREVIEW_ACCEPT_FAILED: 'CampaignPreviewAcceptFailed',
|
|
134
|
+
/** Event emitted when skipping a campaign preview contact fails */
|
|
135
|
+
CAMPAIGN_PREVIEW_SKIP_FAILED: 'CampaignPreviewSkipFailed',
|
|
136
|
+
/** Event emitted when removing a campaign preview contact fails */
|
|
137
|
+
CAMPAIGN_PREVIEW_REMOVE_FAILED: 'CampaignPreviewRemoveFailed',
|
|
120
138
|
/** Event emitted when a real-time transcript chunk is received */
|
|
121
139
|
REAL_TIME_TRANSCRIPTION: 'REAL_TIME_TRANSCRIPTION',
|
|
140
|
+
/** Event emitted when an AI assistant suggested response is available */
|
|
141
|
+
SUGGESTED_RESPONSE: 'SUGGESTED_RESPONSE',
|
|
142
|
+
/** Event emitted when backend acknowledges it is listening for more context */
|
|
143
|
+
SUGGESTED_RESPONSE_ACKNOWLEDGE: 'SUGGESTED_RESPONSE_ACKNOWLEDGE',
|
|
144
|
+
/** Event emitted when a mid-call summary is available */
|
|
145
|
+
MID_CALL_SUMMARY: 'MID_CALL_SUMMARY',
|
|
146
|
+
/** Event emitted when a post-call summary is available */
|
|
147
|
+
POST_CALL_SUMMARY: 'POST_CALL_SUMMARY',
|
|
122
148
|
} as const;
|
|
123
149
|
|
|
124
150
|
/**
|
|
125
151
|
* Events emitted on Contact Center agent operations
|
|
126
152
|
* @enum {string}
|
|
127
|
-
* @
|
|
128
|
-
* @ignore
|
|
153
|
+
* @public
|
|
129
154
|
*/
|
|
130
155
|
export const CC_AGENT_EVENTS = {
|
|
131
156
|
/** Welcome event when agent connects to websocket/backend */
|
|
@@ -164,6 +189,8 @@ export const CC_AGENT_EVENTS = {
|
|
|
164
189
|
AGENT_BUDDY_AGENTS_RETRIEVE_FAILED: 'BuddyAgentsRetrieveFailed',
|
|
165
190
|
/** Event emitted when contact is reserved for agent */
|
|
166
191
|
AGENT_CONTACT_RESERVED: 'AgentContactReserved',
|
|
192
|
+
/** Agent-level Agent Wellness Break notification */
|
|
193
|
+
WELLNESS_BREAK: 'WellnessBreak',
|
|
167
194
|
} as const;
|
|
168
195
|
|
|
169
196
|
/**
|
|
@@ -185,6 +212,15 @@ export type WelcomeEvent = {
|
|
|
185
212
|
agentId: string;
|
|
186
213
|
};
|
|
187
214
|
|
|
215
|
+
/**
|
|
216
|
+
* Available login options for voice channel access
|
|
217
|
+
* 'AGENT_DN' - Login using agent's DN
|
|
218
|
+
* 'EXTENSION' - Login using extension number
|
|
219
|
+
* 'BROWSER' - Login using browser-based WebRTC
|
|
220
|
+
* @public
|
|
221
|
+
*/
|
|
222
|
+
export type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';
|
|
223
|
+
|
|
188
224
|
/**
|
|
189
225
|
* Response type for welcome events which can be either success or error
|
|
190
226
|
* @public
|
|
@@ -275,14 +311,40 @@ export type AgentResponse = {
|
|
|
275
311
|
|
|
276
312
|
/**
|
|
277
313
|
* The default dialed number of the agent.
|
|
314
|
+
* Note: The API returns this field as "deafultDialledNumber" (with typo).
|
|
278
315
|
*/
|
|
279
|
-
|
|
316
|
+
deafultDialledNumber?: string;
|
|
280
317
|
};
|
|
281
318
|
|
|
282
319
|
/**
|
|
283
320
|
* Represents the response from getDesktopProfileById method.
|
|
284
321
|
*/
|
|
285
322
|
export type DesktopProfileResponse = {
|
|
323
|
+
/**
|
|
324
|
+
* Unique identifier of the agent profile configuration.
|
|
325
|
+
*/
|
|
326
|
+
id: string;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Display name for the agent profile.
|
|
330
|
+
*/
|
|
331
|
+
name: string;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Description of the agent profile.
|
|
335
|
+
*/
|
|
336
|
+
description: string;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Parent entity type for the profile (for example ORGANIZATION).
|
|
340
|
+
*/
|
|
341
|
+
parentType: string;
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Indicates whether screen pop is enabled.
|
|
345
|
+
*/
|
|
346
|
+
screenPopup: boolean;
|
|
347
|
+
|
|
286
348
|
/**
|
|
287
349
|
* Represents the voice options of an agent.
|
|
288
350
|
*/
|
|
@@ -323,6 +385,11 @@ export type DesktopProfileResponse = {
|
|
|
323
385
|
*/
|
|
324
386
|
autoWrapUp: boolean;
|
|
325
387
|
|
|
388
|
+
/**
|
|
389
|
+
* Whether the agent personal greeting is enabled.
|
|
390
|
+
*/
|
|
391
|
+
agentPersonalGreeting: boolean;
|
|
392
|
+
|
|
326
393
|
/**
|
|
327
394
|
* Auto answer allowed.
|
|
328
395
|
*/
|
|
@@ -343,6 +410,36 @@ export type DesktopProfileResponse = {
|
|
|
343
410
|
*/
|
|
344
411
|
allowAutoWrapUpExtension: boolean;
|
|
345
412
|
|
|
413
|
+
/**
|
|
414
|
+
* Access control for queues assigned to the agent (ALL, SPECIFIC, or NONE).
|
|
415
|
+
*/
|
|
416
|
+
accessQueue: CollaborationAccess;
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Queue identifiers available to the agent when access is SPECIFIC.
|
|
420
|
+
*/
|
|
421
|
+
queues: string[];
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Access control for entry points assigned to the agent.
|
|
425
|
+
*/
|
|
426
|
+
accessEntryPoint: CollaborationAccess;
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Entry point identifiers available to the agent when access is SPECIFIC.
|
|
430
|
+
*/
|
|
431
|
+
entryPoints: string[];
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Access control for buddy teams assigned to the agent.
|
|
435
|
+
*/
|
|
436
|
+
accessBuddyTeam: CollaborationAccess;
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Buddy team identifiers available to the agent when access is SPECIFIC.
|
|
440
|
+
*/
|
|
441
|
+
buddyTeams: string[];
|
|
442
|
+
|
|
346
443
|
/**
|
|
347
444
|
* Outdial enabled for the agent.
|
|
348
445
|
*/
|
|
@@ -386,6 +483,11 @@ export type DesktopProfileResponse = {
|
|
|
386
483
|
*/
|
|
387
484
|
agentDNValidation: string;
|
|
388
485
|
|
|
486
|
+
/**
|
|
487
|
+
* Additional DN validation criteria configured for the agent.
|
|
488
|
+
*/
|
|
489
|
+
agentDNValidationCriterions: string[];
|
|
490
|
+
|
|
389
491
|
/**
|
|
390
492
|
* Dial plans of the agent.
|
|
391
493
|
*/
|
|
@@ -420,6 +522,31 @@ export type DesktopProfileResponse = {
|
|
|
420
522
|
* State synchronization in Webex enabled or not.
|
|
421
523
|
*/
|
|
422
524
|
stateSynchronizationWebex: boolean;
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Threshold rules configured for the agent profile.
|
|
528
|
+
*/
|
|
529
|
+
thresholdRules: Array<Record<string, string | number>>;
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Whether the agent profile is currently active.
|
|
533
|
+
*/
|
|
534
|
+
active: boolean;
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* Whether this profile is the system default.
|
|
538
|
+
*/
|
|
539
|
+
systemDefault: boolean;
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* Timestamp when the profile was created.
|
|
543
|
+
*/
|
|
544
|
+
createdTime: number;
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Timestamp when the profile was last updated.
|
|
548
|
+
*/
|
|
549
|
+
lastUpdatedTime: number;
|
|
423
550
|
};
|
|
424
551
|
|
|
425
552
|
/**
|
|
@@ -603,6 +730,8 @@ export type OrgSettings = {
|
|
|
603
730
|
maskSensitiveData: boolean;
|
|
604
731
|
/** Whether campaign manager features are enabled */
|
|
605
732
|
campaignManagerEnabled: boolean;
|
|
733
|
+
/** Number of AI Assistant licenses assigned to the organization */
|
|
734
|
+
aiAssistantQuantity?: number | null;
|
|
606
735
|
};
|
|
607
736
|
|
|
608
737
|
/**
|
|
@@ -866,15 +995,6 @@ export type WrapupData = {
|
|
|
866
995
|
};
|
|
867
996
|
};
|
|
868
997
|
|
|
869
|
-
/**
|
|
870
|
-
* Available login options for voice channel access
|
|
871
|
-
* 'AGENT_DN' - Login using agent's DN
|
|
872
|
-
* 'EXTENSION' - Login using extension number
|
|
873
|
-
* 'BROWSER' - Login using browser-based WebRTC
|
|
874
|
-
* @public
|
|
875
|
-
*/
|
|
876
|
-
export type LoginOption = 'AGENT_DN' | 'EXTENSION' | 'BROWSER';
|
|
877
|
-
|
|
878
998
|
/**
|
|
879
999
|
* Team configuration information
|
|
880
1000
|
* @public
|
|
@@ -1047,7 +1167,7 @@ export type Profile = {
|
|
|
1047
1167
|
/** Outbound entry point */
|
|
1048
1168
|
outDialEp: string;
|
|
1049
1169
|
/** Whether ending calls is enabled */
|
|
1050
|
-
|
|
1170
|
+
isEndTaskEnabled: boolean;
|
|
1051
1171
|
/** Whether ending consultations is enabled */
|
|
1052
1172
|
isEndConsultEnabled: boolean;
|
|
1053
1173
|
/** Optional lifecycle manager URL */
|
|
@@ -1058,6 +1178,12 @@ export type Profile = {
|
|
|
1058
1178
|
agentAnalyzerId?: string;
|
|
1059
1179
|
/** Whether consult to queue is allowed */
|
|
1060
1180
|
allowConsultToQueue: boolean;
|
|
1181
|
+
/** Access control for queues on Desktop Profile Collaboration tab */
|
|
1182
|
+
accessQueue?: CollaborationAccess;
|
|
1183
|
+
/** Access control for entry points on Desktop Profile Collaboration tab */
|
|
1184
|
+
accessEntryPoint?: CollaborationAccess;
|
|
1185
|
+
/** Access control for buddy teams on Desktop Profile Collaboration tab */
|
|
1186
|
+
accessBuddyTeam?: CollaborationAccess;
|
|
1061
1187
|
/** Additional campaign manager information */
|
|
1062
1188
|
campaignManagerAdditionalInfo?: string;
|
|
1063
1189
|
/** Whether personal statistics are enabled */
|
|
@@ -1122,6 +1248,12 @@ export type Profile = {
|
|
|
1122
1248
|
lastIdleCodeChangeTimestamp?: number;
|
|
1123
1249
|
/** AI feature flags resolved from organization config */
|
|
1124
1250
|
aiFeature?: AIFeatureFlags;
|
|
1251
|
+
/**
|
|
1252
|
+
* Whether Agent Wellness Break is effectively enabled for this profile.
|
|
1253
|
+
* This combines the organization wellbeing configuration with AI Assistant licensing;
|
|
1254
|
+
* Server-side rollout remains enforced by the backend configuration and notification delivery.
|
|
1255
|
+
*/
|
|
1256
|
+
isWellnessBreakEnabled?: boolean;
|
|
1125
1257
|
};
|
|
1126
1258
|
|
|
1127
1259
|
/**
|
|
@@ -1183,3 +1315,55 @@ export type OutdialAniParams = {
|
|
|
1183
1315
|
/** Comma-separated list of attributes to include in response (optional) */
|
|
1184
1316
|
attributes?: string;
|
|
1185
1317
|
};
|
|
1318
|
+
|
|
1319
|
+
/**
|
|
1320
|
+
* User preference data structure
|
|
1321
|
+
* @public
|
|
1322
|
+
*/
|
|
1323
|
+
export type UserPreference = {
|
|
1324
|
+
/** Unique identifier for the user preference */
|
|
1325
|
+
id: string;
|
|
1326
|
+
/** Organization ID */
|
|
1327
|
+
organizationId: string;
|
|
1328
|
+
/** User ID (CI user ID) */
|
|
1329
|
+
userId: string;
|
|
1330
|
+
/** User preference data as key-value pairs */
|
|
1331
|
+
preferences: Record<string, unknown>;
|
|
1332
|
+
/** Timestamp when this preference was created (Unix timestamp in milliseconds) */
|
|
1333
|
+
createdTime?: number;
|
|
1334
|
+
/** Timestamp when this preference was last updated (Unix timestamp in milliseconds) */
|
|
1335
|
+
lastUpdatedTime?: number;
|
|
1336
|
+
};
|
|
1337
|
+
|
|
1338
|
+
/**
|
|
1339
|
+
* Request payload for creating user preferences
|
|
1340
|
+
* @public
|
|
1341
|
+
*/
|
|
1342
|
+
export type CreateUserPreferenceRequest = {
|
|
1343
|
+
/** User ID (CI user ID) */
|
|
1344
|
+
userId: string;
|
|
1345
|
+
/** Desktop preference data as a JSON string (required) */
|
|
1346
|
+
desktopPreference: string;
|
|
1347
|
+
};
|
|
1348
|
+
|
|
1349
|
+
/**
|
|
1350
|
+
* Request payload for updating user preferences
|
|
1351
|
+
* @public
|
|
1352
|
+
*/
|
|
1353
|
+
export type UpdateUserPreferenceRequest = {
|
|
1354
|
+
/** Desktop preference data as a JSON string (required) */
|
|
1355
|
+
desktopPreference: string;
|
|
1356
|
+
};
|
|
1357
|
+
|
|
1358
|
+
/**
|
|
1359
|
+
* Query parameters for fetching user preferences
|
|
1360
|
+
* @public
|
|
1361
|
+
*/
|
|
1362
|
+
export type GetUserPreferenceParams = {
|
|
1363
|
+
/** User ID to fetch preferences for. Defaults to current user's CI user ID. */
|
|
1364
|
+
userId?: string;
|
|
1365
|
+
/** Page number (0-indexed). Default: 0 */
|
|
1366
|
+
page?: number;
|
|
1367
|
+
/** Number of items per page. Default: 100 */
|
|
1368
|
+
pageSize?: number;
|
|
1369
|
+
};
|
package/src/services/core/Err.ts
CHANGED
|
@@ -30,6 +30,7 @@ export type TaskErrorIds =
|
|
|
30
30
|
| {'Service.aqm.err.trackingId': {trackingId: string}}
|
|
31
31
|
| {'Service.aqm.task.consultAccept': Failure}
|
|
32
32
|
| {'Service.aqm.task.consultConference': Failure}
|
|
33
|
+
| {'Service.aqm.task.dropConferenceParticipant': Failure}
|
|
33
34
|
| {'Service.aqm.task.consultEnd': Failure}
|
|
34
35
|
| {'Service.aqm.task.cancelCtq': Failure}
|
|
35
36
|
| {'Service.aqm.task.hold': Failure}
|
|
@@ -39,6 +40,8 @@ export type TaskErrorIds =
|
|
|
39
40
|
| {'Service.aqm.task.resumeRecording': Failure}
|
|
40
41
|
| {'Service.aqm.dialer.startOutdial': Failure}
|
|
41
42
|
| {'Service.aqm.dialer.acceptPreviewContact': Failure}
|
|
43
|
+
| {'Service.aqm.dialer.skipPreviewContact': Failure}
|
|
44
|
+
| {'Service.aqm.dialer.removePreviewContact': Failure}
|
|
42
45
|
| {'Service.reqs.generic.failure': {trackingId: string}};
|
|
43
46
|
|
|
44
47
|
export type ReqError =
|