@voicenter-team/events-sdk 0.0.11 → 0.0.13

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/package.json CHANGED
@@ -1,57 +1,57 @@
1
- {
2
- "name": "@voicenter-team/events-sdk",
3
- "version": "0.0.11",
4
- "description": "",
5
- "main": "dist/voicenter-events-sdk.cjs.js",
6
- "jsdelivr": "dist/voicenter-events-sdk.umd.js",
7
- "module": "dist/voicenter-events-sdk.es.js",
8
- "unpkg": "dist/voicenter-events-sdk.umd.js",
9
- "types": "dist/voicenter-events-sdk.d.ts",
10
- "type": "module",
11
- "scripts": {
12
- "build": "vite build",
13
- "dev": "cd docs && yarn && yarn run dev",
14
- "build:documentation": "cd docs && npm install && npm run build",
15
- "test": "echo \"Error: no test specified\" && exit 1",
16
- "ts-check": "tsc --noEmit",
17
- "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts --fix --ignore-path .gitignore"
18
- },
19
- "engines": {
20
- "node": ">= 16",
21
- "npm": ">= 9.6.7",
22
- "yarn": ">= 1.22.4"
23
- },
24
- "files": [
25
- "dist"
26
- ],
27
- "precommit": "ts-check, lint",
28
- "keywords": [],
29
- "author": "",
30
- "license": "ISC",
31
- "devDependencies": {
32
- "@types/chrome": "0.0.259",
33
- "@types/jest": "29.5.11",
34
- "@types/js-md5": "^0.7.2",
35
- "@types/lodash": "^4.14.200",
36
- "@types/node": "20.11.13",
37
- "@typescript-eslint/eslint-plugin": "6.20.0",
38
- "@typescript-eslint/parser": "6.20.0",
39
- "@voicenter-team/eslint-config-ts": "^1.0.22",
40
- "dotenv": "16.4.1",
41
- "eslint": "8.56.0",
42
- "eslint-plugin-jest": "27.6.3",
43
- "jest": "^29.7.0",
44
- "pre-commit": "^1.2.2",
45
- "socket.io-client": "4.7.4",
46
- "swagger-axios-codegen": "0.16.8",
47
- "ts-jest": "29.1.2",
48
- "tsc-alias": "^1.8.6",
49
- "typescript": "5.3.3",
50
- "vite": "5.0.12",
51
- "vite-plugin-dts": "3.7.2"
52
- },
53
- "dependencies": {
54
- "js-md5": "0.8.3",
55
- "lodash": "^4.17.21"
56
- }
57
- }
1
+ {
2
+ "name": "@voicenter-team/events-sdk",
3
+ "version": "0.0.13",
4
+ "description": "",
5
+ "main": "dist/voicenter-events-sdk.cjs.js",
6
+ "jsdelivr": "dist/voicenter-events-sdk.umd.js",
7
+ "module": "dist/voicenter-events-sdk.es.js",
8
+ "unpkg": "dist/voicenter-events-sdk.umd.js",
9
+ "types": "dist/index.d.ts",
10
+ "type": "module",
11
+ "scripts": {
12
+ "build": "vite build",
13
+ "dev": "cd docs && yarn && yarn run dev",
14
+ "build:documentation": "cd docs && npm install && npm run build",
15
+ "test": "echo \"Error: no test specified\" && exit 1",
16
+ "ts-check": "tsc --noEmit",
17
+ "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts --fix --ignore-path .gitignore"
18
+ },
19
+ "engines": {
20
+ "node": ">= 16",
21
+ "npm": ">= 9.6.7",
22
+ "yarn": ">= 1.22.4"
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "precommit": "ts-check, lint",
28
+ "keywords": [],
29
+ "author": "",
30
+ "license": "ISC",
31
+ "devDependencies": {
32
+ "@types/chrome": "0.0.259",
33
+ "@types/jest": "29.5.11",
34
+ "@types/js-md5": "^0.7.2",
35
+ "@types/lodash": "^4.14.200",
36
+ "@types/node": "20.11.13",
37
+ "@typescript-eslint/eslint-plugin": "6.20.0",
38
+ "@typescript-eslint/parser": "6.20.0",
39
+ "@voicenter-team/eslint-config-ts": "^1.0.22",
40
+ "dotenv": "16.4.1",
41
+ "eslint": "8.56.0",
42
+ "eslint-plugin-jest": "27.6.3",
43
+ "jest": "^29.7.0",
44
+ "pre-commit": "^1.2.2",
45
+ "socket.io-client": "4.7.4",
46
+ "swagger-axios-codegen": "0.16.8",
47
+ "ts-jest": "29.1.2",
48
+ "tsc-alias": "^1.8.6",
49
+ "typescript": "5.3.3",
50
+ "vite": "5.0.12",
51
+ "vite-plugin-dts": "3.7.2"
52
+ },
53
+ "dependencies": {
54
+ "js-md5": "0.8.3",
55
+ "lodash": "^4.17.21"
56
+ }
57
+ }
@@ -1,20 +0,0 @@
1
- import EventsSdkClass from '../events-sdk/events-sdk.class';
2
- import { EventsSdkOptions } from '../events-sdk/events-sdk.types';
3
- declare class AuthClass {
4
- private readonly eventsSdkClass;
5
- constructor(eventsSdkClass: EventsSdkClass);
6
- private delay;
7
- lastLoginTimestamp: number | undefined;
8
- token: string | undefined;
9
- private storageKey;
10
- login(options: EventsSdkOptions): Promise<void>;
11
- updateLastLoginTimestamp(): void;
12
- private checkLoginStatus;
13
- private userLoginFunction;
14
- private onLoginResponse;
15
- handleTokenExpiry(): void;
16
- private externalLogin;
17
- private getSettings;
18
- private refreshToken;
19
- }
20
- export default AuthClass;
@@ -1,4 +0,0 @@
1
- declare const newLoginUrl = "https://loginapidev.voicenter.co.il/Auth/Login/Voicenter/Monitor";
2
- declare const getSettingsUrl = "https://loginapidev.voicenter.co.il/Application/GetSettings";
3
- declare const refreshTokenUrl = "https://loginapidev.voicenter.co.il/Auth/RefreshToken";
4
- export { newLoginUrl, getSettingsUrl, refreshTokenUrl };
@@ -1,2 +0,0 @@
1
- import { EventsSdkOptions } from './events-sdk.types';
2
- export declare const eventsSdkDefaultOptions: EventsSdkOptions;
@@ -1,35 +0,0 @@
1
- import AuthClass from '../auth/auth.class';
2
- import { SocketIoClass } from '../socket-io/socket-io.class';
3
- import { EventsSdkOptions, ReconnectOptions, Server, ServerParameter } from './events-sdk.types';
4
- import { SocketTyped } from '../../types/socket';
5
- import { GenericEventWrapper, EventSpecificCallback, EventTypeData, EventTypeNames } from '../../types/events';
6
- declare class EventsSdkClass {
7
- constructor(options: EventsSdkOptions);
8
- private argumentOptions;
9
- readonly options: EventsSdkOptions;
10
- servers: Server[];
11
- server: Server;
12
- socket: SocketTyped | undefined;
13
- authClass: AuthClass;
14
- socketIoClass: SocketIoClass;
15
- reconnectOptions: ReconnectOptions;
16
- retryConnection: import("lodash").DebouncedFuncLeading<(server?: ServerParameter, skipLogin?: boolean) => void>;
17
- private listeners;
18
- private allListeners;
19
- on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
20
- on(event: '*', callback: (data: GenericEventWrapper) => void): void;
21
- off<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
22
- off(event: '*', callback: (data: GenericEventWrapper) => void): void;
23
- emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
24
- connect(server?: ServerParameter, skipLogin?: boolean): void;
25
- disconnect(): void;
26
- clearKeepAliveInterval(): void;
27
- private findCurrentServer;
28
- private findNextAvailableServer;
29
- private findMaxPriorityServer;
30
- private findMinPriorityServer;
31
- getServerWithHighestPriority(servers: Server[]): Server;
32
- init(): Promise<boolean>;
33
- private getServers;
34
- }
35
- export default EventsSdkClass;
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- import { LoginType } from '../../enum/auth.enum';
2
- export interface EventsSdkOptions {
3
- fallbackServer: Server;
4
- refreshTokenUrl?: string;
5
- refreshToken?: string;
6
- servers?: string;
7
- token: string;
8
- tokenExpiry?: Date;
9
- loginType: LoginType;
10
- forceNew?: boolean;
11
- reconnectionDelay: number;
12
- reconnectionDelayMax?: number;
13
- maxReconnectAttempts: number;
14
- timeout?: number;
15
- keepAliveTimeout: number;
16
- idleInterval?: number;
17
- protocol: string;
18
- transports?: string[];
19
- upgrade?: boolean;
20
- serverFetchStrategy?: string;
21
- serverType?: number;
22
- useLogger?: boolean;
23
- loggerSocketConnection?: string;
24
- loggerServer?: string;
25
- loggerConfig?: LoggerConfig;
26
- loggerConnectOptions?: LoggerConnectOptions;
27
- email: string;
28
- password: string;
29
- username: string;
30
- }
31
- export interface Server {
32
- Priority: number;
33
- Domain: string;
34
- URLID: number;
35
- Version: string;
36
- }
37
- export interface LoggerConfig {
38
- logToConsole?: boolean;
39
- overloadGlobalConsole?: boolean;
40
- namespace?: string;
41
- socketEmitInterval?: number;
42
- }
43
- export interface LoggerConnectOptions {
44
- reconnection?: boolean;
45
- reconnectionDelay?: number;
46
- reconnectionAttempts?: number;
47
- perMessageDeflate?: boolean;
48
- upgrade?: boolean;
49
- transports?: string[];
50
- debug?: boolean;
51
- }
52
- export interface ReconnectOptions {
53
- retryCount: number;
54
- maxReconnectAttempts: number;
55
- reconnectionDelay: number;
56
- minReconnectionDelay: number;
57
- maxReconnectionDelay: number;
58
- }
59
- export declare enum ServerParameter {
60
- DEFAULT = "default",
61
- NEXT = "next",
62
- PREVIOUS = "previous"
63
- }
@@ -1,23 +0,0 @@
1
- import EventsSdkClass from '../events-sdk/events-sdk.class';
2
- import { TypedSocketIo } from './versions';
3
- import { SocketTyped } from '../../types/socket';
4
- export declare class SocketIoClass {
5
- private readonly eventsSdkClass;
6
- constructor(eventsSdkClass: EventsSdkClass);
7
- io: SocketTyped | undefined;
8
- ioFunction: TypedSocketIo | undefined;
9
- lastEventTimestamp: number;
10
- doReconnect: boolean;
11
- private keepAliveInterval;
12
- private keepReconnectInterval;
13
- private connected;
14
- getSocketIoFunction(Client: string): void;
15
- initSocketConnection(): void;
16
- initSocketEvents(): void;
17
- clearKeepAliveInterval(): void;
18
- initKeepAlive(): void;
19
- closeAllConnections(): void;
20
- private onKeepAliveResponse;
21
- private onConnect;
22
- private onDisconnect;
23
- }
@@ -1,10 +0,0 @@
1
- export interface SocketIoOptions {
2
- reconnection: boolean,
3
- perMessageDeflate: boolean,
4
- upgrade: boolean,
5
- transports: string[],
6
- debug: boolean,
7
- query: {
8
- token: string
9
- }
10
- }
@@ -1,8 +0,0 @@
1
- import { io } from 'socket.io-client';
2
- import { SocketTyped } from '../../../types/socket';
3
- export type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
4
- declare const _default: {
5
- getSocketVersion: (version: string) => TypedSocketIo;
6
- makeSocketVersion: (version: string, uri: string, opts?: Partial<import("socket.io-client").ManagerOptions & import("socket.io-client").SocketOptions> | undefined) => SocketTyped;
7
- };
8
- export default _default;
@@ -1,6 +0,0 @@
1
- import { LoginSessionData } from '../../types/auth';
2
- export declare class StorageClass {
3
- static getSessionStorageDataByKey(key: string): Promise<LoginSessionData | undefined>;
4
- static updateSessionStorageKey(key: string, storageData: LoginSessionData): Promise<void>;
5
- static clearSessionStorage(): void;
6
- }
@@ -1,4 +0,0 @@
1
- export declare enum LoginType {
2
- USER = "User",
3
- TOKEN = "Token"
4
- }
@@ -1,77 +0,0 @@
1
- /**
2
- * All events that can be received from the server.
3
- */
4
- export declare enum EventsEnum {
5
- ALL_DIALER_STATUS = "AllDialersStatus",
6
- ALL_EXTENSION_STATUS = "AllExtensionsStatus",
7
- ALL_USERS_STATUS = "AllUsersStatus",
8
- CONNECT = "connect",
9
- DISCONNECT = "disconnect",
10
- EXTENSION_EVENT = "ExtensionEvent",
11
- KEEP_ALIVE = "keepalive",
12
- KEEP_ALIVE_RESPONSE = "keepaliveResponse",
13
- LOGIN_STATUS = "loginStatus",
14
- LOGIN_SUCCESS = "loginSuccess",
15
- QUEUE_EVENT = "QueueEvent",
16
- ONLINE_STATUS_EVENT = "onlineStatusEvent",
17
- DIALER_EVENT = "DialerEvent"
18
- }
19
- /**
20
- * All the reasons for the extension event, e.g. a new call is ringing or dialing from an extension.
21
- */
22
- export declare enum ExtensionEventReasonEnum {
23
- NEW_CALL = "NEWCALL",
24
- ANSWER = "ANSWER",
25
- HOLD = "HOLD",
26
- UNHOLD = "UNHOLD",
27
- HANGUP = "HANGUP",
28
- USER_STATUS_UPDATE = "userStatusUpdate"
29
- }
30
- export declare enum QueueEventReasonEnum {
31
- ANSWER = "ANSWER",
32
- ABANDONED = "ABANDONED",
33
- EXIT = "EXIT",
34
- JOIN = "JOIN"
35
- }
36
- export declare enum DialerType {
37
- AUTOMATIC = "Automatic",
38
- IVR = "IVR"
39
- }
40
- /**
41
- * All the eventNames that can be received from the server. Exists only in EXTENSION_EVENT and QueueEvent
42
- */
43
- export declare enum EventNameEnum {
44
- EXTENSION = "extension",
45
- QUEUE = "queue",
46
- DIALER = "dialer"
47
- }
48
- export declare enum ExtensionHangupCauseEnum {
49
- NORMAL_HANGUP = "Normal hangup",
50
- USER_BUSY = "User busy",
51
- CALL_REJECTED = "Call Rejected",
52
- UNALLOCATED_NUMBER = "Unallocated (unassigned) number",
53
- UNKNOWN = "Unknown",
54
- NO_USER_RESPONDING = "No user responding",
55
- USER_ALERTING = "User alerting, no answer",
56
- ANSWERED_ELSEWHERE = "Answered elsewhere"
57
- }
58
- export declare enum CallStatusEnum {
59
- RINGING = "Ringing",
60
- TALKING = "Talking",
61
- DIALING = "Dialing",
62
- HOLD = "Hold"
63
- }
64
- export declare enum CallTypeEnum {
65
- INCOMING = "Incoming",
66
- OUTGOING = "Outgoing"
67
- }
68
- export declare enum DoNotCallMeStatusCodeEnum {
69
- RESPONSE_FROM_API_VALID = "RESPONSE_FROM_API_VALID",
70
- RESPONSE_FROM_API_INVALID = "RESPONSE_FROM_API_INVALID"
71
- }
72
- export declare enum DirectionEnum {
73
- INCOMING = "Incoming",
74
- OUTGOING = "Outgoing",
75
- SPY = "Spy",
76
- CLICK2CALL = "Click2call"
77
- }
package/dist/index.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import EventsSdkClass from './classes/events-sdk/events-sdk.class';
2
- import { EventsEnum } from './enum/events.enum';
3
- export type * from './types/auth';
4
- export type * from './types/events.common';
5
- export type * from './types/events';
6
- export type * from './types/listeners';
7
- export type * from './types/public-api';
8
- export type * from './types/socket';
9
- export type * from './classes/events-sdk/events-sdk.types';
10
- export { EventsEnum };
11
- export default EventsSdkClass;
@@ -1,49 +0,0 @@
1
- import { Server } from '../classes/events-sdk/events-sdk.types'
2
- import { LoginType } from '../enum/auth.enum'
3
-
4
- export interface LoginSessionPayload {
5
- token: string,
6
- email: string,
7
- password: string
8
- }
9
-
10
- export interface ExternalLoginRequestBody {
11
- identityType: LoginType,
12
- username?: string,
13
- password?: string,
14
- token?: string
15
- }
16
-
17
- interface ExternalLoginResponseData {
18
- AccessToken: string,
19
- RefreshToken: string
20
- }
21
-
22
- export interface ExternalLoginResponse {
23
- StatusCode: number,
24
- Status: string,
25
- Data: ExternalLoginResponseData
26
- }
27
-
28
- export interface Socket {
29
- Client: string,
30
- PersonId: number,
31
- RefreshToken: string,
32
- RefreshTokenExpiry: Date,
33
- Token: string,
34
- TokenExpiry: Date,
35
- URLList: string[],
36
- Url: string,
37
- Version: string
38
- }
39
-
40
- export interface Settings {
41
- IdentityCode: string,
42
- IdentityCodeExpiry: Date,
43
- PersonID: number,
44
- PersonType: number,
45
- ExtensionMonitorID: number,
46
- MonitorList: Server[]
47
- }
48
-
49
- export interface LoginSessionData extends Settings, ExternalLoginResponseData {}
@@ -1,110 +0,0 @@
1
- import { CallStatusEnum, CallTypeEnum, DialerType, DirectionEnum, DoNotCallMeStatusCodeEnum } from '../enum/events.enum'
2
-
3
- export interface Dialer {
4
- campaignID: number,
5
- name: string,
6
- typeID: number,
7
- type: DialerType,
8
- code: string,
9
- calls: unknown,
10
- statistics: unknown
11
- }
12
-
13
- export interface User {
14
- userID: number,
15
- userName: string,
16
- accountID: number
17
-
18
- }
19
-
20
- export interface Extension {
21
- calls: ExtensionCall[],
22
- userID: number,
23
- userName: string,
24
- number: number,
25
- extenUser: string,
26
- accountID: number,
27
- topAccountID: number,
28
- summery: Summery,
29
- onlineUserID: number,
30
- representative: number,
31
- representativeStatus: number,
32
- lastCallEventEpoch: number,
33
- lastAnsweredCallEventEpoch: number,
34
- lastHangupCallEpoch: number,
35
- representativeUpdated: number,
36
- peerStatus: unknown,
37
- currentCall?: ExtensionCall,
38
- }
39
-
40
- export interface Queue {
41
- QueueID: number,
42
- QueueName: string,
43
- Calls: QueueCall[],
44
- UserId?: number,
45
- DistributorID?: number,
46
- IsDistributedQueue?: boolean,
47
- AnsweredAgent?: string,
48
- }
49
-
50
- export interface ExtensionCall {
51
- callStarted: number,
52
- calldurationinterval: number,
53
- callAnswered: number,
54
- answered: number,
55
- callername: string,
56
- callerphone: string,
57
- outgoingcallername?: string,
58
- outgoingcallerphone?: string,
59
- callstatus: CallStatusEnum,
60
- customdata: CustomData,
61
- direction: DirectionEnum,
62
- ivrid: string,
63
- recording: Recording,
64
- did: string,
65
- relatedIvrUniqueIDs?: string[],
66
- callType?: CallTypeEnum,
67
- ip: string,
68
- isInternal: boolean
69
- blcServerID: number,
70
- isOpensips: boolean,
71
- channel: string,
72
- channel2: string,
73
- queueID?: number,
74
- isSpyed?: boolean,
75
- blcServerId?: number,
76
- originalCallerID?: string,
77
- originalCallerName?: string,
78
- actualDialedNumber?: number
79
- }
80
-
81
- interface QueueCall {
82
- CallerID: string,
83
- CallerName: string,
84
- IvrUniqueID: string,
85
- JoinTimeStamp: number,
86
- calldurationinterval: number,
87
- ivrid: string,
88
- isDistributedQueue?: boolean
89
- }
90
-
91
- interface Summery {
92
- representative: string
93
- }
94
-
95
- interface CustomData {
96
- DoNotCallMeStatus?: string,
97
- DoNotCallMeStatusCode?: DoNotCallMeStatusCodeEnum,
98
- DoNotCallMeTokenName?: string,
99
- DoNotCallMetransactionId?: string,
100
- IsDoNotCallMe?: string
101
- }
102
-
103
- interface Recording {
104
- Filename: string,
105
- Options: string,
106
- ApproximateURL: string,
107
- IsMuted: number
108
- }
109
-
110
-