@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
|
@@ -27,7 +27,7 @@ import type { EntryPointListResponse, EntryPointSearchParams } from '../types';
|
|
|
27
27
|
* });
|
|
28
28
|
*
|
|
29
29
|
* // Search for specific entry points
|
|
30
|
-
* const searchResults = await entryPointAPI.
|
|
30
|
+
* const searchResults = await entryPointAPI.getEntryPoints({
|
|
31
31
|
* search: 'support',
|
|
32
32
|
* filter: 'type=="voice"'
|
|
33
33
|
* });
|
|
@@ -37,7 +37,6 @@ export declare class EntryPoint {
|
|
|
37
37
|
private webexRequest;
|
|
38
38
|
private webex;
|
|
39
39
|
private metricsManager;
|
|
40
|
-
private pageCache;
|
|
41
40
|
/**
|
|
42
41
|
* Creates an instance of EntryPoint
|
|
43
42
|
* @param {WebexSDK} webex - The Webex SDK instance
|
|
@@ -45,14 +44,17 @@ export declare class EntryPoint {
|
|
|
45
44
|
*/
|
|
46
45
|
constructor(webex: WebexSDK);
|
|
47
46
|
/**
|
|
48
|
-
* Fetches entry
|
|
49
|
-
*
|
|
47
|
+
* Fetches entry-point dial-number mappings for the organization with pagination support. By
|
|
48
|
+
* default, returns the agent's desktop-profile-filtered mappings in backend entry-point-name order.
|
|
49
|
+
* Search, filter, attribute, and sort parameters can customize the request while desktop-profile
|
|
50
|
+
* scoping and required mapping fields remain SDK-owned.
|
|
51
|
+
* @param {EntryPointSearchParams} [params] - Search, pagination, and compatible override parameters.
|
|
50
52
|
* @returns {Promise<EntryPointListResponse>} Promise resolving to paginated entry points
|
|
51
53
|
* @throws {Error} If the API call fails
|
|
52
54
|
* @public
|
|
53
55
|
* @example
|
|
54
56
|
* ```typescript
|
|
55
|
-
* // Get first page
|
|
57
|
+
* // Get the first page using the default entry-point policy
|
|
56
58
|
* const response = await entryPointAPI.getEntryPoints();
|
|
57
59
|
*
|
|
58
60
|
* // Get specific page with custom page size
|
|
@@ -48,14 +48,16 @@ export declare class Queue {
|
|
|
48
48
|
*/
|
|
49
49
|
constructor(webex: WebexSDK);
|
|
50
50
|
/**
|
|
51
|
-
* Fetches contact service queues for the organization
|
|
52
|
-
*
|
|
51
|
+
* Fetches contact service queues for the organization. By default, returns active inbound
|
|
52
|
+
* telephony queues in backend name-ascending order using the agent's desktop profile views.
|
|
53
|
+
* Existing filter, sort, and desktop-profile parameters override those defaults.
|
|
54
|
+
* @param {ContactServiceQueueSearchParams} [params] - Search, pagination, and override parameters
|
|
53
55
|
* @returns {Promise<ContactServiceQueuesResponse>} Promise resolving to contact service queues
|
|
54
56
|
* @throws {Error} If the API call fails
|
|
55
57
|
* @public
|
|
56
58
|
* @example
|
|
57
59
|
* ```typescript
|
|
58
|
-
* // Get
|
|
60
|
+
* // Get queues using the default list policy and pagination
|
|
59
61
|
* const response = await queueAPI.getQueues();
|
|
60
62
|
*
|
|
61
63
|
* // Get queues with specific pagination
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { WebexSDK } from '../types';
|
|
2
|
+
import type { UserPreference as UserPreferenceResponse, CreateUserPreferenceRequest, UpdateUserPreferenceRequest, GetUserPreferenceParams } from './config/types';
|
|
3
|
+
/**
|
|
4
|
+
* UserPreference API class for managing Webex Contact Center user preferences.
|
|
5
|
+
* Provides functionality to get, create, update, and delete user preferences.
|
|
6
|
+
*
|
|
7
|
+
* @class UserPreference
|
|
8
|
+
* @public
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import Webex from 'webex';
|
|
12
|
+
*
|
|
13
|
+
* const webex = new Webex({ credentials: 'YOUR_ACCESS_TOKEN' });
|
|
14
|
+
* const cc = webex.cc;
|
|
15
|
+
*
|
|
16
|
+
* // Register and login first
|
|
17
|
+
* await cc.register();
|
|
18
|
+
* await cc.stationLogin({ teamId: 'team123', loginOption: 'BROWSER' });
|
|
19
|
+
*
|
|
20
|
+
* // Get UserPreference API instance from ContactCenter
|
|
21
|
+
* const userPreferenceAPI = cc.userPreference;
|
|
22
|
+
*
|
|
23
|
+
* // Get user preferences for the current user
|
|
24
|
+
* const preferences = await userPreferenceAPI.getUserPreference();
|
|
25
|
+
*
|
|
26
|
+
* // Create new user preferences
|
|
27
|
+
* const newPreferences = await userPreferenceAPI.createUserPreference({
|
|
28
|
+
* userId: 'user123',
|
|
29
|
+
* preferences: { e911Reminder: true }
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // Update user preferences
|
|
33
|
+
* const updatedPreferences = await userPreferenceAPI.updateUserPreference('user123', {
|
|
34
|
+
* preferences: { e911Reminder: false }
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* // Delete user preferences
|
|
38
|
+
* await userPreferenceAPI.deleteUserPreference('user123');
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class UserPreference {
|
|
42
|
+
private webexRequest;
|
|
43
|
+
private webex;
|
|
44
|
+
private getUserId;
|
|
45
|
+
private metricsManager;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an instance of UserPreference
|
|
48
|
+
* @param {WebexSDK} webex - The Webex SDK instance
|
|
49
|
+
* @param {() => string} getUserId - Function to get the current user's CI user ID
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
constructor(webex: WebexSDK, getUserId: () => string);
|
|
53
|
+
/**
|
|
54
|
+
* Fetches user preferences for a specific user
|
|
55
|
+
* @param {GetUserPreferenceParams} [params] - Optional parameters for fetching preferences
|
|
56
|
+
* @param {string} [params.userId] - User ID to fetch preferences for. Defaults to current user's CI user ID.
|
|
57
|
+
* @param {number} [params.page=0] - Page number (0-indexed). Default: 0
|
|
58
|
+
* @param {number} [params.pageSize=100] - Number of items per page. Default: 100
|
|
59
|
+
* @returns {Promise<UserPreferenceResponse>} Promise resolving to user preferences
|
|
60
|
+
* @throws {Error} If the API call fails
|
|
61
|
+
* @public
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Get preferences for current user
|
|
65
|
+
* const preferences = await userPreferenceAPI.getUserPreference();
|
|
66
|
+
*
|
|
67
|
+
* // Get preferences for a specific user
|
|
68
|
+
* const preferences = await userPreferenceAPI.getUserPreference({ userId: 'user123' });
|
|
69
|
+
*
|
|
70
|
+
* // Get preferences with pagination
|
|
71
|
+
* const preferences = await userPreferenceAPI.getUserPreference({ page: 0, pageSize: 50 });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
getUserPreference(params?: GetUserPreferenceParams): Promise<UserPreferenceResponse>;
|
|
75
|
+
/**
|
|
76
|
+
* Creates new user preferences
|
|
77
|
+
* @param {CreateUserPreferenceRequest} data - The user preference data to create
|
|
78
|
+
* @returns {Promise<UserPreference>} Promise resolving to created user preferences
|
|
79
|
+
* @throws {Error} If the API call fails
|
|
80
|
+
* @public
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const newPreferences = await userPreferenceAPI.createUserPreference({
|
|
84
|
+
* userId: 'user123',
|
|
85
|
+
* preferences: { e911Reminder: true, notificationSettings: { email: true } }
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
createUserPreference(data: CreateUserPreferenceRequest): Promise<UserPreferenceResponse>;
|
|
90
|
+
/**
|
|
91
|
+
* Updates existing user preferences
|
|
92
|
+
* @param {string} userId - User ID to update preferences for
|
|
93
|
+
* @param {UpdateUserPreferenceRequest} data - The user preference data to update
|
|
94
|
+
* @returns {Promise<UserPreference>} Promise resolving to updated user preferences
|
|
95
|
+
* @throws {Error} If the API call fails
|
|
96
|
+
* @public
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const updatedPreferences = await userPreferenceAPI.updateUserPreference('user123', {
|
|
100
|
+
* preferences: { e911Reminder: false }
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
updateUserPreference(userId: string, data: UpdateUserPreferenceRequest): Promise<UserPreferenceResponse>;
|
|
105
|
+
/**
|
|
106
|
+
* Deletes user preferences for a specific user
|
|
107
|
+
* @param {string} userId - User ID to delete preferences for
|
|
108
|
+
* @returns {Promise<void>} Promise resolving when deletion is complete
|
|
109
|
+
* @throws {Error} If the API call fails
|
|
110
|
+
* @public
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* await userPreferenceAPI.deleteUserPreference('user123');
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
deleteUserPreference(userId: string): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
export default UserPreference;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WebexSDK } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Publishes usersub cross-client state so Webex App suppresses native calling toasts (WXCC-6026).
|
|
4
|
+
*/
|
|
5
|
+
export default class WebexCrossClientService {
|
|
6
|
+
private webex;
|
|
7
|
+
private refreshTimer?;
|
|
8
|
+
private refreshRetryTimer?;
|
|
9
|
+
private answerCallsState;
|
|
10
|
+
private appName;
|
|
11
|
+
/** Incremented on teardown/disable to ignore stale refresh timer callbacks. */
|
|
12
|
+
private refreshGeneration;
|
|
13
|
+
/** Monotonic id for usersub publish metrics timers; stale publishes cancel only their own timer. */
|
|
14
|
+
private usersubPublishMetricsId;
|
|
15
|
+
constructor(webex: WebexSDK);
|
|
16
|
+
private extractDeviceIdFromUrl;
|
|
17
|
+
private getDeviceUrl;
|
|
18
|
+
private clearRefreshTimer;
|
|
19
|
+
private scheduleRefreshRetry;
|
|
20
|
+
private startRefreshTimer;
|
|
21
|
+
private publishCrossClientState;
|
|
22
|
+
setManageWebexCallingInWxcc(enable: boolean, options?: {
|
|
23
|
+
userId?: string;
|
|
24
|
+
ttl?: number;
|
|
25
|
+
appName?: string;
|
|
26
|
+
trackPublishMetrics?: boolean;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
private trackUsersubPreflightFailure;
|
|
29
|
+
teardown(): void;
|
|
30
|
+
/** Whether usersub `answer-calls-on-wxcc: true` was successfully published this session. */
|
|
31
|
+
isAnswerCallsStateActive(): boolean;
|
|
32
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WebexSDK } from '../types';
|
|
2
|
+
export declare const TELEPHONY_CALL_MUTED = "event:telephony_calls.muted";
|
|
3
|
+
export declare const TELEPHONY_CALL_UNMUTED = "event:telephony_calls.unmuted";
|
|
4
|
+
export type UpdatedCallMuteStateEvent = {
|
|
5
|
+
data: {
|
|
6
|
+
actorId: string;
|
|
7
|
+
callId: string;
|
|
8
|
+
muted: boolean;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type MuteChangeHandler = (callId: string, muted: boolean) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Subscribes to Mercury telephony mute/unmute events for wxApp thick-client sync (AD parity).
|
|
14
|
+
*/
|
|
15
|
+
export default class WxAppTelephonyMercurySync {
|
|
16
|
+
private webex;
|
|
17
|
+
private subscribedAgentId?;
|
|
18
|
+
private muteChangeHandler?;
|
|
19
|
+
private boundMuteHandler?;
|
|
20
|
+
private boundUnmuteHandler?;
|
|
21
|
+
constructor(webex: WebexSDK);
|
|
22
|
+
private decodeBase64;
|
|
23
|
+
private handleMuteStateEvent;
|
|
24
|
+
subscribe(agentId: string, onMuteChange: MuteChangeHandler): void;
|
|
25
|
+
unsubscribe(): void;
|
|
26
|
+
isSubscribed(): boolean;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export declare const DEFAULT_PAGE = 0;
|
|
2
|
+
/** Desktop Profile access levels for collaboration destination categories. */
|
|
3
|
+
export declare const COLLABORATION_ACCESS: {
|
|
4
|
+
readonly ALL: "ALL";
|
|
5
|
+
readonly SPECIFIC: "SPECIFIC";
|
|
6
|
+
readonly NONE: "NONE";
|
|
7
|
+
};
|
|
2
8
|
/**
|
|
3
9
|
* Default page size for paginated API requests.
|
|
4
10
|
* @type {number}
|
|
@@ -22,6 +28,8 @@ export declare const AGENT_STATE_AVAILABLE_ID = "0";
|
|
|
22
28
|
* @ignore
|
|
23
29
|
*/
|
|
24
30
|
export declare const AGENT_STATE_AVAILABLE = "Available";
|
|
31
|
+
/** System idle-code name reserved for Agent Wellness Break. */
|
|
32
|
+
export declare const WELLBEING_BREAK_IDLE_CODE = "WellbeingBreak";
|
|
25
33
|
/**
|
|
26
34
|
* Description for the 'Available' agent state.
|
|
27
35
|
* @type {string}
|
|
@@ -52,6 +60,7 @@ export declare const METHODS: {
|
|
|
52
60
|
GET_URL_MAPPING: string;
|
|
53
61
|
GET_DIAL_PLAN_DATA: string;
|
|
54
62
|
GET_AI_FEATURE_FLAGS: string;
|
|
63
|
+
GET_WELLBEING_BREAK_IDLE_CODE: string;
|
|
55
64
|
GET_QUEUES: string;
|
|
56
65
|
PARSE_AGENT_CONFIGS: string;
|
|
57
66
|
GET_URL_MAPPING_UTIL: string;
|
|
@@ -129,6 +138,8 @@ export declare const endPointMap: {
|
|
|
129
138
|
* @ignore
|
|
130
139
|
*/
|
|
131
140
|
listAuxCodes: (orgId: string, page: number, pageSize: number, filter: string[], attributes: string[]) => string;
|
|
141
|
+
/** Lists system idle codes without applying the agent Desktop Profile filter. */
|
|
142
|
+
systemIdleCodes: (orgId: string, page: number, pageSize: number) => string;
|
|
132
143
|
/**
|
|
133
144
|
* Gets the endpoint for organization info.
|
|
134
145
|
* @param orgId - Organization ID.
|
|
@@ -212,16 +223,13 @@ export declare const endPointMap: {
|
|
|
212
223
|
*/
|
|
213
224
|
queueList: (orgId: string, queryParams: string) => string;
|
|
214
225
|
/**
|
|
215
|
-
* Gets the
|
|
226
|
+
* Gets the desktop-profile-filtered dial-number mappings used by entry-point destination lists.
|
|
216
227
|
* @param orgId - Organization ID.
|
|
217
228
|
* @param queryParams - Query parameters string.
|
|
218
229
|
* @returns The endpoint URL string.
|
|
219
|
-
* @public
|
|
220
|
-
* @example
|
|
221
|
-
* const url = endPointMap.entryPointList('org123', 'page=0&pageSize=10');
|
|
222
230
|
* @ignore
|
|
223
231
|
*/
|
|
224
|
-
|
|
232
|
+
entryPointDialNumberList: (orgId: string, queryParams: string) => string;
|
|
225
233
|
/**
|
|
226
234
|
* Gets the endpoint for address book entries with custom query parameters.
|
|
227
235
|
* @param orgId - Organization ID.
|
|
@@ -246,4 +254,25 @@ export declare const endPointMap: {
|
|
|
246
254
|
* @ignore
|
|
247
255
|
*/
|
|
248
256
|
outdialAniEntries: (orgId: string, outdialANI: string, queryParams: string) => string;
|
|
257
|
+
/**
|
|
258
|
+
* Gets the endpoint for user preference by user ID.
|
|
259
|
+
* @param orgId - Organization ID.
|
|
260
|
+
* @param userId - User ID.
|
|
261
|
+
* @returns The endpoint URL string.
|
|
262
|
+
* @public
|
|
263
|
+
* @example
|
|
264
|
+
* const url = endPointMap.userPreference('org123', 'user456');
|
|
265
|
+
* @ignore
|
|
266
|
+
*/
|
|
267
|
+
userPreference: (orgId: string, userId: string) => string;
|
|
268
|
+
/**
|
|
269
|
+
* Gets the endpoint for creating user preference.
|
|
270
|
+
* @param orgId - Organization ID.
|
|
271
|
+
* @returns The endpoint URL string.
|
|
272
|
+
* @public
|
|
273
|
+
* @example
|
|
274
|
+
* const url = endPointMap.userPreferenceCreate('org123');
|
|
275
|
+
* @ignore
|
|
276
|
+
*/
|
|
277
|
+
userPreferenceCreate: (orgId: string) => string;
|
|
249
278
|
};
|