@webex/cc-store 1.28.0-next.1 → 1.28.0-next.10

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.
@@ -19,6 +19,7 @@ declare class Store implements IStore {
19
19
  currentState: string;
20
20
  customState: ICustomState;
21
21
  isQueueConsultInProgress: boolean;
22
+ isDeclineButtonEnabled: boolean;
22
23
  currentConsultQueueId: string;
23
24
  consultStartTimeStamp: any;
24
25
  lastStateChangeTimestamp?: number;
@@ -33,6 +34,8 @@ declare class Store implements IStore {
33
34
  allowConsultToQueue: boolean;
34
35
  agentProfile: AgentLoginProfile;
35
36
  isMuted: boolean;
37
+ isDigitalChannelsInitialized: boolean;
38
+ dataCenter: string;
36
39
  constructor();
37
40
  static getInstance(): Store;
38
41
  registerCC(webex?: WithWebex['webex']): Promise<void>;
@@ -25,6 +25,7 @@ interface IContactCenter {
25
25
  };
26
26
  setAgentState(data: StateChange): Promise<SetStateResponse>;
27
27
  getOutdialAniEntries(params: OutdialAniParams): Promise<OutdialAniEntriesResponse>;
28
+ getAccessToken(): Promise<string>;
28
29
  }
29
30
  type IWebex = {
30
31
  cc: IContactCenter;
@@ -78,6 +79,7 @@ interface IStore {
78
79
  currentTheme: string;
79
80
  customState: ICustomState;
80
81
  isQueueConsultInProgress: boolean;
82
+ isDeclineButtonEnabled: boolean;
81
83
  currentConsultQueueId: string;
82
84
  consultStartTimeStamp?: number;
83
85
  callControlAudio: MediaStream | null;
@@ -86,6 +88,8 @@ interface IStore {
86
88
  agentProfile: AgentLoginProfile;
87
89
  isMuted: boolean;
88
90
  isAddressBookEnabled: boolean;
91
+ isDigitalChannelsInitialized: boolean;
92
+ dataCenter: string;
89
93
  init(params: InitParams, callback: (ccSDK: IContactCenter) => void): Promise<void>;
90
94
  registerCC(webex?: WithWebex['webex']): Promise<void>;
91
95
  }
@@ -112,7 +116,11 @@ interface IStoreWrapper extends IStore {
112
116
  setAgentProfile(profile: Profile): void;
113
117
  setTeamId(id: string): void;
114
118
  setIsMuted(value: boolean): void;
119
+ setIsDeclineButtonEnabled(value: boolean): void;
120
+ setDigitalChannelsInitialized(value: boolean): void;
115
121
  setOnError(callback: (widgetName: string, error: Error) => void): void;
122
+ setDataCenter(value: string): void;
123
+ getAccessToken(): Promise<string>;
116
124
  }
117
125
  interface IWrapupCode {
118
126
  id: string;
@@ -144,6 +152,7 @@ declare enum TASK_EVENTS {
144
152
  TASK_RECORDING_PAUSED = "task:recordingPaused",
145
153
  TASK_RECORDING_RESUMED = "task:recordingResumed",
146
154
  TASK_OFFER_CONSULT = "task:offerConsult",
155
+ TASK_AUTO_ANSWERED = "task:autoAnswered",
147
156
  TASK_CONFERENCE_ESTABLISHING = "task:conferenceEstablishing",
148
157
  TASK_CONFERENCE_STARTED = "task:conferenceStarted",
149
158
  TASK_CONFERENCE_FAILED = "task:conferenceFailed",
@@ -35,12 +35,17 @@ declare class StoreWrapper implements IStoreWrapper {
35
35
  get consultStartTimeStamp(): number;
36
36
  get callControlAudio(): MediaStream;
37
37
  get isQueueConsultInProgress(): boolean;
38
+ get isDeclineButtonEnabled(): boolean;
39
+ get isDigitalChannelsInitialized(): boolean;
40
+ get dataCenter(): string;
41
+ setDataCenter: (value: string) => void;
38
42
  get currentConsultQueueId(): string;
39
43
  get isEndConsultEnabled(): boolean;
40
44
  get allowConsultToQueue(): boolean;
41
45
  get agentProfile(): AgentLoginProfile;
42
46
  get isMuted(): boolean;
43
47
  get isAddressBookEnabled(): boolean;
48
+ setDigitalChannelsInitialized: (value: boolean) => void;
44
49
  setIsMuted: (value: boolean) => void;
45
50
  setCurrentTheme: (theme: string) => void;
46
51
  setShowMultipleLoginAlert: (value: boolean) => void;
@@ -58,6 +63,7 @@ declare class StoreWrapper implements IStoreWrapper {
58
63
  setConsultStartTimeStamp: (timestamp: number) => void;
59
64
  setCallControlAudio: (audio: MediaStream | null) => void;
60
65
  setIsQueueConsultInProgress: (value: boolean) => void;
66
+ setIsDeclineButtonEnabled: (value: boolean) => void;
61
67
  setCurrentConsultQueueId: (queueId: string | null) => void;
62
68
  setState: (state: ICustomState | IdleCode) => void;
63
69
  setIncomingTaskCb: (callback: ({ task }: {
@@ -83,6 +89,7 @@ declare class StoreWrapper implements IStoreWrapper {
83
89
  handleConsulting: () => void;
84
90
  handleConsultEnd: () => void;
85
91
  handleConsultOffer: () => void;
92
+ handleAutoAnswer: () => void;
86
93
  handleConsultAccepted: (event: any) => void;
87
94
  handleConsultQueueCancelled: () => void;
88
95
  handleConferenceStarted: () => void;
@@ -111,6 +118,7 @@ declare class StoreWrapper implements IStoreWrapper {
111
118
  }>;
112
119
  getEntryPoints: (params?: EntryPointSearchParams) => Promise<EntryPointListResponse>;
113
120
  getAddressBookEntries: (params?: AddressBookEntrySearchParams) => Promise<AddressBookEntriesResponse>;
121
+ getAccessToken: () => Promise<string>;
114
122
  cleanUpStore: () => void;
115
123
  setupIncomingTaskHandler: (ccSDK: IContactCenter) => void;
116
124
  }
@@ -46,3 +46,12 @@ export declare function isInteractionOnHold(task: ITask): boolean;
46
46
  export declare const setmTypeForEPDN: (task: ITask, mType: string) => string;
47
47
  export declare const findMediaResourceId: (task: ITask, mType: string) => string;
48
48
  export declare const findHoldStatus: (task: ITask, mType: string, agentId: string) => boolean;
49
+ /**
50
+ * Finds the hold timestamp for a specific media type (mainCall, consult, etc.)
51
+ * Used for timer alignment in Consult & Conference scenarios to match Agent Desktop behavior.
52
+ *
53
+ * @param task - The task object containing interaction data
54
+ * @param mType - The media type to search for ('mainCall', 'consult', 'conference')
55
+ * @returns The hold timestamp in milliseconds or null if not on hold
56
+ */
57
+ export declare const findHoldTimestamp: (task: ITask, mType: string) => number | null;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@webex/cc-store",
3
3
  "description": "Webex Contact Center Widgets: Widgets Store",
4
4
  "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
5
- "version": "1.28.0-next.1",
5
+ "version": "1.28.0-next.10",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/types/index.d.ts",
8
8
  "publishConfig": {
@@ -23,7 +23,7 @@
23
23
  "deploy:npm": "yarn npm publish"
24
24
  },
25
25
  "dependencies": {
26
- "@webex/contact-center": "3.10.0-next.17",
26
+ "@webex/contact-center": "3.11.0-next.5",
27
27
  "mobx": "6.13.5",
28
28
  "typescript": "5.6.3"
29
29
  },
@@ -38,7 +38,7 @@
38
38
  "@testing-library/react": "16.0.1",
39
39
  "@types/jest": "29.5.14",
40
40
  "@types/react-test-renderer": "18",
41
- "@webex/test-fixtures": "0.0.0",
41
+ "@webex/test-fixtures": "0.0.0-next.1",
42
42
  "babel-jest": "29.7.0",
43
43
  "babel-loader": "9.2.1",
44
44
  "eslint": "^9.20.1",