@aegis-fluxion/core 0.4.0 → 0.7.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 +230 -101
- package/dist/index.cjs +303 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +303 -58
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,6 +5,7 @@ interface SecureEnvelope<TData = unknown> {
|
|
|
5
5
|
event: string;
|
|
6
6
|
data: TData;
|
|
7
7
|
}
|
|
8
|
+
type SecureBinaryPayload = Buffer | Uint8Array | Blob;
|
|
8
9
|
interface SecureAckOptions {
|
|
9
10
|
timeoutMs?: number;
|
|
10
11
|
}
|
|
@@ -35,6 +36,7 @@ interface SecureServerClient {
|
|
|
35
36
|
id: string;
|
|
36
37
|
socket: WebSocket;
|
|
37
38
|
request: IncomingMessage;
|
|
39
|
+
metadata: ReadonlyMap<string, unknown>;
|
|
38
40
|
emit: (event: string, data: unknown, callbackOrOptions?: SecureAckCallback | SecureAckOptions, maybeCallback?: SecureAckCallback) => boolean | Promise<unknown>;
|
|
39
41
|
join: (room: string) => boolean;
|
|
40
42
|
leave: (room: string) => boolean;
|
|
@@ -66,6 +68,22 @@ interface SecureClientEventMap {
|
|
|
66
68
|
ready: SecureClientReadyHandler;
|
|
67
69
|
error: SecureErrorHandler;
|
|
68
70
|
}
|
|
71
|
+
interface SecureServerConnectionMiddlewareContext {
|
|
72
|
+
phase: "connection";
|
|
73
|
+
socket: WebSocket;
|
|
74
|
+
request: IncomingMessage;
|
|
75
|
+
metadata: Map<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
interface SecureServerMessageMiddlewareContext {
|
|
78
|
+
phase: "incoming" | "outgoing";
|
|
79
|
+
client: SecureServerClient;
|
|
80
|
+
event: string;
|
|
81
|
+
data: unknown;
|
|
82
|
+
metadata: Map<string, unknown>;
|
|
83
|
+
}
|
|
84
|
+
type SecureServerMiddlewareContext = SecureServerConnectionMiddlewareContext | SecureServerMessageMiddlewareContext;
|
|
85
|
+
type SecureServerMiddlewareNext = () => Promise<void>;
|
|
86
|
+
type SecureServerMiddleware = (context: SecureServerMiddlewareContext, next: SecureServerMiddlewareNext) => void | Promise<void>;
|
|
69
87
|
declare class SecureServer {
|
|
70
88
|
private readonly socketServer;
|
|
71
89
|
private readonly heartbeatConfig;
|
|
@@ -77,7 +95,9 @@ declare class SecureServer {
|
|
|
77
95
|
private readonly disconnectHandlers;
|
|
78
96
|
private readonly readyHandlers;
|
|
79
97
|
private readonly errorHandlers;
|
|
98
|
+
private readonly middlewareHandlers;
|
|
80
99
|
private readonly handshakeStateBySocket;
|
|
100
|
+
private readonly middlewareMetadataBySocket;
|
|
81
101
|
private readonly sharedSecretBySocket;
|
|
82
102
|
private readonly encryptionKeyBySocket;
|
|
83
103
|
private readonly pendingPayloadsBySocket;
|
|
@@ -98,6 +118,7 @@ declare class SecureServer {
|
|
|
98
118
|
off(event: "ready", handler: SecureServerReadyHandler): this;
|
|
99
119
|
off(event: "error", handler: SecureErrorHandler): this;
|
|
100
120
|
off(event: string, handler: SecureServerEventHandler): this;
|
|
121
|
+
use(middleware: SecureServerMiddleware): this;
|
|
101
122
|
emit(event: string, data: unknown): this;
|
|
102
123
|
emitTo(clientId: string, event: string, data: unknown): boolean;
|
|
103
124
|
emitTo(clientId: string, event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
@@ -115,6 +136,9 @@ declare class SecureServer {
|
|
|
115
136
|
private handleIncomingMessage;
|
|
116
137
|
private handleDisconnection;
|
|
117
138
|
private dispatchCustomEvent;
|
|
139
|
+
private executeServerMiddleware;
|
|
140
|
+
private applyMessageMiddleware;
|
|
141
|
+
private resolveClientBySocket;
|
|
118
142
|
private sendRaw;
|
|
119
143
|
private sendEncryptedEnvelope;
|
|
120
144
|
private sendRpcRequest;
|
|
@@ -199,4 +223,4 @@ declare class SecureClient {
|
|
|
199
223
|
private flushPendingPayloadQueue;
|
|
200
224
|
}
|
|
201
225
|
|
|
202
|
-
export { type SecureAckCallback, type SecureAckOptions, 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 };
|
|
226
|
+
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 SecureServerConnectionMiddlewareContext, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerMessageMiddlewareContext, type SecureServerMiddleware, type SecureServerMiddlewareContext, type SecureServerMiddlewareNext, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ interface SecureEnvelope<TData = unknown> {
|
|
|
5
5
|
event: string;
|
|
6
6
|
data: TData;
|
|
7
7
|
}
|
|
8
|
+
type SecureBinaryPayload = Buffer | Uint8Array | Blob;
|
|
8
9
|
interface SecureAckOptions {
|
|
9
10
|
timeoutMs?: number;
|
|
10
11
|
}
|
|
@@ -35,6 +36,7 @@ interface SecureServerClient {
|
|
|
35
36
|
id: string;
|
|
36
37
|
socket: WebSocket;
|
|
37
38
|
request: IncomingMessage;
|
|
39
|
+
metadata: ReadonlyMap<string, unknown>;
|
|
38
40
|
emit: (event: string, data: unknown, callbackOrOptions?: SecureAckCallback | SecureAckOptions, maybeCallback?: SecureAckCallback) => boolean | Promise<unknown>;
|
|
39
41
|
join: (room: string) => boolean;
|
|
40
42
|
leave: (room: string) => boolean;
|
|
@@ -66,6 +68,22 @@ interface SecureClientEventMap {
|
|
|
66
68
|
ready: SecureClientReadyHandler;
|
|
67
69
|
error: SecureErrorHandler;
|
|
68
70
|
}
|
|
71
|
+
interface SecureServerConnectionMiddlewareContext {
|
|
72
|
+
phase: "connection";
|
|
73
|
+
socket: WebSocket;
|
|
74
|
+
request: IncomingMessage;
|
|
75
|
+
metadata: Map<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
interface SecureServerMessageMiddlewareContext {
|
|
78
|
+
phase: "incoming" | "outgoing";
|
|
79
|
+
client: SecureServerClient;
|
|
80
|
+
event: string;
|
|
81
|
+
data: unknown;
|
|
82
|
+
metadata: Map<string, unknown>;
|
|
83
|
+
}
|
|
84
|
+
type SecureServerMiddlewareContext = SecureServerConnectionMiddlewareContext | SecureServerMessageMiddlewareContext;
|
|
85
|
+
type SecureServerMiddlewareNext = () => Promise<void>;
|
|
86
|
+
type SecureServerMiddleware = (context: SecureServerMiddlewareContext, next: SecureServerMiddlewareNext) => void | Promise<void>;
|
|
69
87
|
declare class SecureServer {
|
|
70
88
|
private readonly socketServer;
|
|
71
89
|
private readonly heartbeatConfig;
|
|
@@ -77,7 +95,9 @@ declare class SecureServer {
|
|
|
77
95
|
private readonly disconnectHandlers;
|
|
78
96
|
private readonly readyHandlers;
|
|
79
97
|
private readonly errorHandlers;
|
|
98
|
+
private readonly middlewareHandlers;
|
|
80
99
|
private readonly handshakeStateBySocket;
|
|
100
|
+
private readonly middlewareMetadataBySocket;
|
|
81
101
|
private readonly sharedSecretBySocket;
|
|
82
102
|
private readonly encryptionKeyBySocket;
|
|
83
103
|
private readonly pendingPayloadsBySocket;
|
|
@@ -98,6 +118,7 @@ declare class SecureServer {
|
|
|
98
118
|
off(event: "ready", handler: SecureServerReadyHandler): this;
|
|
99
119
|
off(event: "error", handler: SecureErrorHandler): this;
|
|
100
120
|
off(event: string, handler: SecureServerEventHandler): this;
|
|
121
|
+
use(middleware: SecureServerMiddleware): this;
|
|
101
122
|
emit(event: string, data: unknown): this;
|
|
102
123
|
emitTo(clientId: string, event: string, data: unknown): boolean;
|
|
103
124
|
emitTo(clientId: string, event: string, data: unknown, callback: SecureAckCallback): boolean;
|
|
@@ -115,6 +136,9 @@ declare class SecureServer {
|
|
|
115
136
|
private handleIncomingMessage;
|
|
116
137
|
private handleDisconnection;
|
|
117
138
|
private dispatchCustomEvent;
|
|
139
|
+
private executeServerMiddleware;
|
|
140
|
+
private applyMessageMiddleware;
|
|
141
|
+
private resolveClientBySocket;
|
|
118
142
|
private sendRaw;
|
|
119
143
|
private sendEncryptedEnvelope;
|
|
120
144
|
private sendRpcRequest;
|
|
@@ -199,4 +223,4 @@ declare class SecureClient {
|
|
|
199
223
|
private flushPendingPayloadQueue;
|
|
200
224
|
}
|
|
201
225
|
|
|
202
|
-
export { type SecureAckCallback, type SecureAckOptions, 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 };
|
|
226
|
+
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 SecureServerConnectionMiddlewareContext, type SecureServerDisconnectHandler, type SecureServerEventHandler, type SecureServerEventMap, type SecureServerHeartbeatOptions, type SecureServerLifecycleEvent, type SecureServerMessageMiddlewareContext, type SecureServerMiddleware, type SecureServerMiddlewareContext, type SecureServerMiddlewareNext, type SecureServerOptions, type SecureServerReadyHandler, type SecureServerRoomOperator };
|