mavenagi 1.0.8 → 1.0.9
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/Client.d.ts +3 -0
- package/Client.js +11 -6
- package/api/resources/actions/client/Client.d.ts +2 -1
- package/api/resources/actions/client/Client.js +5 -4
- package/api/resources/actions/types/ActionRequest.d.ts +2 -1
- package/api/resources/analytics/client/Client.js +3 -3
- package/api/resources/appSettings/client/Client.js +1 -1
- package/api/resources/commons/types/ActionBase.d.ts +3 -1
- package/api/resources/commons/types/ActionResponse.d.ts +2 -1
- package/api/resources/commons/types/{ConversationBase.d.ts → BaseConversationResponse.d.ts} +9 -1
- package/api/resources/commons/types/BasePaginatedRequest.d.ts +11 -0
- package/api/resources/commons/types/BotMessage.d.ts +1 -0
- package/api/resources/commons/types/BotMessageStatus.d.ts +22 -0
- package/api/resources/commons/types/BotMessageStatus.js +14 -0
- package/api/resources/commons/types/ConversationAnalysis.d.ts +2 -0
- package/api/resources/commons/types/ConversationPreview.d.ts +6 -0
- package/{dist/api/resources/knowledge/types/KnowledgeBaseType.js → api/resources/commons/types/ConversationPreview.js} +0 -6
- package/api/resources/commons/types/ConversationResponse.d.ts +4 -10
- package/api/resources/commons/types/index.d.ts +6 -3
- package/api/resources/commons/types/index.js +6 -3
- package/api/resources/conversation/client/Client.d.ts +14 -5
- package/api/resources/conversation/client/Client.js +92 -17
- package/api/resources/conversation/types/ConversationFilter.d.ts +1 -0
- package/api/resources/conversation/types/ConversationRequest.d.ts +15 -1
- package/api/resources/conversation/types/ConversationsResponse.d.ts +8 -0
- package/api/resources/{knowledge/types/KnowledgeBaseType.js → conversation/types/ConversationsResponse.js} +0 -6
- package/api/resources/conversation/types/ConversationsSearchRequest.d.ts +8 -0
- package/api/resources/conversation/types/ConversationsSearchRequest.js +5 -0
- package/api/resources/conversation/types/index.d.ts +2 -0
- package/api/resources/conversation/types/index.js +2 -0
- package/api/resources/inbox/client/Client.js +5 -5
- package/api/resources/index.d.ts +2 -0
- package/api/resources/index.js +3 -1
- package/api/resources/knowledge/client/Client.d.ts +1 -2
- package/api/resources/knowledge/client/Client.js +8 -9
- package/api/resources/knowledge/types/KnowledgeBaseProperties.d.ts +0 -4
- package/api/resources/knowledge/types/KnowledgeBaseRequest.d.ts +1 -2
- package/api/resources/knowledge/types/KnowledgeBaseResponse.d.ts +1 -2
- package/api/resources/knowledge/types/index.d.ts +0 -1
- package/api/resources/knowledge/types/index.js +0 -1
- package/api/resources/realtime/client/Client.d.ts +34 -0
- package/api/resources/realtime/client/Client.js +87 -0
- package/api/resources/realtime/client/Socket.d.ts +41 -0
- package/api/resources/realtime/client/Socket.js +155 -0
- package/api/resources/realtime/client/index.d.ts +1 -0
- package/api/resources/realtime/client/index.js +2 -0
- package/api/resources/realtime/index.d.ts +2 -0
- package/api/resources/realtime/index.js +18 -0
- package/api/resources/realtime/types/AudioPublishEvent.d.ts +6 -0
- package/api/resources/realtime/types/AudioPublishEvent.js +5 -0
- package/api/resources/realtime/types/AudioSubscribeEvent.d.ts +6 -0
- package/api/resources/realtime/types/AudioSubscribeEvent.js +5 -0
- package/api/resources/realtime/types/ControlEvent.d.ts +6 -0
- package/api/resources/realtime/types/ControlEvent.js +5 -0
- package/api/resources/realtime/types/PublishEvent.d.ts +13 -0
- package/api/resources/realtime/types/PublishEvent.js +5 -0
- package/api/resources/realtime/types/SubscribeEvent.d.ts +22 -0
- package/api/resources/realtime/types/SubscribeEvent.js +5 -0
- package/api/resources/realtime/types/index.d.ts +5 -0
- package/api/resources/realtime/types/index.js +21 -0
- package/api/resources/translations/client/Client.js +1 -1
- package/api/resources/triggers/client/Client.js +3 -3
- package/api/resources/users/client/Client.js +3 -3
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/core/websocket/events.d.ts +36 -0
- package/core/websocket/events.js +27 -0
- package/core/websocket/index.d.ts +1 -0
- package/core/websocket/index.js +17 -0
- package/core/websocket/ws.d.ts +137 -0
- package/core/websocket/ws.js +452 -0
- package/dist/Client.d.ts +3 -0
- package/dist/Client.js +11 -6
- package/dist/api/resources/actions/client/Client.d.ts +2 -1
- package/dist/api/resources/actions/client/Client.js +5 -4
- package/dist/api/resources/actions/types/ActionRequest.d.ts +2 -1
- package/dist/api/resources/analytics/client/Client.js +3 -3
- package/dist/api/resources/appSettings/client/Client.js +1 -1
- package/dist/api/resources/commons/types/ActionBase.d.ts +3 -1
- package/dist/api/resources/commons/types/ActionResponse.d.ts +2 -1
- package/dist/api/resources/commons/types/{ConversationBase.d.ts → BaseConversationResponse.d.ts} +9 -1
- package/dist/api/resources/commons/types/BaseConversationResponse.js +5 -0
- package/dist/api/resources/commons/types/BasePaginatedRequest.d.ts +11 -0
- package/dist/api/resources/commons/types/BasePaginatedRequest.js +5 -0
- package/dist/api/resources/commons/types/BotMessage.d.ts +1 -0
- package/dist/api/resources/commons/types/BotMessageStatus.d.ts +22 -0
- package/dist/api/resources/commons/types/BotMessageStatus.js +14 -0
- package/dist/api/resources/commons/types/ConversationAnalysis.d.ts +2 -0
- package/dist/api/resources/commons/types/ConversationPreview.d.ts +6 -0
- package/dist/api/resources/commons/types/ConversationPreview.js +5 -0
- package/dist/api/resources/commons/types/ConversationResponse.d.ts +4 -10
- package/dist/api/resources/commons/types/index.d.ts +6 -3
- package/dist/api/resources/commons/types/index.js +6 -3
- package/dist/api/resources/conversation/client/Client.d.ts +14 -5
- package/dist/api/resources/conversation/client/Client.js +92 -17
- package/dist/api/resources/conversation/types/ConversationFilter.d.ts +1 -0
- package/dist/api/resources/conversation/types/ConversationRequest.d.ts +15 -1
- package/dist/api/resources/conversation/types/ConversationsResponse.d.ts +8 -0
- package/dist/api/resources/conversation/types/ConversationsResponse.js +5 -0
- package/dist/api/resources/conversation/types/ConversationsSearchRequest.d.ts +8 -0
- package/dist/api/resources/conversation/types/ConversationsSearchRequest.js +5 -0
- package/dist/api/resources/conversation/types/index.d.ts +2 -0
- package/dist/api/resources/conversation/types/index.js +2 -0
- package/dist/api/resources/inbox/client/Client.js +5 -5
- package/dist/api/resources/index.d.ts +2 -0
- package/dist/api/resources/index.js +3 -1
- package/dist/api/resources/knowledge/client/Client.d.ts +1 -2
- package/dist/api/resources/knowledge/client/Client.js +8 -9
- package/dist/api/resources/knowledge/types/KnowledgeBaseProperties.d.ts +0 -4
- package/dist/api/resources/knowledge/types/KnowledgeBaseRequest.d.ts +1 -2
- package/dist/api/resources/knowledge/types/KnowledgeBaseResponse.d.ts +1 -2
- package/dist/api/resources/knowledge/types/index.d.ts +0 -1
- package/dist/api/resources/knowledge/types/index.js +0 -1
- package/dist/api/resources/realtime/client/Client.d.ts +34 -0
- package/dist/api/resources/realtime/client/Client.js +87 -0
- package/dist/api/resources/realtime/client/Socket.d.ts +41 -0
- package/dist/api/resources/realtime/client/Socket.js +155 -0
- package/dist/api/resources/realtime/client/index.d.ts +1 -0
- package/dist/api/resources/realtime/client/index.js +2 -0
- package/dist/api/resources/realtime/index.d.ts +2 -0
- package/dist/api/resources/realtime/index.js +18 -0
- package/dist/api/resources/realtime/types/AudioPublishEvent.d.ts +6 -0
- package/dist/api/resources/realtime/types/AudioPublishEvent.js +5 -0
- package/dist/api/resources/realtime/types/AudioSubscribeEvent.d.ts +6 -0
- package/dist/api/resources/realtime/types/AudioSubscribeEvent.js +5 -0
- package/dist/api/resources/realtime/types/ControlEvent.d.ts +6 -0
- package/dist/api/resources/realtime/types/ControlEvent.js +5 -0
- package/dist/api/resources/realtime/types/PublishEvent.d.ts +13 -0
- package/dist/api/resources/realtime/types/PublishEvent.js +5 -0
- package/dist/api/resources/realtime/types/SubscribeEvent.d.ts +22 -0
- package/dist/api/resources/realtime/types/SubscribeEvent.js +5 -0
- package/dist/api/resources/realtime/types/index.d.ts +5 -0
- package/dist/api/resources/realtime/types/index.js +21 -0
- package/dist/api/resources/translations/client/Client.js +1 -1
- package/dist/api/resources/triggers/client/Client.js +3 -3
- package/dist/api/resources/users/client/Client.js +3 -3
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/websocket/events.d.ts +36 -0
- package/dist/core/websocket/events.js +27 -0
- package/dist/core/websocket/index.d.ts +1 -0
- package/dist/core/websocket/index.js +17 -0
- package/dist/core/websocket/ws.d.ts +137 -0
- package/dist/core/websocket/ws.js +452 -0
- package/dist/serialization/resources/commons/types/ActionBase.d.ts +1 -0
- package/dist/serialization/resources/commons/types/ActionBase.js +1 -0
- package/dist/serialization/resources/commons/types/{ConversationBase.d.ts → BaseConversationResponse.d.ts} +9 -2
- package/dist/serialization/resources/commons/types/{ConversationBase.js → BaseConversationResponse.js} +9 -2
- package/dist/serialization/resources/commons/types/BasePaginatedRequest.d.ts +14 -0
- package/dist/serialization/resources/commons/types/BasePaginatedRequest.js +45 -0
- package/dist/serialization/resources/commons/types/BotMessage.d.ts +2 -0
- package/dist/serialization/resources/commons/types/BotMessage.js +2 -0
- package/dist/serialization/resources/commons/types/BotMessageStatus.d.ts +10 -0
- package/dist/serialization/resources/commons/types/BotMessageStatus.js +41 -0
- package/dist/serialization/resources/commons/types/ConversationAnalysis.d.ts +1 -0
- package/dist/serialization/resources/commons/types/ConversationAnalysis.js +1 -0
- package/dist/serialization/resources/commons/types/ConversationPreview.d.ts +12 -0
- package/dist/serialization/resources/commons/types/ConversationPreview.js +42 -0
- package/dist/serialization/resources/commons/types/ConversationResponse.d.ts +2 -9
- package/dist/serialization/resources/commons/types/ConversationResponse.js +2 -9
- package/dist/serialization/resources/commons/types/index.d.ts +6 -3
- package/dist/serialization/resources/commons/types/index.js +6 -3
- package/dist/serialization/resources/conversation/types/ConversationFilter.d.ts +1 -0
- package/dist/serialization/resources/conversation/types/ConversationFilter.js +1 -0
- package/dist/serialization/resources/conversation/types/ConversationRequest.d.ts +9 -2
- package/dist/serialization/resources/conversation/types/ConversationRequest.js +10 -5
- package/dist/serialization/resources/conversation/types/ConversationsResponse.d.ts +14 -0
- package/dist/serialization/resources/conversation/types/ConversationsResponse.js +47 -0
- package/dist/serialization/resources/conversation/types/ConversationsSearchRequest.d.ts +16 -0
- package/dist/serialization/resources/conversation/types/ConversationsSearchRequest.js +49 -0
- package/dist/serialization/resources/conversation/types/index.d.ts +2 -0
- package/dist/serialization/resources/conversation/types/index.js +2 -0
- package/dist/serialization/resources/index.d.ts +2 -0
- package/dist/serialization/resources/index.js +3 -1
- package/dist/serialization/resources/knowledge/types/KnowledgeBaseProperties.d.ts +0 -3
- package/dist/serialization/resources/knowledge/types/KnowledgeBaseProperties.js +0 -3
- package/dist/serialization/resources/knowledge/types/index.d.ts +0 -1
- package/dist/serialization/resources/knowledge/types/index.js +0 -1
- package/dist/serialization/resources/realtime/index.d.ts +1 -0
- package/dist/serialization/resources/realtime/index.js +17 -0
- package/dist/serialization/resources/realtime/types/AudioPublishEvent.d.ts +12 -0
- package/dist/serialization/resources/realtime/types/AudioPublishEvent.js +43 -0
- package/dist/serialization/resources/realtime/types/AudioSubscribeEvent.d.ts +12 -0
- package/dist/serialization/resources/realtime/types/AudioSubscribeEvent.js +43 -0
- package/dist/serialization/resources/realtime/types/ControlEvent.d.ts +12 -0
- package/{serialization/resources/knowledge/types/KnowledgeBaseType.js → dist/serialization/resources/realtime/types/ControlEvent.js} +4 -2
- package/dist/serialization/resources/realtime/types/PublishEvent.d.ts +14 -0
- package/dist/serialization/resources/realtime/types/PublishEvent.js +49 -0
- package/dist/serialization/resources/realtime/types/SubscribeEvent.d.ts +24 -0
- package/dist/serialization/resources/realtime/types/SubscribeEvent.js +53 -0
- package/dist/serialization/resources/realtime/types/index.d.ts +5 -0
- package/dist/serialization/resources/realtime/types/index.js +21 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -1
- package/reference.md +64 -6
- package/serialization/resources/commons/types/ActionBase.d.ts +1 -0
- package/serialization/resources/commons/types/ActionBase.js +1 -0
- package/serialization/resources/commons/types/{ConversationBase.d.ts → BaseConversationResponse.d.ts} +9 -2
- package/serialization/resources/commons/types/{ConversationBase.js → BaseConversationResponse.js} +9 -2
- package/serialization/resources/commons/types/BasePaginatedRequest.d.ts +14 -0
- package/serialization/resources/commons/types/BasePaginatedRequest.js +45 -0
- package/serialization/resources/commons/types/BotMessage.d.ts +2 -0
- package/serialization/resources/commons/types/BotMessage.js +2 -0
- package/serialization/resources/commons/types/BotMessageStatus.d.ts +10 -0
- package/serialization/resources/commons/types/BotMessageStatus.js +41 -0
- package/serialization/resources/commons/types/ConversationAnalysis.d.ts +1 -0
- package/serialization/resources/commons/types/ConversationAnalysis.js +1 -0
- package/serialization/resources/commons/types/ConversationPreview.d.ts +12 -0
- package/serialization/resources/commons/types/ConversationPreview.js +42 -0
- package/serialization/resources/commons/types/ConversationResponse.d.ts +2 -9
- package/serialization/resources/commons/types/ConversationResponse.js +2 -9
- package/serialization/resources/commons/types/index.d.ts +6 -3
- package/serialization/resources/commons/types/index.js +6 -3
- package/serialization/resources/conversation/types/ConversationFilter.d.ts +1 -0
- package/serialization/resources/conversation/types/ConversationFilter.js +1 -0
- package/serialization/resources/conversation/types/ConversationRequest.d.ts +9 -2
- package/serialization/resources/conversation/types/ConversationRequest.js +10 -5
- package/serialization/resources/conversation/types/ConversationsResponse.d.ts +14 -0
- package/serialization/resources/conversation/types/ConversationsResponse.js +47 -0
- package/serialization/resources/conversation/types/ConversationsSearchRequest.d.ts +16 -0
- package/serialization/resources/conversation/types/ConversationsSearchRequest.js +49 -0
- package/serialization/resources/conversation/types/index.d.ts +2 -0
- package/serialization/resources/conversation/types/index.js +2 -0
- package/serialization/resources/index.d.ts +2 -0
- package/serialization/resources/index.js +3 -1
- package/serialization/resources/knowledge/types/KnowledgeBaseProperties.d.ts +0 -3
- package/serialization/resources/knowledge/types/KnowledgeBaseProperties.js +0 -3
- package/serialization/resources/knowledge/types/index.d.ts +0 -1
- package/serialization/resources/knowledge/types/index.js +0 -1
- package/serialization/resources/realtime/index.d.ts +1 -0
- package/serialization/resources/realtime/index.js +17 -0
- package/serialization/resources/realtime/types/AudioPublishEvent.d.ts +12 -0
- package/serialization/resources/realtime/types/AudioPublishEvent.js +43 -0
- package/serialization/resources/realtime/types/AudioSubscribeEvent.d.ts +12 -0
- package/serialization/resources/realtime/types/AudioSubscribeEvent.js +43 -0
- package/serialization/resources/realtime/types/ControlEvent.d.ts +12 -0
- package/{dist/serialization/resources/knowledge/types/KnowledgeBaseType.js → serialization/resources/realtime/types/ControlEvent.js} +4 -2
- package/serialization/resources/realtime/types/PublishEvent.d.ts +14 -0
- package/serialization/resources/realtime/types/PublishEvent.js +49 -0
- package/serialization/resources/realtime/types/SubscribeEvent.d.ts +24 -0
- package/serialization/resources/realtime/types/SubscribeEvent.js +53 -0
- package/serialization/resources/realtime/types/index.d.ts +5 -0
- package/serialization/resources/realtime/types/index.js +21 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/api/resources/knowledge/types/KnowledgeBaseType.d.ts +0 -12
- package/dist/api/resources/knowledge/types/KnowledgeBaseType.d.ts +0 -12
- package/dist/serialization/resources/knowledge/types/KnowledgeBaseType.d.ts +0 -10
- package/serialization/resources/knowledge/types/KnowledgeBaseType.d.ts +0 -10
- /package/api/resources/commons/types/{ConversationBase.js → BaseConversationResponse.js} +0 -0
- /package/{dist/api/resources/commons/types/ConversationBase.js → api/resources/commons/types/BasePaginatedRequest.js} +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import * as Events from "./events";
|
|
2
|
+
export type Event = Events.Event;
|
|
3
|
+
export type ErrorEvent = Events.ErrorEvent;
|
|
4
|
+
export type CloseEvent = Events.CloseEvent;
|
|
5
|
+
export type Options = {
|
|
6
|
+
WebSocket?: any;
|
|
7
|
+
maxReconnectionDelay?: number;
|
|
8
|
+
minReconnectionDelay?: number;
|
|
9
|
+
reconnectionDelayGrowFactor?: number;
|
|
10
|
+
minUptime?: number;
|
|
11
|
+
connectionTimeout?: number;
|
|
12
|
+
maxRetries?: number;
|
|
13
|
+
maxEnqueuedMessages?: number;
|
|
14
|
+
startClosed?: boolean;
|
|
15
|
+
debug?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type UrlProvider = string | (() => string) | (() => Promise<string>);
|
|
18
|
+
export type Message = string | ArrayBuffer | Blob | ArrayBufferView;
|
|
19
|
+
export type ListenersMap = {
|
|
20
|
+
error: Array<Events.WebSocketEventListenerMap["error"]>;
|
|
21
|
+
message: Array<Events.WebSocketEventListenerMap["message"]>;
|
|
22
|
+
open: Array<Events.WebSocketEventListenerMap["open"]>;
|
|
23
|
+
close: Array<Events.WebSocketEventListenerMap["close"]>;
|
|
24
|
+
};
|
|
25
|
+
export declare class ReconnectingWebSocket {
|
|
26
|
+
private _ws?;
|
|
27
|
+
private _listeners;
|
|
28
|
+
private _retryCount;
|
|
29
|
+
private _uptimeTimeout;
|
|
30
|
+
private _connectTimeout;
|
|
31
|
+
private _shouldReconnect;
|
|
32
|
+
private _connectLock;
|
|
33
|
+
private _binaryType;
|
|
34
|
+
private _closeCalled;
|
|
35
|
+
private _messageQueue;
|
|
36
|
+
private readonly _url;
|
|
37
|
+
private readonly _protocols?;
|
|
38
|
+
private readonly _options;
|
|
39
|
+
private readonly _headers?;
|
|
40
|
+
constructor(url: UrlProvider, protocols?: string | string[], options?: Options, headers?: Record<string, any>);
|
|
41
|
+
static get CONNECTING(): number;
|
|
42
|
+
static get OPEN(): number;
|
|
43
|
+
static get CLOSING(): number;
|
|
44
|
+
static get CLOSED(): number;
|
|
45
|
+
get CONNECTING(): number;
|
|
46
|
+
get OPEN(): number;
|
|
47
|
+
get CLOSING(): number;
|
|
48
|
+
get CLOSED(): number;
|
|
49
|
+
get binaryType(): BinaryType;
|
|
50
|
+
set binaryType(value: BinaryType);
|
|
51
|
+
/**
|
|
52
|
+
* Returns the number or connection retries
|
|
53
|
+
*/
|
|
54
|
+
get retryCount(): number;
|
|
55
|
+
/**
|
|
56
|
+
* The number of bytes of data that have been queued using calls to send() but not yet
|
|
57
|
+
* transmitted to the network. This value resets to zero once all queued data has been sent.
|
|
58
|
+
* This value does not reset to zero when the connection is closed; if you keep calling send(),
|
|
59
|
+
* this will continue to climb. Read only
|
|
60
|
+
*/
|
|
61
|
+
get bufferedAmount(): number;
|
|
62
|
+
/**
|
|
63
|
+
* The extensions selected by the server. This is currently only the empty string or a list of
|
|
64
|
+
* extensions as negotiated by the connection
|
|
65
|
+
*/
|
|
66
|
+
get extensions(): string;
|
|
67
|
+
/**
|
|
68
|
+
* A string indicating the name of the sub-protocol the server selected;
|
|
69
|
+
* this will be one of the strings specified in the protocols parameter when creating the
|
|
70
|
+
* WebSocket object
|
|
71
|
+
*/
|
|
72
|
+
get protocol(): string;
|
|
73
|
+
/**
|
|
74
|
+
* The current state of the connection; this is one of the Ready state constants
|
|
75
|
+
*/
|
|
76
|
+
get readyState(): number;
|
|
77
|
+
/**
|
|
78
|
+
* The URL as resolved by the constructor
|
|
79
|
+
*/
|
|
80
|
+
get url(): string;
|
|
81
|
+
/**
|
|
82
|
+
* An event listener to be called when the WebSocket connection's readyState changes to CLOSED
|
|
83
|
+
*/
|
|
84
|
+
onclose: ((event: Events.CloseEvent) => void) | null;
|
|
85
|
+
/**
|
|
86
|
+
* An event listener to be called when an error occurs
|
|
87
|
+
*/
|
|
88
|
+
onerror: ((event: Events.ErrorEvent) => void) | null;
|
|
89
|
+
/**
|
|
90
|
+
* An event listener to be called when a message is received from the server
|
|
91
|
+
*/
|
|
92
|
+
onmessage: ((event: MessageEvent) => void) | null;
|
|
93
|
+
/**
|
|
94
|
+
* An event listener to be called when the WebSocket connection's readyState changes to OPEN;
|
|
95
|
+
* this indicates that the connection is ready to send and receive data
|
|
96
|
+
*/
|
|
97
|
+
onopen: ((event: Event) => void) | null;
|
|
98
|
+
/**
|
|
99
|
+
* Closes the WebSocket connection or connection attempt, if any. If the connection is already
|
|
100
|
+
* CLOSED, this method does nothing
|
|
101
|
+
*/
|
|
102
|
+
close(code?: number, reason?: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* Closes the WebSocket connection or connection attempt and connects again.
|
|
105
|
+
* Resets retry counter;
|
|
106
|
+
*/
|
|
107
|
+
reconnect(code?: number, reason?: string): void;
|
|
108
|
+
/**
|
|
109
|
+
* Enqueue specified data to be transmitted to the server over the WebSocket connection
|
|
110
|
+
*/
|
|
111
|
+
send(data: Message): void;
|
|
112
|
+
/**
|
|
113
|
+
* Register an event handler of a specific event type
|
|
114
|
+
*/
|
|
115
|
+
addEventListener<T extends keyof Events.WebSocketEventListenerMap>(type: T, listener: Events.WebSocketEventListenerMap[T]): void;
|
|
116
|
+
dispatchEvent(event: Event): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Removes an event listener
|
|
119
|
+
*/
|
|
120
|
+
removeEventListener<T extends keyof Events.WebSocketEventListenerMap>(type: T, listener: Events.WebSocketEventListenerMap[T]): void;
|
|
121
|
+
private _debug;
|
|
122
|
+
private _getNextDelay;
|
|
123
|
+
private _wait;
|
|
124
|
+
private _getNextUrl;
|
|
125
|
+
private _connect;
|
|
126
|
+
private _handleTimeout;
|
|
127
|
+
private _disconnect;
|
|
128
|
+
private _acceptOpen;
|
|
129
|
+
private _callEventListener;
|
|
130
|
+
private _handleOpen;
|
|
131
|
+
private _handleMessage;
|
|
132
|
+
private _handleError;
|
|
133
|
+
private _handleClose;
|
|
134
|
+
private _removeListeners;
|
|
135
|
+
private _addListeners;
|
|
136
|
+
private _clearTimeouts;
|
|
137
|
+
}
|
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ReconnectingWebSocket = void 0;
|
|
37
|
+
const ws_1 = require("ws");
|
|
38
|
+
const runtime_1 = require("../runtime");
|
|
39
|
+
const Events = __importStar(require("./events"));
|
|
40
|
+
const getGlobalWebSocket = () => {
|
|
41
|
+
if (typeof WebSocket !== "undefined") {
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
return WebSocket;
|
|
44
|
+
}
|
|
45
|
+
else if (runtime_1.RUNTIME.type === "node") {
|
|
46
|
+
return ws_1.WebSocket;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Returns true if given argument looks like a WebSocket class
|
|
52
|
+
*/
|
|
53
|
+
const isWebSocket = (w) => typeof w !== "undefined" && !!w && w.CLOSING === 2;
|
|
54
|
+
const DEFAULT = {
|
|
55
|
+
maxReconnectionDelay: 10000,
|
|
56
|
+
minReconnectionDelay: 1000 + Math.random() * 4000,
|
|
57
|
+
minUptime: 5000,
|
|
58
|
+
reconnectionDelayGrowFactor: 1.3,
|
|
59
|
+
connectionTimeout: 4000,
|
|
60
|
+
maxRetries: Infinity,
|
|
61
|
+
maxEnqueuedMessages: Infinity,
|
|
62
|
+
startClosed: false,
|
|
63
|
+
debug: false,
|
|
64
|
+
};
|
|
65
|
+
class ReconnectingWebSocket {
|
|
66
|
+
constructor(url, protocols, options = {}, headers) {
|
|
67
|
+
this._listeners = {
|
|
68
|
+
error: [],
|
|
69
|
+
message: [],
|
|
70
|
+
open: [],
|
|
71
|
+
close: [],
|
|
72
|
+
};
|
|
73
|
+
this._retryCount = -1;
|
|
74
|
+
this._shouldReconnect = true;
|
|
75
|
+
this._connectLock = false;
|
|
76
|
+
this._binaryType = "blob";
|
|
77
|
+
this._closeCalled = false;
|
|
78
|
+
this._messageQueue = [];
|
|
79
|
+
/**
|
|
80
|
+
* An event listener to be called when the WebSocket connection's readyState changes to CLOSED
|
|
81
|
+
*/
|
|
82
|
+
this.onclose = null;
|
|
83
|
+
/**
|
|
84
|
+
* An event listener to be called when an error occurs
|
|
85
|
+
*/
|
|
86
|
+
this.onerror = null;
|
|
87
|
+
/**
|
|
88
|
+
* An event listener to be called when a message is received from the server
|
|
89
|
+
*/
|
|
90
|
+
this.onmessage = null;
|
|
91
|
+
/**
|
|
92
|
+
* An event listener to be called when the WebSocket connection's readyState changes to OPEN;
|
|
93
|
+
* this indicates that the connection is ready to send and receive data
|
|
94
|
+
*/
|
|
95
|
+
this.onopen = null;
|
|
96
|
+
this._handleOpen = (event) => {
|
|
97
|
+
this._debug("open event");
|
|
98
|
+
const { minUptime = DEFAULT.minUptime } = this._options;
|
|
99
|
+
clearTimeout(this._connectTimeout);
|
|
100
|
+
this._uptimeTimeout = setTimeout(() => this._acceptOpen(), minUptime);
|
|
101
|
+
this._ws.binaryType = this._binaryType;
|
|
102
|
+
// send enqueued messages (messages sent before websocket open event)
|
|
103
|
+
this._messageQueue.forEach((message) => { var _a; return (_a = this._ws) === null || _a === void 0 ? void 0 : _a.send(message); });
|
|
104
|
+
this._messageQueue = [];
|
|
105
|
+
if (this.onopen) {
|
|
106
|
+
this.onopen(event);
|
|
107
|
+
}
|
|
108
|
+
this._listeners.open.forEach((listener) => this._callEventListener(event, listener));
|
|
109
|
+
};
|
|
110
|
+
this._handleMessage = (event) => {
|
|
111
|
+
this._debug("message event");
|
|
112
|
+
if (this.onmessage) {
|
|
113
|
+
this.onmessage(event);
|
|
114
|
+
}
|
|
115
|
+
this._listeners.message.forEach((listener) => this._callEventListener(event, listener));
|
|
116
|
+
};
|
|
117
|
+
this._handleError = (event) => {
|
|
118
|
+
this._debug("error event", event.message);
|
|
119
|
+
this._disconnect(undefined, event.message === "TIMEOUT" ? "timeout" : undefined);
|
|
120
|
+
if (this.onerror) {
|
|
121
|
+
this.onerror(event);
|
|
122
|
+
}
|
|
123
|
+
this._debug("exec error listeners");
|
|
124
|
+
this._listeners.error.forEach((listener) => this._callEventListener(event, listener));
|
|
125
|
+
this._connect();
|
|
126
|
+
};
|
|
127
|
+
this._handleClose = (event) => {
|
|
128
|
+
this._debug("close event");
|
|
129
|
+
this._clearTimeouts();
|
|
130
|
+
if (event.code === 1000) {
|
|
131
|
+
this._shouldReconnect = false;
|
|
132
|
+
}
|
|
133
|
+
if (this._shouldReconnect) {
|
|
134
|
+
this._connect();
|
|
135
|
+
}
|
|
136
|
+
if (this.onclose) {
|
|
137
|
+
this.onclose(event);
|
|
138
|
+
}
|
|
139
|
+
this._listeners.close.forEach((listener) => this._callEventListener(event, listener));
|
|
140
|
+
};
|
|
141
|
+
this._url = url;
|
|
142
|
+
this._protocols = protocols;
|
|
143
|
+
this._options = options;
|
|
144
|
+
this._headers = headers;
|
|
145
|
+
if (this._options.startClosed) {
|
|
146
|
+
this._shouldReconnect = false;
|
|
147
|
+
}
|
|
148
|
+
this._connect();
|
|
149
|
+
}
|
|
150
|
+
static get CONNECTING() {
|
|
151
|
+
return 0;
|
|
152
|
+
}
|
|
153
|
+
static get OPEN() {
|
|
154
|
+
return 1;
|
|
155
|
+
}
|
|
156
|
+
static get CLOSING() {
|
|
157
|
+
return 2;
|
|
158
|
+
}
|
|
159
|
+
static get CLOSED() {
|
|
160
|
+
return 3;
|
|
161
|
+
}
|
|
162
|
+
get CONNECTING() {
|
|
163
|
+
return ReconnectingWebSocket.CONNECTING;
|
|
164
|
+
}
|
|
165
|
+
get OPEN() {
|
|
166
|
+
return ReconnectingWebSocket.OPEN;
|
|
167
|
+
}
|
|
168
|
+
get CLOSING() {
|
|
169
|
+
return ReconnectingWebSocket.CLOSING;
|
|
170
|
+
}
|
|
171
|
+
get CLOSED() {
|
|
172
|
+
return ReconnectingWebSocket.CLOSED;
|
|
173
|
+
}
|
|
174
|
+
get binaryType() {
|
|
175
|
+
return this._ws ? this._ws.binaryType : this._binaryType;
|
|
176
|
+
}
|
|
177
|
+
set binaryType(value) {
|
|
178
|
+
this._binaryType = value;
|
|
179
|
+
if (this._ws) {
|
|
180
|
+
this._ws.binaryType = value;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Returns the number or connection retries
|
|
185
|
+
*/
|
|
186
|
+
get retryCount() {
|
|
187
|
+
return Math.max(this._retryCount, 0);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* The number of bytes of data that have been queued using calls to send() but not yet
|
|
191
|
+
* transmitted to the network. This value resets to zero once all queued data has been sent.
|
|
192
|
+
* This value does not reset to zero when the connection is closed; if you keep calling send(),
|
|
193
|
+
* this will continue to climb. Read only
|
|
194
|
+
*/
|
|
195
|
+
get bufferedAmount() {
|
|
196
|
+
const bytes = this._messageQueue.reduce((acc, message) => {
|
|
197
|
+
if (typeof message === "string") {
|
|
198
|
+
acc += message.length; // not byte size
|
|
199
|
+
}
|
|
200
|
+
else if (message instanceof Blob) {
|
|
201
|
+
acc += message.size;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
acc += message.byteLength;
|
|
205
|
+
}
|
|
206
|
+
return acc;
|
|
207
|
+
}, 0);
|
|
208
|
+
return bytes + (this._ws ? this._ws.bufferedAmount : 0);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* The extensions selected by the server. This is currently only the empty string or a list of
|
|
212
|
+
* extensions as negotiated by the connection
|
|
213
|
+
*/
|
|
214
|
+
get extensions() {
|
|
215
|
+
return this._ws ? this._ws.extensions : "";
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* A string indicating the name of the sub-protocol the server selected;
|
|
219
|
+
* this will be one of the strings specified in the protocols parameter when creating the
|
|
220
|
+
* WebSocket object
|
|
221
|
+
*/
|
|
222
|
+
get protocol() {
|
|
223
|
+
return this._ws ? this._ws.protocol : "";
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* The current state of the connection; this is one of the Ready state constants
|
|
227
|
+
*/
|
|
228
|
+
get readyState() {
|
|
229
|
+
if (this._ws) {
|
|
230
|
+
return this._ws.readyState;
|
|
231
|
+
}
|
|
232
|
+
return this._options.startClosed ? ReconnectingWebSocket.CLOSED : ReconnectingWebSocket.CONNECTING;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* The URL as resolved by the constructor
|
|
236
|
+
*/
|
|
237
|
+
get url() {
|
|
238
|
+
return this._ws ? this._ws.url : "";
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Closes the WebSocket connection or connection attempt, if any. If the connection is already
|
|
242
|
+
* CLOSED, this method does nothing
|
|
243
|
+
*/
|
|
244
|
+
close(code = 1000, reason) {
|
|
245
|
+
this._closeCalled = true;
|
|
246
|
+
this._shouldReconnect = false;
|
|
247
|
+
this._clearTimeouts();
|
|
248
|
+
if (!this._ws) {
|
|
249
|
+
this._debug("close enqueued: no ws instance");
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
if (this._ws.readyState === this.CLOSED) {
|
|
253
|
+
this._debug("close: already closed");
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
this._ws.close(code, reason);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Closes the WebSocket connection or connection attempt and connects again.
|
|
260
|
+
* Resets retry counter;
|
|
261
|
+
*/
|
|
262
|
+
reconnect(code, reason) {
|
|
263
|
+
this._shouldReconnect = true;
|
|
264
|
+
this._closeCalled = false;
|
|
265
|
+
this._retryCount = -1;
|
|
266
|
+
if (!this._ws || this._ws.readyState === this.CLOSED) {
|
|
267
|
+
this._connect();
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
this._disconnect(code, reason);
|
|
271
|
+
this._connect();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Enqueue specified data to be transmitted to the server over the WebSocket connection
|
|
276
|
+
*/
|
|
277
|
+
send(data) {
|
|
278
|
+
if (this._ws && this._ws.readyState === this.OPEN) {
|
|
279
|
+
this._debug("send", data);
|
|
280
|
+
this._ws.send(data);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
const { maxEnqueuedMessages = DEFAULT.maxEnqueuedMessages } = this._options;
|
|
284
|
+
if (this._messageQueue.length < maxEnqueuedMessages) {
|
|
285
|
+
this._debug("enqueue", data);
|
|
286
|
+
this._messageQueue.push(data);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Register an event handler of a specific event type
|
|
292
|
+
*/
|
|
293
|
+
addEventListener(type, listener) {
|
|
294
|
+
if (this._listeners[type]) {
|
|
295
|
+
// @ts-ignore
|
|
296
|
+
this._listeners[type].push(listener);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
dispatchEvent(event) {
|
|
300
|
+
const listeners = this._listeners[event.type];
|
|
301
|
+
if (listeners) {
|
|
302
|
+
for (const listener of listeners) {
|
|
303
|
+
this._callEventListener(event, listener);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Removes an event listener
|
|
310
|
+
*/
|
|
311
|
+
removeEventListener(type, listener) {
|
|
312
|
+
if (this._listeners[type]) {
|
|
313
|
+
// @ts-ignore
|
|
314
|
+
this._listeners[type] = this._listeners[type].filter(
|
|
315
|
+
// @ts-ignore
|
|
316
|
+
(l) => l !== listener);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
_debug(...args) {
|
|
320
|
+
if (this._options.debug) {
|
|
321
|
+
// not using spread because compiled version uses Symbols
|
|
322
|
+
// tslint:disable-next-line
|
|
323
|
+
// eslint-disable-next-line no-console
|
|
324
|
+
console.log.apply(console, ["RWS>", ...args]);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
_getNextDelay() {
|
|
328
|
+
const { reconnectionDelayGrowFactor = DEFAULT.reconnectionDelayGrowFactor, minReconnectionDelay = DEFAULT.minReconnectionDelay, maxReconnectionDelay = DEFAULT.maxReconnectionDelay, } = this._options;
|
|
329
|
+
let delay = 0;
|
|
330
|
+
if (this._retryCount > 0) {
|
|
331
|
+
delay = minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);
|
|
332
|
+
if (delay > maxReconnectionDelay) {
|
|
333
|
+
delay = maxReconnectionDelay;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
this._debug("next delay", delay);
|
|
337
|
+
return delay;
|
|
338
|
+
}
|
|
339
|
+
_wait() {
|
|
340
|
+
return new Promise((resolve) => {
|
|
341
|
+
setTimeout(resolve, this._getNextDelay());
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
_getNextUrl(urlProvider) {
|
|
345
|
+
if (typeof urlProvider === "string") {
|
|
346
|
+
return Promise.resolve(urlProvider);
|
|
347
|
+
}
|
|
348
|
+
if (typeof urlProvider === "function") {
|
|
349
|
+
const url = urlProvider();
|
|
350
|
+
if (typeof url === "string") {
|
|
351
|
+
return Promise.resolve(url);
|
|
352
|
+
}
|
|
353
|
+
// @ts-ignore redundant check
|
|
354
|
+
if (url.then) {
|
|
355
|
+
return url;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
throw Error("Invalid URL");
|
|
359
|
+
}
|
|
360
|
+
_connect() {
|
|
361
|
+
if (this._connectLock || !this._shouldReconnect) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
this._connectLock = true;
|
|
365
|
+
const { maxRetries = DEFAULT.maxRetries, connectionTimeout = DEFAULT.connectionTimeout, WebSocket = getGlobalWebSocket(), } = this._options;
|
|
366
|
+
if (this._retryCount >= maxRetries) {
|
|
367
|
+
this._debug("max retries reached", this._retryCount, ">=", maxRetries);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
this._retryCount++;
|
|
371
|
+
this._debug("connect", this._retryCount);
|
|
372
|
+
this._removeListeners();
|
|
373
|
+
if (!isWebSocket(WebSocket)) {
|
|
374
|
+
throw Error("No valid WebSocket class provided");
|
|
375
|
+
}
|
|
376
|
+
this._wait()
|
|
377
|
+
.then(() => this._getNextUrl(this._url))
|
|
378
|
+
.then((url) => {
|
|
379
|
+
// close could be called before creating the ws
|
|
380
|
+
if (this._closeCalled) {
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
this._debug("connect", { url, protocols: this._protocols });
|
|
384
|
+
this._ws = this._protocols
|
|
385
|
+
? new WebSocket(url, this._protocols, { headers: this._headers })
|
|
386
|
+
: new WebSocket(url, undefined, { headers: this._headers });
|
|
387
|
+
this._ws.binaryType = this._binaryType;
|
|
388
|
+
this._connectLock = false;
|
|
389
|
+
this._addListeners();
|
|
390
|
+
this._connectTimeout = setTimeout(() => this._handleTimeout(), connectionTimeout);
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
_handleTimeout() {
|
|
394
|
+
this._debug("timeout event");
|
|
395
|
+
this._handleError(new Events.ErrorEvent(Error("TIMEOUT"), this));
|
|
396
|
+
}
|
|
397
|
+
_disconnect(code = 1000, reason) {
|
|
398
|
+
this._clearTimeouts();
|
|
399
|
+
if (!this._ws) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
this._removeListeners();
|
|
403
|
+
try {
|
|
404
|
+
this._ws.close(code, reason);
|
|
405
|
+
this._handleClose(new Events.CloseEvent(code, reason, this));
|
|
406
|
+
}
|
|
407
|
+
catch (error) {
|
|
408
|
+
// ignore
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
_acceptOpen() {
|
|
412
|
+
this._debug("accept open");
|
|
413
|
+
this._retryCount = 0;
|
|
414
|
+
}
|
|
415
|
+
_callEventListener(event, listener) {
|
|
416
|
+
if ("handleEvent" in listener) {
|
|
417
|
+
// @ts-ignore
|
|
418
|
+
listener.handleEvent(event);
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
// @ts-ignore
|
|
422
|
+
listener(event);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
_removeListeners() {
|
|
426
|
+
if (!this._ws) {
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
this._debug("removeListeners");
|
|
430
|
+
this._ws.removeEventListener("open", this._handleOpen);
|
|
431
|
+
this._ws.removeEventListener("close", this._handleClose);
|
|
432
|
+
this._ws.removeEventListener("message", this._handleMessage);
|
|
433
|
+
// @ts-ignore
|
|
434
|
+
this._ws.removeEventListener("error", this._handleError);
|
|
435
|
+
}
|
|
436
|
+
_addListeners() {
|
|
437
|
+
if (!this._ws) {
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
this._debug("addListeners");
|
|
441
|
+
this._ws.addEventListener("open", this._handleOpen);
|
|
442
|
+
this._ws.addEventListener("close", this._handleClose);
|
|
443
|
+
this._ws.addEventListener("message", this._handleMessage);
|
|
444
|
+
// @ts-ignore
|
|
445
|
+
this._ws.addEventListener("error", this._handleError);
|
|
446
|
+
}
|
|
447
|
+
_clearTimeouts() {
|
|
448
|
+
clearTimeout(this._connectTimeout);
|
|
449
|
+
clearTimeout(this._uptimeTimeout);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
exports.ReconnectingWebSocket = ReconnectingWebSocket;
|
package/dist/Client.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { AppSettings } from "./api/resources/appSettings/client/Client";
|
|
|
9
9
|
import { Conversation } from "./api/resources/conversation/client/Client";
|
|
10
10
|
import { Inbox } from "./api/resources/inbox/client/Client";
|
|
11
11
|
import { Knowledge } from "./api/resources/knowledge/client/Client";
|
|
12
|
+
import { Realtime } from "./api/resources/realtime/client/Client";
|
|
12
13
|
import { Translations } from "./api/resources/translations/client/Client";
|
|
13
14
|
import { Triggers } from "./api/resources/triggers/client/Client";
|
|
14
15
|
import { Users } from "./api/resources/users/client/Client";
|
|
@@ -48,6 +49,7 @@ export declare class MavenAGIClient {
|
|
|
48
49
|
protected _conversation: Conversation | undefined;
|
|
49
50
|
protected _inbox: Inbox | undefined;
|
|
50
51
|
protected _knowledge: Knowledge | undefined;
|
|
52
|
+
protected _realtime: Realtime | undefined;
|
|
51
53
|
protected _translations: Translations | undefined;
|
|
52
54
|
protected _triggers: Triggers | undefined;
|
|
53
55
|
protected _users: Users | undefined;
|
|
@@ -58,6 +60,7 @@ export declare class MavenAGIClient {
|
|
|
58
60
|
get conversation(): Conversation;
|
|
59
61
|
get inbox(): Inbox;
|
|
60
62
|
get knowledge(): Knowledge;
|
|
63
|
+
get realtime(): Realtime;
|
|
61
64
|
get translations(): Translations;
|
|
62
65
|
get triggers(): Triggers;
|
|
63
66
|
get users(): Users;
|
package/dist/Client.js
CHANGED
|
@@ -10,9 +10,10 @@ const Client_3 = require("./api/resources/appSettings/client/Client");
|
|
|
10
10
|
const Client_4 = require("./api/resources/conversation/client/Client");
|
|
11
11
|
const Client_5 = require("./api/resources/inbox/client/Client");
|
|
12
12
|
const Client_6 = require("./api/resources/knowledge/client/Client");
|
|
13
|
-
const Client_7 = require("./api/resources/
|
|
14
|
-
const Client_8 = require("./api/resources/
|
|
15
|
-
const Client_9 = require("./api/resources/
|
|
13
|
+
const Client_7 = require("./api/resources/realtime/client/Client");
|
|
14
|
+
const Client_8 = require("./api/resources/translations/client/Client");
|
|
15
|
+
const Client_9 = require("./api/resources/triggers/client/Client");
|
|
16
|
+
const Client_10 = require("./api/resources/users/client/Client");
|
|
16
17
|
class MavenAGIClient {
|
|
17
18
|
constructor(_options) {
|
|
18
19
|
this._options = _options;
|
|
@@ -41,17 +42,21 @@ class MavenAGIClient {
|
|
|
41
42
|
var _a;
|
|
42
43
|
return ((_a = this._knowledge) !== null && _a !== void 0 ? _a : (this._knowledge = new Client_6.Knowledge(this._options)));
|
|
43
44
|
}
|
|
45
|
+
get realtime() {
|
|
46
|
+
var _a;
|
|
47
|
+
return ((_a = this._realtime) !== null && _a !== void 0 ? _a : (this._realtime = new Client_7.Realtime(this._options)));
|
|
48
|
+
}
|
|
44
49
|
get translations() {
|
|
45
50
|
var _a;
|
|
46
|
-
return ((_a = this._translations) !== null && _a !== void 0 ? _a : (this._translations = new
|
|
51
|
+
return ((_a = this._translations) !== null && _a !== void 0 ? _a : (this._translations = new Client_8.Translations(this._options)));
|
|
47
52
|
}
|
|
48
53
|
get triggers() {
|
|
49
54
|
var _a;
|
|
50
|
-
return ((_a = this._triggers) !== null && _a !== void 0 ? _a : (this._triggers = new
|
|
55
|
+
return ((_a = this._triggers) !== null && _a !== void 0 ? _a : (this._triggers = new Client_9.Triggers(this._options)));
|
|
51
56
|
}
|
|
52
57
|
get users() {
|
|
53
58
|
var _a;
|
|
54
|
-
return ((_a = this._users) !== null && _a !== void 0 ? _a : (this._users = new
|
|
59
|
+
return ((_a = this._users) !== null && _a !== void 0 ? _a : (this._users = new Client_10.Users(this._options)));
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
exports.MavenAGIClient = MavenAGIClient;
|
|
@@ -64,7 +64,8 @@ export declare class Actions {
|
|
|
64
64
|
* preconditionType: "user",
|
|
65
65
|
* key: "userKey2"
|
|
66
66
|
* }]
|
|
67
|
-
* }
|
|
67
|
+
* },
|
|
68
|
+
* language: "en"
|
|
68
69
|
* })
|
|
69
70
|
*/
|
|
70
71
|
createOrUpdate(request: MavenAGI.ActionRequest, requestOptions?: Actions.RequestOptions): Promise<MavenAGI.ActionResponse>;
|