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