@aegis-fluxion/core 0.3.0 → 0.5.0
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/README.md +173 -0
- package/dist/index.cjs +584 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -3
- package/dist/index.d.ts +27 -3
- package/dist/index.js +584 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,6 +5,11 @@ interface SecureEnvelope<TData = unknown> {
|
|
|
5
5
|
event: string;
|
|
6
6
|
data: TData;
|
|
7
7
|
}
|
|
8
|
+
type SecureBinaryPayload = Buffer | Uint8Array | Blob;
|
|
9
|
+
interface SecureAckOptions {
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
type SecureAckCallback = (error: Error | null, response?: unknown) => void;
|
|
8
13
|
interface SecureServerHeartbeatOptions {
|
|
9
14
|
enabled?: boolean;
|
|
10
15
|
intervalMs?: number;
|
|
@@ -31,6 +36,7 @@ interface SecureServerClient {
|
|
|
31
36
|
id: string;
|
|
32
37
|
socket: WebSocket;
|
|
33
38
|
request: IncomingMessage;
|
|
39
|
+
emit: (event: string, data: unknown, callbackOrOptions?: SecureAckCallback | SecureAckOptions, maybeCallback?: SecureAckCallback) => boolean | Promise<unknown>;
|
|
34
40
|
join: (room: string) => boolean;
|
|
35
41
|
leave: (room: string) => boolean;
|
|
36
42
|
leaveAll: () => number;
|
|
@@ -39,11 +45,11 @@ interface SecureServerRoomOperator {
|
|
|
39
45
|
emit: (event: string, data: unknown) => SecureServer;
|
|
40
46
|
}
|
|
41
47
|
type SecureErrorHandler = (error: Error) => void;
|
|
42
|
-
type SecureServerEventHandler = (data: unknown, client: SecureServerClient) =>
|
|
48
|
+
type SecureServerEventHandler = (data: unknown, client: SecureServerClient) => unknown | Promise<unknown>;
|
|
43
49
|
type SecureServerConnectionHandler = (client: SecureServerClient) => void;
|
|
44
50
|
type SecureServerDisconnectHandler = (client: SecureServerClient, code: number, reason: string) => void;
|
|
45
51
|
type SecureServerReadyHandler = (client: SecureServerClient) => void;
|
|
46
|
-
type SecureClientEventHandler = (data: unknown) =>
|
|
52
|
+
type SecureClientEventHandler = (data: unknown) => unknown | Promise<unknown>;
|
|
47
53
|
type SecureClientConnectHandler = () => void;
|
|
48
54
|
type SecureClientDisconnectHandler = (code: number, reason: string) => void;
|
|
49
55
|
type SecureClientReadyHandler = () => void;
|
|
@@ -76,6 +82,7 @@ declare class SecureServer {
|
|
|
76
82
|
private readonly sharedSecretBySocket;
|
|
77
83
|
private readonly encryptionKeyBySocket;
|
|
78
84
|
private readonly pendingPayloadsBySocket;
|
|
85
|
+
private readonly pendingRpcRequestsBySocket;
|
|
79
86
|
private readonly heartbeatStateBySocket;
|
|
80
87
|
private readonly roomMembersByName;
|
|
81
88
|
private readonly roomNamesByClientId;
|
|
@@ -94,6 +101,9 @@ declare class SecureServer {
|
|
|
94
101
|
off(event: string, handler: SecureServerEventHandler): this;
|
|
95
102
|
emit(event: string, data: unknown): this;
|
|
96
103
|
emitTo(clientId: string, event: string, data: unknown): boolean;
|
|
104
|
+
emitTo(clientId: string, event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
105
|
+
emitTo(clientId: string, event: string, data: unknown, options: SecureAckOptions): Promise<unknown>;
|
|
106
|
+
emitTo(clientId: string, event: string, data: unknown, options: SecureAckOptions, callback: SecureAckCallback): boolean;
|
|
97
107
|
to(room: string): SecureServerRoomOperator;
|
|
98
108
|
close(code?: number, reason?: string): void;
|
|
99
109
|
private resolveHeartbeatConfig;
|
|
@@ -108,6 +118,11 @@ declare class SecureServer {
|
|
|
108
118
|
private dispatchCustomEvent;
|
|
109
119
|
private sendRaw;
|
|
110
120
|
private sendEncryptedEnvelope;
|
|
121
|
+
private sendRpcRequest;
|
|
122
|
+
private handleRpcResponse;
|
|
123
|
+
private handleRpcRequest;
|
|
124
|
+
private executeRpcRequestHandler;
|
|
125
|
+
private rejectPendingRpcRequests;
|
|
111
126
|
private notifyConnection;
|
|
112
127
|
private notifyReady;
|
|
113
128
|
private notifyError;
|
|
@@ -140,6 +155,7 @@ declare class SecureClient {
|
|
|
140
155
|
private readonly errorHandlers;
|
|
141
156
|
private handshakeState;
|
|
142
157
|
private pendingPayloadQueue;
|
|
158
|
+
private readonly pendingRpcRequests;
|
|
143
159
|
constructor(url: string, options?: SecureClientOptions);
|
|
144
160
|
get readyState(): number | null;
|
|
145
161
|
isConnected(): boolean;
|
|
@@ -156,6 +172,9 @@ declare class SecureClient {
|
|
|
156
172
|
off(event: "error", handler: SecureErrorHandler): this;
|
|
157
173
|
off(event: string, handler: SecureClientEventHandler): this;
|
|
158
174
|
emit(event: string, data: unknown): boolean;
|
|
175
|
+
emit(event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
176
|
+
emit(event: string, data: unknown, options: SecureAckOptions): Promise<unknown>;
|
|
177
|
+
emit(event: string, data: unknown, options: SecureAckOptions, callback: SecureAckCallback): boolean;
|
|
159
178
|
private resolveReconnectConfig;
|
|
160
179
|
private scheduleReconnect;
|
|
161
180
|
private computeReconnectDelay;
|
|
@@ -169,6 +188,11 @@ declare class SecureClient {
|
|
|
169
188
|
private notifyReady;
|
|
170
189
|
private notifyError;
|
|
171
190
|
private sendEncryptedEnvelope;
|
|
191
|
+
private sendRpcRequest;
|
|
192
|
+
private handleRpcResponse;
|
|
193
|
+
private handleRpcRequest;
|
|
194
|
+
private executeRpcRequestHandler;
|
|
195
|
+
private rejectPendingRpcRequests;
|
|
172
196
|
private createClientHandshakeState;
|
|
173
197
|
private sendInternalHandshake;
|
|
174
198
|
private handleInternalHandshake;
|
|
@@ -176,4 +200,4 @@ declare class SecureClient {
|
|
|
176
200
|
private flushPendingPayloadQueue;
|
|
177
201
|
}
|
|
178
202
|
|
|
179
|
-
export { SecureClient, type SecureClientConnectHandler, type SecureClientDisconnectHandler, type SecureClientEventHandler, type SecureClientEventMap, type SecureClientLifecycleEvent, type SecureClientOptions, type SecureClientReadyHandler, type SecureClientReconnectOptions, type SecureEnvelope, type SecureErrorHandler, SecureServer, type SecureServerClient, type SecureServerConnectionHandler, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|
|
203
|
+
export { type SecureAckCallback, type SecureAckOptions, type SecureBinaryPayload, SecureClient, type SecureClientConnectHandler, type SecureClientDisconnectHandler, type SecureClientEventHandler, type SecureClientEventMap, type SecureClientLifecycleEvent, type SecureClientOptions, type SecureClientReadyHandler, type SecureClientReconnectOptions, type SecureEnvelope, type SecureErrorHandler, SecureServer, type SecureServerClient, type SecureServerConnectionHandler, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ interface SecureEnvelope<TData = unknown> {
|
|
|
5
5
|
event: string;
|
|
6
6
|
data: TData;
|
|
7
7
|
}
|
|
8
|
+
type SecureBinaryPayload = Buffer | Uint8Array | Blob;
|
|
9
|
+
interface SecureAckOptions {
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
type SecureAckCallback = (error: Error | null, response?: unknown) => void;
|
|
8
13
|
interface SecureServerHeartbeatOptions {
|
|
9
14
|
enabled?: boolean;
|
|
10
15
|
intervalMs?: number;
|
|
@@ -31,6 +36,7 @@ interface SecureServerClient {
|
|
|
31
36
|
id: string;
|
|
32
37
|
socket: WebSocket;
|
|
33
38
|
request: IncomingMessage;
|
|
39
|
+
emit: (event: string, data: unknown, callbackOrOptions?: SecureAckCallback | SecureAckOptions, maybeCallback?: SecureAckCallback) => boolean | Promise<unknown>;
|
|
34
40
|
join: (room: string) => boolean;
|
|
35
41
|
leave: (room: string) => boolean;
|
|
36
42
|
leaveAll: () => number;
|
|
@@ -39,11 +45,11 @@ interface SecureServerRoomOperator {
|
|
|
39
45
|
emit: (event: string, data: unknown) => SecureServer;
|
|
40
46
|
}
|
|
41
47
|
type SecureErrorHandler = (error: Error) => void;
|
|
42
|
-
type SecureServerEventHandler = (data: unknown, client: SecureServerClient) =>
|
|
48
|
+
type SecureServerEventHandler = (data: unknown, client: SecureServerClient) => unknown | Promise<unknown>;
|
|
43
49
|
type SecureServerConnectionHandler = (client: SecureServerClient) => void;
|
|
44
50
|
type SecureServerDisconnectHandler = (client: SecureServerClient, code: number, reason: string) => void;
|
|
45
51
|
type SecureServerReadyHandler = (client: SecureServerClient) => void;
|
|
46
|
-
type SecureClientEventHandler = (data: unknown) =>
|
|
52
|
+
type SecureClientEventHandler = (data: unknown) => unknown | Promise<unknown>;
|
|
47
53
|
type SecureClientConnectHandler = () => void;
|
|
48
54
|
type SecureClientDisconnectHandler = (code: number, reason: string) => void;
|
|
49
55
|
type SecureClientReadyHandler = () => void;
|
|
@@ -76,6 +82,7 @@ declare class SecureServer {
|
|
|
76
82
|
private readonly sharedSecretBySocket;
|
|
77
83
|
private readonly encryptionKeyBySocket;
|
|
78
84
|
private readonly pendingPayloadsBySocket;
|
|
85
|
+
private readonly pendingRpcRequestsBySocket;
|
|
79
86
|
private readonly heartbeatStateBySocket;
|
|
80
87
|
private readonly roomMembersByName;
|
|
81
88
|
private readonly roomNamesByClientId;
|
|
@@ -94,6 +101,9 @@ declare class SecureServer {
|
|
|
94
101
|
off(event: string, handler: SecureServerEventHandler): this;
|
|
95
102
|
emit(event: string, data: unknown): this;
|
|
96
103
|
emitTo(clientId: string, event: string, data: unknown): boolean;
|
|
104
|
+
emitTo(clientId: string, event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
105
|
+
emitTo(clientId: string, event: string, data: unknown, options: SecureAckOptions): Promise<unknown>;
|
|
106
|
+
emitTo(clientId: string, event: string, data: unknown, options: SecureAckOptions, callback: SecureAckCallback): boolean;
|
|
97
107
|
to(room: string): SecureServerRoomOperator;
|
|
98
108
|
close(code?: number, reason?: string): void;
|
|
99
109
|
private resolveHeartbeatConfig;
|
|
@@ -108,6 +118,11 @@ declare class SecureServer {
|
|
|
108
118
|
private dispatchCustomEvent;
|
|
109
119
|
private sendRaw;
|
|
110
120
|
private sendEncryptedEnvelope;
|
|
121
|
+
private sendRpcRequest;
|
|
122
|
+
private handleRpcResponse;
|
|
123
|
+
private handleRpcRequest;
|
|
124
|
+
private executeRpcRequestHandler;
|
|
125
|
+
private rejectPendingRpcRequests;
|
|
111
126
|
private notifyConnection;
|
|
112
127
|
private notifyReady;
|
|
113
128
|
private notifyError;
|
|
@@ -140,6 +155,7 @@ declare class SecureClient {
|
|
|
140
155
|
private readonly errorHandlers;
|
|
141
156
|
private handshakeState;
|
|
142
157
|
private pendingPayloadQueue;
|
|
158
|
+
private readonly pendingRpcRequests;
|
|
143
159
|
constructor(url: string, options?: SecureClientOptions);
|
|
144
160
|
get readyState(): number | null;
|
|
145
161
|
isConnected(): boolean;
|
|
@@ -156,6 +172,9 @@ declare class SecureClient {
|
|
|
156
172
|
off(event: "error", handler: SecureErrorHandler): this;
|
|
157
173
|
off(event: string, handler: SecureClientEventHandler): this;
|
|
158
174
|
emit(event: string, data: unknown): boolean;
|
|
175
|
+
emit(event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
176
|
+
emit(event: string, data: unknown, options: SecureAckOptions): Promise<unknown>;
|
|
177
|
+
emit(event: string, data: unknown, options: SecureAckOptions, callback: SecureAckCallback): boolean;
|
|
159
178
|
private resolveReconnectConfig;
|
|
160
179
|
private scheduleReconnect;
|
|
161
180
|
private computeReconnectDelay;
|
|
@@ -169,6 +188,11 @@ declare class SecureClient {
|
|
|
169
188
|
private notifyReady;
|
|
170
189
|
private notifyError;
|
|
171
190
|
private sendEncryptedEnvelope;
|
|
191
|
+
private sendRpcRequest;
|
|
192
|
+
private handleRpcResponse;
|
|
193
|
+
private handleRpcRequest;
|
|
194
|
+
private executeRpcRequestHandler;
|
|
195
|
+
private rejectPendingRpcRequests;
|
|
172
196
|
private createClientHandshakeState;
|
|
173
197
|
private sendInternalHandshake;
|
|
174
198
|
private handleInternalHandshake;
|
|
@@ -176,4 +200,4 @@ declare class SecureClient {
|
|
|
176
200
|
private flushPendingPayloadQueue;
|
|
177
201
|
}
|
|
178
202
|
|
|
179
|
-
export { SecureClient, type SecureClientConnectHandler, type SecureClientDisconnectHandler, type SecureClientEventHandler, type SecureClientEventMap, type SecureClientLifecycleEvent, type SecureClientOptions, type SecureClientReadyHandler, type SecureClientReconnectOptions, type SecureEnvelope, type SecureErrorHandler, SecureServer, type SecureServerClient, type SecureServerConnectionHandler, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|
|
203
|
+
export { type SecureAckCallback, type SecureAckOptions, type SecureBinaryPayload, SecureClient, type SecureClientConnectHandler, type SecureClientDisconnectHandler, type SecureClientEventHandler, type SecureClientEventMap, type SecureClientLifecycleEvent, type SecureClientOptions, type SecureClientReadyHandler, type SecureClientReconnectOptions, type SecureEnvelope, type SecureErrorHandler, SecureServer, type SecureServerClient, type SecureServerConnectionHandler, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|