@gravito/ripple 3.0.0 → 3.1.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 +179 -6
- package/README.zh-TW.md +104 -2
- package/dist/core/src/Application.d.ts +215 -0
- package/dist/core/src/ConfigManager.d.ts +26 -0
- package/dist/core/src/Container.d.ts +78 -0
- package/dist/core/src/ErrorHandler.d.ts +63 -0
- package/dist/core/src/Event.d.ts +5 -0
- package/dist/core/src/EventManager.d.ts +123 -0
- package/dist/core/src/GlobalErrorHandlers.d.ts +47 -0
- package/dist/core/src/GravitoServer.d.ts +28 -0
- package/dist/core/src/HookManager.d.ts +84 -0
- package/dist/core/src/Listener.d.ts +4 -0
- package/dist/core/src/Logger.d.ts +20 -0
- package/dist/core/src/PlanetCore.d.ts +289 -0
- package/dist/core/src/Route.d.ts +36 -0
- package/dist/core/src/Router.d.ts +288 -0
- package/dist/core/src/ServiceProvider.d.ts +156 -0
- package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +26 -0
- package/dist/core/src/adapters/PhotonAdapter.d.ts +170 -0
- package/dist/core/src/adapters/bun/BunContext.d.ts +45 -0
- package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +30 -0
- package/dist/core/src/adapters/bun/BunRequest.d.ts +31 -0
- package/dist/core/src/adapters/bun/RadixNode.d.ts +19 -0
- package/dist/core/src/adapters/bun/RadixRouter.d.ts +31 -0
- package/dist/core/src/adapters/bun/types.d.ts +20 -0
- package/dist/core/src/adapters/photon-types.d.ts +73 -0
- package/dist/core/src/adapters/types.d.ts +208 -0
- package/dist/core/src/engine/AOTRouter.d.ts +134 -0
- package/dist/core/src/engine/FastContext.d.ts +98 -0
- package/dist/core/src/engine/Gravito.d.ts +137 -0
- package/dist/core/src/engine/MinimalContext.d.ts +77 -0
- package/dist/core/src/engine/analyzer.d.ts +27 -0
- package/dist/core/src/engine/constants.d.ts +23 -0
- package/dist/core/src/engine/index.d.ts +26 -0
- package/dist/core/src/engine/path.d.ts +26 -0
- package/dist/core/src/engine/pool.d.ts +83 -0
- package/dist/core/src/engine/types.d.ts +138 -0
- package/dist/core/src/exceptions/AuthenticationException.d.ts +8 -0
- package/dist/core/src/exceptions/AuthorizationException.d.ts +8 -0
- package/dist/core/src/exceptions/GravitoException.d.ts +23 -0
- package/dist/core/src/exceptions/HttpException.d.ts +9 -0
- package/dist/core/src/exceptions/ModelNotFoundException.d.ts +10 -0
- package/dist/core/src/exceptions/ValidationException.d.ts +22 -0
- package/dist/core/src/exceptions/index.d.ts +6 -0
- package/dist/core/src/helpers/Arr.d.ts +19 -0
- package/dist/core/src/helpers/Str.d.ts +23 -0
- package/dist/core/src/helpers/data.d.ts +25 -0
- package/dist/core/src/helpers/errors.d.ts +34 -0
- package/dist/core/src/helpers/response.d.ts +41 -0
- package/dist/core/src/helpers.d.ts +338 -0
- package/dist/core/src/http/CookieJar.d.ts +51 -0
- package/dist/core/src/http/cookie.d.ts +29 -0
- package/dist/core/src/http/middleware/BodySizeLimit.d.ts +16 -0
- package/dist/core/src/http/middleware/Cors.d.ts +24 -0
- package/dist/core/src/http/middleware/Csrf.d.ts +23 -0
- package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +28 -0
- package/dist/core/src/http/middleware/SecurityHeaders.d.ts +29 -0
- package/dist/core/src/http/middleware/ThrottleRequests.d.ts +18 -0
- package/dist/core/src/http/types.d.ts +334 -0
- package/dist/core/src/index.d.ts +67 -0
- package/dist/core/src/runtime.d.ts +119 -0
- package/dist/core/src/security/Encrypter.d.ts +33 -0
- package/dist/core/src/security/Hasher.d.ts +29 -0
- package/dist/core/src/testing/HttpTester.d.ts +39 -0
- package/dist/core/src/testing/TestResponse.d.ts +78 -0
- package/dist/core/src/testing/index.d.ts +2 -0
- package/dist/core/src/types/events.d.ts +94 -0
- package/dist/index.js +10206 -37
- package/dist/index.js.map +69 -10
- package/dist/photon/src/index.d.ts +70 -0
- package/dist/photon/src/middleware/binary.d.ts +31 -0
- package/dist/photon/src/middleware/htmx.d.ts +39 -0
- package/dist/ripple/src/OrbitRipple.d.ts +64 -0
- package/dist/ripple/src/RippleServer.d.ts +518 -0
- package/dist/{channels → ripple/src/channels}/Channel.d.ts +6 -1
- package/dist/ripple/src/channels/ChannelManager.d.ts +173 -0
- package/dist/{channels → ripple/src/channels}/index.d.ts +0 -1
- package/dist/ripple/src/drivers/LocalDriver.d.ts +61 -0
- package/dist/ripple/src/drivers/RedisDriver.d.ts +141 -0
- package/dist/ripple/src/drivers/index.d.ts +2 -0
- package/dist/ripple/src/errors/RippleError.d.ts +48 -0
- package/dist/ripple/src/errors/index.d.ts +1 -0
- package/dist/ripple/src/events/BroadcastEvent.d.ts +123 -0
- package/dist/ripple/src/events/BroadcastManager.d.ts +100 -0
- package/dist/ripple/src/events/Broadcaster.d.ts +264 -0
- package/dist/{events → ripple/src/events}/index.d.ts +1 -1
- package/dist/ripple/src/health/HealthChecker.d.ts +93 -0
- package/dist/ripple/src/health/index.d.ts +1 -0
- package/dist/ripple/src/index.d.ts +60 -0
- package/dist/ripple/src/logging/Logger.d.ts +99 -0
- package/dist/ripple/src/logging/index.d.ts +1 -0
- package/dist/ripple/src/tracking/ConnectionTracker.d.ts +116 -0
- package/dist/ripple/src/tracking/index.d.ts +1 -0
- package/dist/ripple/src/types.d.ts +753 -0
- package/dist/ripple/src/utils/MessageSerializer.d.ts +44 -0
- package/dist/ripple/src/utils/index.d.ts +1 -0
- package/package.json +14 -5
- package/dist/OrbitRipple.d.ts +0 -80
- package/dist/OrbitRipple.d.ts.map +0 -1
- package/dist/RippleServer.d.ts +0 -126
- package/dist/RippleServer.d.ts.map +0 -1
- package/dist/channels/Channel.d.ts.map +0 -1
- package/dist/channels/ChannelManager.d.ts +0 -79
- package/dist/channels/ChannelManager.d.ts.map +0 -1
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/drivers/LocalDriver.d.ts +0 -30
- package/dist/drivers/LocalDriver.d.ts.map +0 -1
- package/dist/drivers/index.d.ts +0 -2
- package/dist/drivers/index.d.ts.map +0 -1
- package/dist/events/BroadcastEvent.d.ts +0 -52
- package/dist/events/BroadcastEvent.d.ts.map +0 -1
- package/dist/events/Broadcaster.d.ts +0 -68
- package/dist/events/Broadcaster.d.ts.map +0 -1
- package/dist/events/index.d.ts.map +0 -1
- package/dist/index.d.ts +0 -38
- package/dist/index.d.ts.map +0 -1
- package/dist/types.d.ts +0 -163
- package/dist/types.d.ts.map +0 -1
package/dist/types.d.ts
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Core types for @gravito/ripple WebSocket module
|
|
3
|
-
* @module @gravito/ripple
|
|
4
|
-
*/
|
|
5
|
-
import type { Server, ServerWebSocket } from 'bun';
|
|
6
|
-
/**
|
|
7
|
-
* Data attached to each WebSocket connection
|
|
8
|
-
*/
|
|
9
|
-
export interface ClientData {
|
|
10
|
-
/** Unique client identifier */
|
|
11
|
-
id: string;
|
|
12
|
-
/** User ID if authenticated */
|
|
13
|
-
userId?: string | number;
|
|
14
|
-
/** Channels this client has joined */
|
|
15
|
-
channels: Set<string>;
|
|
16
|
-
/** Additional user info for presence channels */
|
|
17
|
-
userInfo?: Record<string, unknown>;
|
|
18
|
-
}
|
|
19
|
-
export type ChannelType = 'public' | 'private' | 'presence';
|
|
20
|
-
/**
|
|
21
|
-
* Base channel interface
|
|
22
|
-
*/
|
|
23
|
-
export interface Channel {
|
|
24
|
-
/** Channel name (without prefix) */
|
|
25
|
-
readonly name: string;
|
|
26
|
-
/** Channel type */
|
|
27
|
-
readonly type: ChannelType;
|
|
28
|
-
/** Full channel name with prefix */
|
|
29
|
-
readonly fullName: string;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Channel authorization callback
|
|
33
|
-
*/
|
|
34
|
-
export type ChannelAuthorizer = (channelName: string, userId: string | number | undefined, socketId: string) => boolean | Promise<boolean> | PresenceUserInfo | Promise<PresenceUserInfo | false>;
|
|
35
|
-
/**
|
|
36
|
-
* User info returned for presence channels
|
|
37
|
-
*/
|
|
38
|
-
export interface PresenceUserInfo {
|
|
39
|
-
id: string | number;
|
|
40
|
-
info: Record<string, unknown>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Broadcast event interface
|
|
44
|
-
*/
|
|
45
|
-
export interface BroadcastEventInterface {
|
|
46
|
-
/** Channels to broadcast to */
|
|
47
|
-
broadcastOn(): Channel | Channel[];
|
|
48
|
-
/** Event name (defaults to class name) */
|
|
49
|
-
broadcastAs?(): string;
|
|
50
|
-
/** Exclude specific socket IDs */
|
|
51
|
-
broadcastExcept?(): string[];
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Client-to-server message types
|
|
55
|
-
*/
|
|
56
|
-
export type ClientMessage = {
|
|
57
|
-
type: 'subscribe';
|
|
58
|
-
channel: string;
|
|
59
|
-
auth?: {
|
|
60
|
-
socketId: string;
|
|
61
|
-
signature: string;
|
|
62
|
-
};
|
|
63
|
-
} | {
|
|
64
|
-
type: 'unsubscribe';
|
|
65
|
-
channel: string;
|
|
66
|
-
} | {
|
|
67
|
-
type: 'whisper';
|
|
68
|
-
channel: string;
|
|
69
|
-
event: string;
|
|
70
|
-
data: unknown;
|
|
71
|
-
} | {
|
|
72
|
-
type: 'ping';
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Server-to-client message types
|
|
76
|
-
*/
|
|
77
|
-
export type ServerMessage = {
|
|
78
|
-
type: 'subscribed';
|
|
79
|
-
channel: string;
|
|
80
|
-
} | {
|
|
81
|
-
type: 'unsubscribed';
|
|
82
|
-
channel: string;
|
|
83
|
-
} | {
|
|
84
|
-
type: 'error';
|
|
85
|
-
message: string;
|
|
86
|
-
channel?: string;
|
|
87
|
-
} | {
|
|
88
|
-
type: 'event';
|
|
89
|
-
channel: string;
|
|
90
|
-
event: string;
|
|
91
|
-
data: unknown;
|
|
92
|
-
} | {
|
|
93
|
-
type: 'presence';
|
|
94
|
-
channel: string;
|
|
95
|
-
event: 'join' | 'leave' | 'members';
|
|
96
|
-
data: unknown;
|
|
97
|
-
} | {
|
|
98
|
-
type: 'pong';
|
|
99
|
-
} | {
|
|
100
|
-
type: 'connected';
|
|
101
|
-
socketId: string;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Driver interface for pub/sub backends
|
|
105
|
-
*/
|
|
106
|
-
export interface RippleDriver {
|
|
107
|
-
/** Driver name */
|
|
108
|
-
readonly name: string;
|
|
109
|
-
/**
|
|
110
|
-
* Publish a message to a channel
|
|
111
|
-
*/
|
|
112
|
-
publish(channel: string, event: string, data: unknown): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Subscribe to channel messages (for Redis driver)
|
|
115
|
-
*/
|
|
116
|
-
subscribe?(channel: string, callback: (event: string, data: unknown) => void): Promise<void>;
|
|
117
|
-
/**
|
|
118
|
-
* Unsubscribe from a channel
|
|
119
|
-
*/
|
|
120
|
-
unsubscribe?(channel: string): Promise<void>;
|
|
121
|
-
/**
|
|
122
|
-
* Initialize the driver
|
|
123
|
-
*/
|
|
124
|
-
init?(): Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Shutdown the driver
|
|
127
|
-
*/
|
|
128
|
-
shutdown?(): Promise<void>;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Ripple server configuration
|
|
132
|
-
*/
|
|
133
|
-
export interface RippleConfig {
|
|
134
|
-
/** WebSocket endpoint path (default: '/ws') */
|
|
135
|
-
path?: string;
|
|
136
|
-
/** Authentication endpoint for private/presence channels */
|
|
137
|
-
authEndpoint?: string;
|
|
138
|
-
/** Driver to use ('local' | 'redis') */
|
|
139
|
-
driver?: 'local' | 'redis';
|
|
140
|
-
/** Redis configuration (if using redis driver) */
|
|
141
|
-
redis?: {
|
|
142
|
-
host?: string;
|
|
143
|
-
port?: number;
|
|
144
|
-
password?: string;
|
|
145
|
-
db?: number;
|
|
146
|
-
};
|
|
147
|
-
/** Channel authorizer function */
|
|
148
|
-
authorizer?: ChannelAuthorizer;
|
|
149
|
-
/** Ping interval in milliseconds (default: 30000) */
|
|
150
|
-
pingInterval?: number;
|
|
151
|
-
}
|
|
152
|
-
export type RippleWebSocket = ServerWebSocket<ClientData>;
|
|
153
|
-
export type RippleBunServer = Server<ClientData>;
|
|
154
|
-
/**
|
|
155
|
-
* WebSocket handler configuration for Bun.serve
|
|
156
|
-
*/
|
|
157
|
-
export interface WebSocketHandlerConfig {
|
|
158
|
-
open: (ws: RippleWebSocket) => void | Promise<void>;
|
|
159
|
-
message: (ws: RippleWebSocket, message: string | Buffer) => void | Promise<void>;
|
|
160
|
-
close: (ws: RippleWebSocket, code: number, reason: string) => void | Promise<void>;
|
|
161
|
-
drain?: (ws: RippleWebSocket) => void;
|
|
162
|
-
}
|
|
163
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|