@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/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) => void;
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) => void;
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) => void;
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) => void;
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 };