@aerostack/sdk-web 0.7.4 → 0.7.6
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/commonjs/realtime.d.ts +51 -13
- package/dist/commonjs/realtime.d.ts.map +1 -1
- package/dist/commonjs/realtime.js +118 -33
- package/dist/commonjs/realtime.js.map +1 -1
- package/dist/commonjs/sdk.d.ts +1 -0
- package/dist/commonjs/sdk.d.ts.map +1 -1
- package/dist/commonjs/sdk.js +1 -0
- package/dist/commonjs/sdk.js.map +1 -1
- package/dist/esm/realtime.d.ts +51 -13
- package/dist/esm/realtime.d.ts.map +1 -1
- package/dist/esm/realtime.js +118 -33
- package/dist/esm/realtime.js.map +1 -1
- package/dist/esm/sdk.d.ts +1 -0
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +1 -0
- package/dist/esm/sdk.js.map +1 -1
- package/package.json +2 -2
- package/src/realtime.ts +156 -31
- package/src/sdk.ts +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Aerostack Realtime Client for Web/Browser SDK
|
|
3
3
|
*/
|
|
4
|
-
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
|
|
4
|
+
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*' | string;
|
|
5
5
|
export interface RealtimeMessage {
|
|
6
6
|
type: string;
|
|
7
7
|
topic: string;
|
|
@@ -12,42 +12,69 @@ export interface RealtimeSubscriptionOptions {
|
|
|
12
12
|
filter?: Record<string, any>;
|
|
13
13
|
}
|
|
14
14
|
export type RealtimeCallback<T = any> = (payload: RealtimePayload<T>) => void;
|
|
15
|
+
/** Typed payload for realtime events */
|
|
15
16
|
export interface RealtimePayload<T = any> {
|
|
16
|
-
type: 'db_change' | 'chat_message';
|
|
17
|
+
type: 'db_change' | 'chat_message' | 'event';
|
|
17
18
|
topic: string;
|
|
18
|
-
operation
|
|
19
|
+
operation?: RealtimeEvent;
|
|
20
|
+
event?: string;
|
|
19
21
|
data: T;
|
|
20
22
|
old?: T;
|
|
21
|
-
|
|
23
|
+
userId?: string;
|
|
24
|
+
timestamp?: number | string;
|
|
22
25
|
[key: string]: any;
|
|
23
26
|
}
|
|
27
|
+
/** Chat history message returned from REST API */
|
|
28
|
+
export interface HistoryMessage {
|
|
29
|
+
id: string;
|
|
30
|
+
room_id: string;
|
|
31
|
+
user_id: string;
|
|
32
|
+
event: string;
|
|
33
|
+
data: any;
|
|
34
|
+
created_at: number;
|
|
35
|
+
}
|
|
24
36
|
export declare class RealtimeSubscription<T = any> {
|
|
25
37
|
private client;
|
|
26
|
-
|
|
38
|
+
topic: string;
|
|
27
39
|
private options;
|
|
28
40
|
private callbacks;
|
|
29
|
-
private
|
|
41
|
+
private isSubscribed;
|
|
30
42
|
constructor(client: RealtimeClient, topic: string, options?: RealtimeSubscriptionOptions);
|
|
31
|
-
|
|
43
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
44
|
+
on(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
45
|
+
/** Remove a specific callback for an event */
|
|
46
|
+
off(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
32
47
|
subscribe(): this;
|
|
33
48
|
unsubscribe(): void;
|
|
34
|
-
|
|
49
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
50
|
+
publish(event: string, data: any, options?: {
|
|
51
|
+
persist?: boolean;
|
|
52
|
+
}): void;
|
|
53
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
54
|
+
getHistory(limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
55
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
56
|
+
track(state: Record<string, any>): void;
|
|
57
|
+
/** Stop tracking presence on this channel */
|
|
58
|
+
untrack(): void;
|
|
35
59
|
/** @internal */
|
|
36
60
|
_emit(payload: RealtimePayload<T>): void;
|
|
37
61
|
}
|
|
38
62
|
export type RealtimeStatus = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected';
|
|
39
63
|
export interface RealtimeClientOptions {
|
|
40
64
|
baseUrl: string;
|
|
41
|
-
|
|
65
|
+
projectId: string;
|
|
42
66
|
token?: string;
|
|
43
|
-
|
|
67
|
+
userId?: string;
|
|
68
|
+
apiKey?: string;
|
|
69
|
+
/** Max reconnect attempts before giving up (default: Infinity) */
|
|
44
70
|
maxReconnectAttempts?: number;
|
|
45
71
|
}
|
|
46
72
|
export declare class RealtimeClient {
|
|
47
73
|
private baseUrl;
|
|
48
|
-
private
|
|
74
|
+
private projectId;
|
|
49
75
|
private token?;
|
|
50
|
-
private
|
|
76
|
+
private userId?;
|
|
77
|
+
private apiKey?;
|
|
51
78
|
private ws;
|
|
52
79
|
private subscriptions;
|
|
53
80
|
private reconnectTimer;
|
|
@@ -57,23 +84,34 @@ export declare class RealtimeClient {
|
|
|
57
84
|
private _connectingPromise;
|
|
58
85
|
private _status;
|
|
59
86
|
private _statusListeners;
|
|
87
|
+
private _httpBaseUrl;
|
|
60
88
|
private _lastPong;
|
|
61
89
|
private _maxReconnectAttempts;
|
|
62
90
|
private _maxRetriesListeners;
|
|
63
91
|
constructor(options: RealtimeClientOptions);
|
|
64
92
|
get status(): RealtimeStatus;
|
|
65
93
|
get connected(): boolean;
|
|
94
|
+
/** Subscribe to connection status changes. Returns unsubscribe fn. */
|
|
66
95
|
onStatusChange(cb: (status: RealtimeStatus) => void): () => void;
|
|
96
|
+
/** Called when max reconnect attempts exceeded. Returns unsubscribe fn. */
|
|
67
97
|
onMaxRetriesExceeded(cb: () => void): () => void;
|
|
68
98
|
private _setStatus;
|
|
99
|
+
/** Update the auth token on a live connection */
|
|
69
100
|
setToken(newToken: string): void;
|
|
70
101
|
connect(): Promise<void>;
|
|
71
102
|
private _doConnect;
|
|
72
103
|
disconnect(): void;
|
|
73
104
|
channel<T = any>(topic: string, options?: RealtimeSubscriptionOptions): RealtimeSubscription<T>;
|
|
74
|
-
|
|
105
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
106
|
+
sendChat(roomId: string, text: string, metadata?: Record<string, any>): void;
|
|
107
|
+
/** Legacy: get a chat room subscription */
|
|
108
|
+
chatRoom(roomId: string): RealtimeSubscription;
|
|
109
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
110
|
+
_generateId(): string;
|
|
75
111
|
/** @internal */
|
|
76
112
|
_send(data: any): void;
|
|
113
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
114
|
+
_fetchHistory(room: string, limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
77
115
|
private handleMessage;
|
|
78
116
|
private startHeartbeat;
|
|
79
117
|
private stopHeartbeat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ exports.RealtimeClient = exports.RealtimeSubscription = void 0;
|
|
|
4
4
|
class RealtimeSubscription {
|
|
5
5
|
constructor(client, topic, options = {}) {
|
|
6
6
|
this.callbacks = new Map();
|
|
7
|
-
this.
|
|
7
|
+
this.isSubscribed = false;
|
|
8
8
|
this.client = client;
|
|
9
9
|
this.topic = topic;
|
|
10
10
|
this.options = options;
|
|
11
11
|
}
|
|
12
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
12
13
|
on(event, callback) {
|
|
13
14
|
if (!this.callbacks.has(event)) {
|
|
14
15
|
this.callbacks.set(event, new Set());
|
|
@@ -16,48 +17,79 @@ class RealtimeSubscription {
|
|
|
16
17
|
this.callbacks.get(event).add(callback);
|
|
17
18
|
return this;
|
|
18
19
|
}
|
|
20
|
+
/** Remove a specific callback for an event */
|
|
21
|
+
off(event, callback) {
|
|
22
|
+
this.callbacks.get(event)?.delete(callback);
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
19
25
|
subscribe() {
|
|
20
|
-
if (this.
|
|
26
|
+
if (this.isSubscribed)
|
|
21
27
|
return this;
|
|
22
28
|
this.client._send({
|
|
23
29
|
type: 'subscribe',
|
|
24
30
|
topic: this.topic,
|
|
25
31
|
filter: this.options.filter
|
|
26
32
|
});
|
|
27
|
-
this.
|
|
33
|
+
this.isSubscribed = true;
|
|
28
34
|
return this;
|
|
29
35
|
}
|
|
30
36
|
unsubscribe() {
|
|
31
|
-
if (!this.
|
|
37
|
+
if (!this.isSubscribed)
|
|
32
38
|
return;
|
|
33
39
|
this.client._send({
|
|
34
40
|
type: 'unsubscribe',
|
|
35
41
|
topic: this.topic
|
|
36
42
|
});
|
|
37
|
-
this.
|
|
43
|
+
this.isSubscribed = false;
|
|
38
44
|
this.callbacks.clear();
|
|
39
45
|
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
46
|
+
// ─── Phase 1: Pub/Sub — Publish custom events ─────────────────────────
|
|
47
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
48
|
+
publish(event, data, options) {
|
|
49
|
+
this.client._send({
|
|
50
|
+
type: 'publish',
|
|
51
|
+
topic: this.topic,
|
|
52
|
+
event,
|
|
53
|
+
data,
|
|
54
|
+
persist: options?.persist,
|
|
55
|
+
id: this.client._generateId(),
|
|
51
56
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
}
|
|
58
|
+
// ─── Phase 2: Chat History ────────────────────────────────────────────
|
|
59
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
60
|
+
async getHistory(limit = 50, before) {
|
|
61
|
+
return this.client._fetchHistory(this.topic, limit, before);
|
|
62
|
+
}
|
|
63
|
+
// ─── Phase 3: Presence ────────────────────────────────────────────────
|
|
64
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
65
|
+
track(state) {
|
|
66
|
+
this.client._send({
|
|
67
|
+
type: 'track',
|
|
68
|
+
topic: this.topic,
|
|
69
|
+
state,
|
|
59
70
|
});
|
|
60
71
|
}
|
|
72
|
+
/** Stop tracking presence on this channel */
|
|
73
|
+
untrack() {
|
|
74
|
+
this.client._send({
|
|
75
|
+
type: 'untrack',
|
|
76
|
+
topic: this.topic,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/** @internal */
|
|
80
|
+
_emit(payload) {
|
|
81
|
+
// DB change events (INSERT/UPDATE/DELETE)
|
|
82
|
+
if (payload.operation) {
|
|
83
|
+
const event = payload.operation;
|
|
84
|
+
this.callbacks.get(event)?.forEach(cb => cb(payload));
|
|
85
|
+
}
|
|
86
|
+
// Custom named events ('player-moved', 'presence:join', etc.)
|
|
87
|
+
if (payload.event) {
|
|
88
|
+
this.callbacks.get(payload.event)?.forEach(cb => cb(payload));
|
|
89
|
+
}
|
|
90
|
+
// Catch-all
|
|
91
|
+
this.callbacks.get('*')?.forEach(cb => cb(payload));
|
|
92
|
+
}
|
|
61
93
|
}
|
|
62
94
|
exports.RealtimeSubscription = RealtimeSubscription;
|
|
63
95
|
class RealtimeClient {
|
|
@@ -71,8 +103,10 @@ class RealtimeClient {
|
|
|
71
103
|
this._connectingPromise = null;
|
|
72
104
|
this._status = 'idle';
|
|
73
105
|
this._statusListeners = new Set();
|
|
106
|
+
// Pong tracking
|
|
74
107
|
this._lastPong = 0;
|
|
75
108
|
this._maxRetriesListeners = new Set();
|
|
109
|
+
// Offline/online detection (browser only)
|
|
76
110
|
this._handleOnline = () => {
|
|
77
111
|
if (this._status !== 'connected') {
|
|
78
112
|
this.reconnectAttempts = 0;
|
|
@@ -85,17 +119,21 @@ class RealtimeClient {
|
|
|
85
119
|
};
|
|
86
120
|
const wsBase = options.baseUrl.replace(/\/v1\/?$/, '').replace(/^http/, 'ws');
|
|
87
121
|
this.baseUrl = `${wsBase}/api/realtime`;
|
|
122
|
+
this._httpBaseUrl = options.baseUrl.replace(/\/v1\/?$/, '');
|
|
123
|
+
this.projectId = options.projectId;
|
|
88
124
|
this.token = options.token;
|
|
125
|
+
this.userId = options.userId;
|
|
89
126
|
this.apiKey = options.apiKey;
|
|
90
|
-
this.projectId = options.projectId; // Initialize projectId
|
|
91
127
|
this._maxReconnectAttempts = options.maxReconnectAttempts ?? Infinity;
|
|
92
128
|
}
|
|
93
129
|
get status() { return this._status; }
|
|
94
130
|
get connected() { return this._status === 'connected'; }
|
|
131
|
+
/** Subscribe to connection status changes. Returns unsubscribe fn. */
|
|
95
132
|
onStatusChange(cb) {
|
|
96
133
|
this._statusListeners.add(cb);
|
|
97
134
|
return () => this._statusListeners.delete(cb);
|
|
98
135
|
}
|
|
136
|
+
/** Called when max reconnect attempts exceeded. Returns unsubscribe fn. */
|
|
99
137
|
onMaxRetriesExceeded(cb) {
|
|
100
138
|
this._maxRetriesListeners.add(cb);
|
|
101
139
|
return () => this._maxRetriesListeners.delete(cb);
|
|
@@ -104,6 +142,7 @@ class RealtimeClient {
|
|
|
104
142
|
this._status = s;
|
|
105
143
|
this._statusListeners.forEach(cb => cb(s));
|
|
106
144
|
}
|
|
145
|
+
/** Update the auth token on a live connection */
|
|
107
146
|
setToken(newToken) {
|
|
108
147
|
this.token = newToken;
|
|
109
148
|
this._send({ type: 'auth', token: newToken });
|
|
@@ -122,10 +161,11 @@ class RealtimeClient {
|
|
|
122
161
|
this._setStatus('connecting');
|
|
123
162
|
return new Promise((resolve, reject) => {
|
|
124
163
|
const url = new URL(this.baseUrl);
|
|
164
|
+
url.searchParams.set('projectId', this.projectId);
|
|
165
|
+
if (this.userId)
|
|
166
|
+
url.searchParams.set('userId', this.userId);
|
|
125
167
|
if (this.token)
|
|
126
168
|
url.searchParams.set('token', this.token);
|
|
127
|
-
if (this.projectId)
|
|
128
|
-
url.searchParams.set('projectId', this.projectId);
|
|
129
169
|
// SECURITY: Pass API key via Sec-WebSocket-Protocol header only — never as URL query param
|
|
130
170
|
// (URL params appear in CDN logs, browser history, and Referer headers).
|
|
131
171
|
const protocols = [];
|
|
@@ -141,12 +181,12 @@ class RealtimeClient {
|
|
|
141
181
|
this._lastPong = Date.now();
|
|
142
182
|
this.startHeartbeat();
|
|
143
183
|
this._setupOfflineDetection();
|
|
184
|
+
// Flush queued messages
|
|
144
185
|
while (this._sendQueue.length > 0) {
|
|
145
186
|
this.ws.send(JSON.stringify(this._sendQueue.shift()));
|
|
146
187
|
}
|
|
147
188
|
for (const sub of this.subscriptions.values()) {
|
|
148
|
-
|
|
149
|
-
sub.subscribe();
|
|
189
|
+
sub.subscribe();
|
|
150
190
|
}
|
|
151
191
|
resolve();
|
|
152
192
|
};
|
|
@@ -201,8 +241,17 @@ class RealtimeClient {
|
|
|
201
241
|
}
|
|
202
242
|
return sub;
|
|
203
243
|
}
|
|
204
|
-
|
|
205
|
-
|
|
244
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
245
|
+
sendChat(roomId, text, metadata) {
|
|
246
|
+
this._send({ type: 'chat', roomId, text, metadata });
|
|
247
|
+
}
|
|
248
|
+
/** Legacy: get a chat room subscription */
|
|
249
|
+
chatRoom(roomId) {
|
|
250
|
+
return this.channel(`chat/${roomId}/${this.projectId}`);
|
|
251
|
+
}
|
|
252
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
253
|
+
_generateId() {
|
|
254
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
206
255
|
}
|
|
207
256
|
/** @internal */
|
|
208
257
|
_send(data) {
|
|
@@ -213,14 +262,50 @@ class RealtimeClient {
|
|
|
213
262
|
this._sendQueue.push(data);
|
|
214
263
|
}
|
|
215
264
|
}
|
|
265
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
266
|
+
async _fetchHistory(room, limit = 50, before) {
|
|
267
|
+
const url = new URL(`${this._httpBaseUrl}/api/v1/public/realtime/history`);
|
|
268
|
+
url.searchParams.set('room', room);
|
|
269
|
+
url.searchParams.set('limit', String(limit));
|
|
270
|
+
if (before)
|
|
271
|
+
url.searchParams.set('before', String(before));
|
|
272
|
+
const headers = {};
|
|
273
|
+
if (this.apiKey)
|
|
274
|
+
headers['X-Aerostack-Key'] = this.apiKey;
|
|
275
|
+
if (this.token)
|
|
276
|
+
headers['Authorization'] = `Bearer ${this.token}`;
|
|
277
|
+
const res = await fetch(url.toString(), { headers });
|
|
278
|
+
const json = await res.json();
|
|
279
|
+
return json.messages || [];
|
|
280
|
+
}
|
|
216
281
|
handleMessage(data) {
|
|
282
|
+
// Track pong for liveness
|
|
217
283
|
if (data.type === 'pong') {
|
|
218
284
|
this._lastPong = Date.now();
|
|
219
285
|
return;
|
|
220
286
|
}
|
|
221
|
-
|
|
222
|
-
if (
|
|
223
|
-
|
|
287
|
+
// Ack (fire-and-forget acknowledgment from server)
|
|
288
|
+
if (data.type === 'ack') {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
// Route to subscription: db_change, chat_message, event, presence:*
|
|
292
|
+
if (data.type === 'db_change' || data.type === 'chat_message' || data.type === 'event') {
|
|
293
|
+
const sub = this.subscriptions.get(data.topic);
|
|
294
|
+
if (sub) {
|
|
295
|
+
sub._emit(data);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Re-key subscription on server-confirmed topic (for non-TS SDKs compatibility)
|
|
299
|
+
if (data.type === 'subscribed' && data.topic) {
|
|
300
|
+
for (const [origTopic, sub] of this.subscriptions.entries()) {
|
|
301
|
+
if (data.topic !== origTopic && data.topic.startsWith(origTopic)) {
|
|
302
|
+
this.subscriptions.delete(origTopic);
|
|
303
|
+
sub.topic = data.topic;
|
|
304
|
+
this.subscriptions.set(data.topic, sub);
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
224
309
|
}
|
|
225
310
|
startHeartbeat() {
|
|
226
311
|
this.heartbeatTimer = setInterval(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/sdk.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,cAAM,cAAc;IACJ,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,GAAG,CAAC,WAAW;IAExC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE;QAClB,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;QACpC,WAAW,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;QACjC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;KACtB;CAOJ;AAED;;;GAGG;AACH,qBAAa,GAAG;IACZ,SAAgB,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC5C,SAAgB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;IAC9B,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IACxC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAEzC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,OAAO,GAAE,UAAe;IAuBpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAWlC;AAED,kCAAkC;AAClC,eAAO,MAAM,SAAS,YAAM,CAAC;AAG7B,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,QAAqB,CAAC"}
|
package/dist/commonjs/sdk.js
CHANGED
package/dist/commonjs/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAC7C,+CAA+C;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA6C;AAC7C,+CAA+C;AAiB/C;;GAEG;AACH,MAAM,cAAc;IAChB,YAAoB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAI,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAKb;QACG,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,WAAY;YAC5D,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC,CAAC;IACP,CAAC;CACJ;AAED;;;GAGG;AACH,MAAa,GAAG;IASZ,YAAY,UAAsB,EAAE;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,4BAA4B,CAAC;QACzF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;QAEpD,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC;YAChC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YACpD,MAAM,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAAc,CAAC;YAC/B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACrD,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC;YAChC,GAAG,IAAI,CAAC,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE;YAC9D,MAAM;SACT,CAAC,CAAC;QACF,IAAY,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAY,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAY,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,IAAY,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;CACJ;AA9CD,kBA8CC;AAED,kCAAkC;AACrB,QAAA,SAAS,GAAG,GAAG,CAAC;AAE7B,sDAAsD;AAC/C,MAAM,YAAY,GAAG,CAAC,OAAmB,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAAzD,QAAA,YAAY,gBAA6C"}
|
package/dist/esm/realtime.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Aerostack Realtime Client for Web/Browser SDK
|
|
3
3
|
*/
|
|
4
|
-
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
|
|
4
|
+
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*' | string;
|
|
5
5
|
export interface RealtimeMessage {
|
|
6
6
|
type: string;
|
|
7
7
|
topic: string;
|
|
@@ -12,42 +12,69 @@ export interface RealtimeSubscriptionOptions {
|
|
|
12
12
|
filter?: Record<string, any>;
|
|
13
13
|
}
|
|
14
14
|
export type RealtimeCallback<T = any> = (payload: RealtimePayload<T>) => void;
|
|
15
|
+
/** Typed payload for realtime events */
|
|
15
16
|
export interface RealtimePayload<T = any> {
|
|
16
|
-
type: 'db_change' | 'chat_message';
|
|
17
|
+
type: 'db_change' | 'chat_message' | 'event';
|
|
17
18
|
topic: string;
|
|
18
|
-
operation
|
|
19
|
+
operation?: RealtimeEvent;
|
|
20
|
+
event?: string;
|
|
19
21
|
data: T;
|
|
20
22
|
old?: T;
|
|
21
|
-
|
|
23
|
+
userId?: string;
|
|
24
|
+
timestamp?: number | string;
|
|
22
25
|
[key: string]: any;
|
|
23
26
|
}
|
|
27
|
+
/** Chat history message returned from REST API */
|
|
28
|
+
export interface HistoryMessage {
|
|
29
|
+
id: string;
|
|
30
|
+
room_id: string;
|
|
31
|
+
user_id: string;
|
|
32
|
+
event: string;
|
|
33
|
+
data: any;
|
|
34
|
+
created_at: number;
|
|
35
|
+
}
|
|
24
36
|
export declare class RealtimeSubscription<T = any> {
|
|
25
37
|
private client;
|
|
26
|
-
|
|
38
|
+
topic: string;
|
|
27
39
|
private options;
|
|
28
40
|
private callbacks;
|
|
29
|
-
private
|
|
41
|
+
private isSubscribed;
|
|
30
42
|
constructor(client: RealtimeClient, topic: string, options?: RealtimeSubscriptionOptions);
|
|
31
|
-
|
|
43
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
44
|
+
on(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
45
|
+
/** Remove a specific callback for an event */
|
|
46
|
+
off(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
32
47
|
subscribe(): this;
|
|
33
48
|
unsubscribe(): void;
|
|
34
|
-
|
|
49
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
50
|
+
publish(event: string, data: any, options?: {
|
|
51
|
+
persist?: boolean;
|
|
52
|
+
}): void;
|
|
53
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
54
|
+
getHistory(limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
55
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
56
|
+
track(state: Record<string, any>): void;
|
|
57
|
+
/** Stop tracking presence on this channel */
|
|
58
|
+
untrack(): void;
|
|
35
59
|
/** @internal */
|
|
36
60
|
_emit(payload: RealtimePayload<T>): void;
|
|
37
61
|
}
|
|
38
62
|
export type RealtimeStatus = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected';
|
|
39
63
|
export interface RealtimeClientOptions {
|
|
40
64
|
baseUrl: string;
|
|
41
|
-
|
|
65
|
+
projectId: string;
|
|
42
66
|
token?: string;
|
|
43
|
-
|
|
67
|
+
userId?: string;
|
|
68
|
+
apiKey?: string;
|
|
69
|
+
/** Max reconnect attempts before giving up (default: Infinity) */
|
|
44
70
|
maxReconnectAttempts?: number;
|
|
45
71
|
}
|
|
46
72
|
export declare class RealtimeClient {
|
|
47
73
|
private baseUrl;
|
|
48
|
-
private
|
|
74
|
+
private projectId;
|
|
49
75
|
private token?;
|
|
50
|
-
private
|
|
76
|
+
private userId?;
|
|
77
|
+
private apiKey?;
|
|
51
78
|
private ws;
|
|
52
79
|
private subscriptions;
|
|
53
80
|
private reconnectTimer;
|
|
@@ -57,23 +84,34 @@ export declare class RealtimeClient {
|
|
|
57
84
|
private _connectingPromise;
|
|
58
85
|
private _status;
|
|
59
86
|
private _statusListeners;
|
|
87
|
+
private _httpBaseUrl;
|
|
60
88
|
private _lastPong;
|
|
61
89
|
private _maxReconnectAttempts;
|
|
62
90
|
private _maxRetriesListeners;
|
|
63
91
|
constructor(options: RealtimeClientOptions);
|
|
64
92
|
get status(): RealtimeStatus;
|
|
65
93
|
get connected(): boolean;
|
|
94
|
+
/** Subscribe to connection status changes. Returns unsubscribe fn. */
|
|
66
95
|
onStatusChange(cb: (status: RealtimeStatus) => void): () => void;
|
|
96
|
+
/** Called when max reconnect attempts exceeded. Returns unsubscribe fn. */
|
|
67
97
|
onMaxRetriesExceeded(cb: () => void): () => void;
|
|
68
98
|
private _setStatus;
|
|
99
|
+
/** Update the auth token on a live connection */
|
|
69
100
|
setToken(newToken: string): void;
|
|
70
101
|
connect(): Promise<void>;
|
|
71
102
|
private _doConnect;
|
|
72
103
|
disconnect(): void;
|
|
73
104
|
channel<T = any>(topic: string, options?: RealtimeSubscriptionOptions): RealtimeSubscription<T>;
|
|
74
|
-
|
|
105
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
106
|
+
sendChat(roomId: string, text: string, metadata?: Record<string, any>): void;
|
|
107
|
+
/** Legacy: get a chat room subscription */
|
|
108
|
+
chatRoom(roomId: string): RealtimeSubscription;
|
|
109
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
110
|
+
_generateId(): string;
|
|
75
111
|
/** @internal */
|
|
76
112
|
_send(data: any): void;
|
|
113
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
114
|
+
_fetchHistory(room: string, limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
77
115
|
private handleMessage;
|
|
78
116
|
private startHeartbeat;
|
|
79
117
|
private stopHeartbeat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IACxC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9E,wCAAwC;AACxC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,oBAAoB,CAAC,CAAC,GAAG,GAAG;IACrC,OAAO,CAAC,MAAM,CAAiB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAoD;IACrE,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC;IAM5F,kFAAkF;IAClF,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAQtE,8CAA8C;IAC9C,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAKvE,SAAS,IAAI,IAAI;IAWjB,WAAW,IAAI,IAAI;IAWnB,gEAAgE;IAChE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAYxE,2FAA2F;IACrF,UAAU,CAAC,KAAK,GAAE,MAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKhF,oFAAoF;IACpF,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAQvC,6CAA6C;IAC7C,OAAO,IAAI,IAAI;IAOf,gBAAgB;IAChB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;CAa3C;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;AAEnG,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,gBAAgB,CAA+C;IAEvE,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,SAAS,CAAa;IAE9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,OAAO,EAAE,qBAAqB;IAW1C,IAAI,MAAM,IAAI,cAAc,CAAyB;IACrD,IAAI,SAAS,IAAI,OAAO,CAAyC;IAEjE,sEAAsE;IACtE,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;IAKhE,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKhD,OAAO,CAAC,UAAU;IAKlB,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,OAAO,CAAC,UAAU;IA2DlB,UAAU;IAYV,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAiBnG,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI5E,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAI9C,8DAA8D;IAC9D,WAAW,IAAI,MAAM;IAIrB,gBAAgB;IAChB,KAAK,CAAC,IAAI,EAAE,GAAG;IAQf,wDAAwD;IAClD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAejG,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,yBAAyB;CAMpC"}
|