@aerostack/sdk-node 0.7.5 → 0.7.7
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 +38 -7
- package/dist/commonjs/realtime.d.ts.map +1 -1
- package/dist/commonjs/realtime.js +95 -14
- package/dist/commonjs/realtime.js.map +1 -1
- package/dist/commonjs/sdk.d.ts +15 -0
- package/dist/commonjs/sdk.d.ts.map +1 -1
- package/dist/commonjs/sdk.js +17 -0
- package/dist/commonjs/sdk.js.map +1 -1
- package/dist/esm/realtime.d.ts +38 -7
- package/dist/esm/realtime.d.ts.map +1 -1
- package/dist/esm/realtime.js +95 -14
- package/dist/esm/realtime.js.map +1 -1
- package/dist/esm/sdk.d.ts +15 -0
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +17 -0
- package/dist/esm/sdk.js.map +1 -1
- package/package.json +2 -2
- package/src/realtime.ts +125 -15
- package/src/sdk.ts +27 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Aerostack Realtime Client for Node.js 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,15 +12,27 @@ 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 interface NodeRealtimeOptions {
|
|
25
37
|
serverUrl: string;
|
|
26
38
|
apiKey?: string;
|
|
@@ -30,15 +42,28 @@ export interface NodeRealtimeOptions {
|
|
|
30
42
|
}
|
|
31
43
|
export declare class RealtimeSubscription<T = any> {
|
|
32
44
|
private client;
|
|
33
|
-
|
|
45
|
+
topic: string;
|
|
34
46
|
private options;
|
|
35
47
|
private callbacks;
|
|
36
48
|
private _isSubscribed;
|
|
37
49
|
constructor(client: NodeRealtimeClient, topic: string, options?: RealtimeSubscriptionOptions);
|
|
38
|
-
|
|
50
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
51
|
+
on(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
52
|
+
/** Remove a specific callback for an event */
|
|
53
|
+
off(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
39
54
|
subscribe(): this;
|
|
40
55
|
unsubscribe(): void;
|
|
41
56
|
get isSubscribed(): boolean;
|
|
57
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
58
|
+
publish(event: string, data: any, options?: {
|
|
59
|
+
persist?: boolean;
|
|
60
|
+
}): void;
|
|
61
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
62
|
+
getHistory(limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
63
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
64
|
+
track(state: Record<string, any>): void;
|
|
65
|
+
/** Stop tracking presence on this channel */
|
|
66
|
+
untrack(): void;
|
|
42
67
|
/** @internal */
|
|
43
68
|
_emit(payload: RealtimePayload<T>): void;
|
|
44
69
|
}
|
|
@@ -57,6 +82,7 @@ export declare class NodeRealtimeClient {
|
|
|
57
82
|
private _connectingPromise;
|
|
58
83
|
private _status;
|
|
59
84
|
private _statusListeners;
|
|
85
|
+
private _httpBaseUrl;
|
|
60
86
|
private _lastPong;
|
|
61
87
|
private _maxReconnectAttempts;
|
|
62
88
|
private _maxRetriesListeners;
|
|
@@ -71,9 +97,14 @@ export declare class NodeRealtimeClient {
|
|
|
71
97
|
private _doConnect;
|
|
72
98
|
disconnect(): void;
|
|
73
99
|
channel<T = any>(topic: string, options?: RealtimeSubscriptionOptions): RealtimeSubscription<T>;
|
|
74
|
-
|
|
100
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
101
|
+
sendChat(roomId: string, text: string, metadata?: Record<string, any>): void;
|
|
102
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
103
|
+
_generateId(): string;
|
|
75
104
|
/** @internal */
|
|
76
105
|
_send(data: any): void;
|
|
106
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
107
|
+
_fetchHistory(room: string, limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
77
108
|
private handleMessage;
|
|
78
109
|
private startHeartbeat;
|
|
79
110
|
private stopHeartbeat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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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"}
|
|
@@ -15,6 +15,7 @@ class RealtimeSubscription {
|
|
|
15
15
|
this.topic = topic;
|
|
16
16
|
this.options = options;
|
|
17
17
|
}
|
|
18
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
18
19
|
on(event, callback) {
|
|
19
20
|
if (!this.callbacks.has(event)) {
|
|
20
21
|
this.callbacks.set(event, new Set());
|
|
@@ -22,6 +23,11 @@ class RealtimeSubscription {
|
|
|
22
23
|
this.callbacks.get(event).add(callback);
|
|
23
24
|
return this;
|
|
24
25
|
}
|
|
26
|
+
/** Remove a specific callback for an event */
|
|
27
|
+
off(event, callback) {
|
|
28
|
+
this.callbacks.get(event)?.delete(callback);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
25
31
|
subscribe() {
|
|
26
32
|
if (this._isSubscribed)
|
|
27
33
|
return this;
|
|
@@ -44,17 +50,51 @@ class RealtimeSubscription {
|
|
|
44
50
|
this.callbacks.clear();
|
|
45
51
|
}
|
|
46
52
|
get isSubscribed() { return this._isSubscribed; }
|
|
53
|
+
// ─── Phase 1: Pub/Sub — Publish custom events ─────────────────────────
|
|
54
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
55
|
+
publish(event, data, options) {
|
|
56
|
+
this.client._send({
|
|
57
|
+
type: 'publish',
|
|
58
|
+
topic: this.topic,
|
|
59
|
+
event,
|
|
60
|
+
data,
|
|
61
|
+
persist: options?.persist,
|
|
62
|
+
id: this.client._generateId(),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// ─── Phase 2: Chat History ────────────────────────────────────────────
|
|
66
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
67
|
+
async getHistory(limit = 50, before) {
|
|
68
|
+
return this.client._fetchHistory(this.topic, limit, before);
|
|
69
|
+
}
|
|
70
|
+
// ─── Phase 3: Presence ────────────────────────────────────────────────
|
|
71
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
72
|
+
track(state) {
|
|
73
|
+
this.client._send({
|
|
74
|
+
type: 'track',
|
|
75
|
+
topic: this.topic,
|
|
76
|
+
state,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/** Stop tracking presence on this channel */
|
|
80
|
+
untrack() {
|
|
81
|
+
this.client._send({
|
|
82
|
+
type: 'untrack',
|
|
83
|
+
topic: this.topic,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
47
86
|
/** @internal */
|
|
48
87
|
_emit(payload) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
88
|
+
// DB change events (INSERT/UPDATE/DELETE)
|
|
89
|
+
if (payload.operation) {
|
|
90
|
+
const event = payload.operation;
|
|
91
|
+
this.callbacks.get(event)?.forEach(cb => cb(payload));
|
|
92
|
+
}
|
|
93
|
+
// Custom named events ('player-moved', 'presence:join', etc.)
|
|
94
|
+
if (payload.event) {
|
|
95
|
+
this.callbacks.get(payload.event)?.forEach(cb => cb(payload));
|
|
96
|
+
}
|
|
97
|
+
// Catch-all
|
|
58
98
|
this.callbacks.get('*')?.forEach(cb => {
|
|
59
99
|
try {
|
|
60
100
|
cb(payload);
|
|
@@ -83,6 +123,7 @@ class NodeRealtimeClient {
|
|
|
83
123
|
uri.protocol = uri.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
84
124
|
uri.pathname = uri.pathname.replace(/\/v1\/?$/, '') + '/api/realtime';
|
|
85
125
|
this.wsUrl = uri.toString();
|
|
126
|
+
this._httpBaseUrl = options.serverUrl.replace(/\/v1\/?$/, '');
|
|
86
127
|
this.apiKey = options.apiKey;
|
|
87
128
|
this.token = options.token;
|
|
88
129
|
this.projectId = options.projectId;
|
|
@@ -211,8 +252,13 @@ class NodeRealtimeClient {
|
|
|
211
252
|
}
|
|
212
253
|
return sub;
|
|
213
254
|
}
|
|
214
|
-
|
|
215
|
-
|
|
255
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
256
|
+
sendChat(roomId, text, metadata) {
|
|
257
|
+
this._send({ type: 'chat', roomId, text, metadata });
|
|
258
|
+
}
|
|
259
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
260
|
+
_generateId() {
|
|
261
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
216
262
|
}
|
|
217
263
|
/** @internal */
|
|
218
264
|
_send(data) {
|
|
@@ -223,14 +269,49 @@ class NodeRealtimeClient {
|
|
|
223
269
|
this._sendQueue.push(data);
|
|
224
270
|
}
|
|
225
271
|
}
|
|
272
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
273
|
+
async _fetchHistory(room, limit = 50, before) {
|
|
274
|
+
const url = new URL(`${this._httpBaseUrl}/api/v1/public/realtime/history`);
|
|
275
|
+
url.searchParams.set('room', room);
|
|
276
|
+
url.searchParams.set('limit', String(limit));
|
|
277
|
+
if (before)
|
|
278
|
+
url.searchParams.set('before', String(before));
|
|
279
|
+
const headers = {};
|
|
280
|
+
if (this.apiKey)
|
|
281
|
+
headers['X-Aerostack-Key'] = this.apiKey;
|
|
282
|
+
if (this.token)
|
|
283
|
+
headers['Authorization'] = `Bearer ${this.token}`;
|
|
284
|
+
const res = await fetch(url.toString(), { headers });
|
|
285
|
+
const json = await res.json();
|
|
286
|
+
return json.messages || [];
|
|
287
|
+
}
|
|
226
288
|
handleMessage(data) {
|
|
289
|
+
// Track pong for liveness
|
|
227
290
|
if (data.type === 'pong') {
|
|
228
291
|
this._lastPong = Date.now();
|
|
229
292
|
return;
|
|
230
293
|
}
|
|
231
|
-
|
|
232
|
-
if (
|
|
233
|
-
|
|
294
|
+
// Ack (fire-and-forget acknowledgment from server)
|
|
295
|
+
if (data.type === 'ack') {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
// Route to subscription: db_change, chat_message, event, presence:*
|
|
299
|
+
if (data.type === 'db_change' || data.type === 'chat_message' || data.type === 'event') {
|
|
300
|
+
const sub = this.subscriptions.get(data.topic);
|
|
301
|
+
if (sub)
|
|
302
|
+
sub._emit(data);
|
|
303
|
+
}
|
|
304
|
+
// Re-key subscription on server-confirmed topic (for non-TS SDKs compatibility)
|
|
305
|
+
if (data.type === 'subscribed' && data.topic) {
|
|
306
|
+
for (const [origTopic, sub] of this.subscriptions.entries()) {
|
|
307
|
+
if (data.topic !== origTopic && data.topic.startsWith(origTopic)) {
|
|
308
|
+
this.subscriptions.delete(origTopic);
|
|
309
|
+
sub.topic = data.topic;
|
|
310
|
+
this.subscriptions.set(data.topic, sub);
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
234
315
|
}
|
|
235
316
|
startHeartbeat() {
|
|
236
317
|
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,5 +1,6 @@
|
|
|
1
1
|
import * as gen from './_generated/index.js';
|
|
2
2
|
import { NodeRealtimeClient } from './realtime.js';
|
|
3
|
+
import { AerostackClient } from '@aerostack/core';
|
|
3
4
|
export interface SDKOptions {
|
|
4
5
|
/**
|
|
5
6
|
* Aerostack API Key.
|
|
@@ -12,6 +13,7 @@ export interface SDKOptions {
|
|
|
12
13
|
/** Alias for serverUrl for backward compatibility */
|
|
13
14
|
serverURL?: string;
|
|
14
15
|
maxReconnectAttempts?: number;
|
|
16
|
+
projectId?: string;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Compatibility wrapper for Database API
|
|
@@ -32,6 +34,11 @@ declare class DatabaseFacade {
|
|
|
32
34
|
/**
|
|
33
35
|
* Aerostack SDK Facade for Node.js.
|
|
34
36
|
* Provides a clean, ergonomic API for all Aerostack services.
|
|
37
|
+
*
|
|
38
|
+
* Use `sdk.rpc` for the full enterprise API surface (cache bulk ops,
|
|
39
|
+
* storage CRUD, db batch, queue job tracking, vector enhancements).
|
|
40
|
+
* The top-level properties (cache, storage, etc.) use OpenAPI-generated
|
|
41
|
+
* classes and are kept for backward compatibility.
|
|
35
42
|
*/
|
|
36
43
|
export declare class SDK {
|
|
37
44
|
readonly database: DatabaseFacade;
|
|
@@ -43,6 +50,14 @@ export declare class SDK {
|
|
|
43
50
|
readonly services: gen.ServicesApi;
|
|
44
51
|
readonly gateway: gen.GatewayApi;
|
|
45
52
|
readonly realtime: NodeRealtimeClient;
|
|
53
|
+
/**
|
|
54
|
+
* Full enterprise RPC client — exposes all new methods:
|
|
55
|
+
* cache.list/keys/getMany/setMany/deleteMany/flush/expire/increment
|
|
56
|
+
* storage.get/getUrl/list/delete/exists/getMetadata/copy/move
|
|
57
|
+
* db.batch, queue.getJob/listJobs/cancelJob
|
|
58
|
+
* ai.search.update/get/count
|
|
59
|
+
*/
|
|
60
|
+
readonly rpc: AerostackClient;
|
|
46
61
|
private config;
|
|
47
62
|
constructor(options?: SDKOptions);
|
|
48
63
|
/**
|
|
@@ -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,kBAAkB,EAAE,MAAM,eAAe,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,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,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;;;;;;;;GAQG;AACH,qBAAa,GAAG;IACZ,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC5C,SAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpC,SAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpC,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IACxC,SAAgB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;IAC9B,SAAgB,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;IAC1C,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IACxC,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C;;;;;;OAMG;IACH,SAAgB,GAAG,EAAE,eAAe,CAAC;IAErC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,OAAO,GAAE,UAAe;IAkCpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAmBlC;AAED,kCAAkC;AAClC,eAAO,MAAM,SAAS,YAAM,CAAC;AAG7B,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,QAAqB,CAAC"}
|
package/dist/commonjs/sdk.js
CHANGED
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.createClient = exports.Aerostack = exports.SDK = void 0;
|
|
37
37
|
const gen = __importStar(require("./_generated/index.js"));
|
|
38
38
|
const realtime_js_1 = require("./realtime.js");
|
|
39
|
+
const core_1 = require("@aerostack/core");
|
|
39
40
|
/**
|
|
40
41
|
* Compatibility wrapper for Database API
|
|
41
42
|
*/
|
|
@@ -57,6 +58,11 @@ class DatabaseFacade {
|
|
|
57
58
|
/**
|
|
58
59
|
* Aerostack SDK Facade for Node.js.
|
|
59
60
|
* Provides a clean, ergonomic API for all Aerostack services.
|
|
61
|
+
*
|
|
62
|
+
* Use `sdk.rpc` for the full enterprise API surface (cache bulk ops,
|
|
63
|
+
* storage CRUD, db batch, queue job tracking, vector enhancements).
|
|
64
|
+
* The top-level properties (cache, storage, etc.) use OpenAPI-generated
|
|
65
|
+
* classes and are kept for backward compatibility.
|
|
60
66
|
*/
|
|
61
67
|
class SDK {
|
|
62
68
|
constructor(options = {}) {
|
|
@@ -75,9 +81,16 @@ class SDK {
|
|
|
75
81
|
this.ai = new gen.AIApi(this.config);
|
|
76
82
|
this.services = new gen.ServicesApi(this.config);
|
|
77
83
|
this.gateway = new gen.GatewayApi(this.config);
|
|
84
|
+
// Enterprise client — full API surface
|
|
85
|
+
this.rpc = new core_1.AerostackClient({
|
|
86
|
+
baseUrl: serverUrl,
|
|
87
|
+
apiKey,
|
|
88
|
+
projectId: options.projectId,
|
|
89
|
+
});
|
|
78
90
|
this.realtime = new realtime_js_1.NodeRealtimeClient({
|
|
79
91
|
serverUrl,
|
|
80
92
|
apiKey: apiKey,
|
|
93
|
+
projectId: options.projectId,
|
|
81
94
|
maxReconnectAttempts: options.maxReconnectAttempts
|
|
82
95
|
});
|
|
83
96
|
}
|
|
@@ -98,6 +111,10 @@ class SDK {
|
|
|
98
111
|
this.ai = new gen.AIApi(this.config);
|
|
99
112
|
this.services = new gen.ServicesApi(this.config);
|
|
100
113
|
this.gateway = new gen.GatewayApi(this.config);
|
|
114
|
+
this.rpc = new core_1.AerostackClient({
|
|
115
|
+
baseUrl: this.config.basePath,
|
|
116
|
+
apiKey,
|
|
117
|
+
});
|
|
101
118
|
}
|
|
102
119
|
}
|
|
103
120
|
exports.SDK = SDK;
|
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,+CAAmD;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/realtime.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Aerostack Realtime Client for Node.js 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,15 +12,27 @@ 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 interface NodeRealtimeOptions {
|
|
25
37
|
serverUrl: string;
|
|
26
38
|
apiKey?: string;
|
|
@@ -30,15 +42,28 @@ export interface NodeRealtimeOptions {
|
|
|
30
42
|
}
|
|
31
43
|
export declare class RealtimeSubscription<T = any> {
|
|
32
44
|
private client;
|
|
33
|
-
|
|
45
|
+
topic: string;
|
|
34
46
|
private options;
|
|
35
47
|
private callbacks;
|
|
36
48
|
private _isSubscribed;
|
|
37
49
|
constructor(client: NodeRealtimeClient, topic: string, options?: RealtimeSubscriptionOptions);
|
|
38
|
-
|
|
50
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
51
|
+
on(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
52
|
+
/** Remove a specific callback for an event */
|
|
53
|
+
off(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this;
|
|
39
54
|
subscribe(): this;
|
|
40
55
|
unsubscribe(): void;
|
|
41
56
|
get isSubscribed(): boolean;
|
|
57
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
58
|
+
publish(event: string, data: any, options?: {
|
|
59
|
+
persist?: boolean;
|
|
60
|
+
}): void;
|
|
61
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
62
|
+
getHistory(limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
63
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
64
|
+
track(state: Record<string, any>): void;
|
|
65
|
+
/** Stop tracking presence on this channel */
|
|
66
|
+
untrack(): void;
|
|
42
67
|
/** @internal */
|
|
43
68
|
_emit(payload: RealtimePayload<T>): void;
|
|
44
69
|
}
|
|
@@ -57,6 +82,7 @@ export declare class NodeRealtimeClient {
|
|
|
57
82
|
private _connectingPromise;
|
|
58
83
|
private _status;
|
|
59
84
|
private _statusListeners;
|
|
85
|
+
private _httpBaseUrl;
|
|
60
86
|
private _lastPong;
|
|
61
87
|
private _maxReconnectAttempts;
|
|
62
88
|
private _maxRetriesListeners;
|
|
@@ -71,9 +97,14 @@ export declare class NodeRealtimeClient {
|
|
|
71
97
|
private _doConnect;
|
|
72
98
|
disconnect(): void;
|
|
73
99
|
channel<T = any>(topic: string, options?: RealtimeSubscriptionOptions): RealtimeSubscription<T>;
|
|
74
|
-
|
|
100
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
101
|
+
sendChat(roomId: string, text: string, metadata?: Record<string, any>): void;
|
|
102
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
103
|
+
_generateId(): string;
|
|
75
104
|
/** @internal */
|
|
76
105
|
_send(data: any): void;
|
|
106
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
107
|
+
_fetchHistory(room: string, limit?: number, before?: number): Promise<HistoryMessage[]>;
|
|
77
108
|
private handleMessage;
|
|
78
109
|
private startHeartbeat;
|
|
79
110
|
private stopHeartbeat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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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"}
|
package/dist/esm/realtime.js
CHANGED
|
@@ -12,6 +12,7 @@ export class RealtimeSubscription {
|
|
|
12
12
|
this.topic = topic;
|
|
13
13
|
this.options = options;
|
|
14
14
|
}
|
|
15
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
15
16
|
on(event, callback) {
|
|
16
17
|
if (!this.callbacks.has(event)) {
|
|
17
18
|
this.callbacks.set(event, new Set());
|
|
@@ -19,6 +20,11 @@ export class RealtimeSubscription {
|
|
|
19
20
|
this.callbacks.get(event).add(callback);
|
|
20
21
|
return this;
|
|
21
22
|
}
|
|
23
|
+
/** Remove a specific callback for an event */
|
|
24
|
+
off(event, callback) {
|
|
25
|
+
this.callbacks.get(event)?.delete(callback);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
22
28
|
subscribe() {
|
|
23
29
|
if (this._isSubscribed)
|
|
24
30
|
return this;
|
|
@@ -41,17 +47,51 @@ export class RealtimeSubscription {
|
|
|
41
47
|
this.callbacks.clear();
|
|
42
48
|
}
|
|
43
49
|
get isSubscribed() { return this._isSubscribed; }
|
|
50
|
+
// ─── Phase 1: Pub/Sub — Publish custom events ─────────────────────────
|
|
51
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
52
|
+
publish(event, data, options) {
|
|
53
|
+
this.client._send({
|
|
54
|
+
type: 'publish',
|
|
55
|
+
topic: this.topic,
|
|
56
|
+
event,
|
|
57
|
+
data,
|
|
58
|
+
persist: options?.persist,
|
|
59
|
+
id: this.client._generateId(),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// ─── Phase 2: Chat History ────────────────────────────────────────────
|
|
63
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
64
|
+
async getHistory(limit = 50, before) {
|
|
65
|
+
return this.client._fetchHistory(this.topic, limit, before);
|
|
66
|
+
}
|
|
67
|
+
// ─── Phase 3: Presence ────────────────────────────────────────────────
|
|
68
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
69
|
+
track(state) {
|
|
70
|
+
this.client._send({
|
|
71
|
+
type: 'track',
|
|
72
|
+
topic: this.topic,
|
|
73
|
+
state,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/** Stop tracking presence on this channel */
|
|
77
|
+
untrack() {
|
|
78
|
+
this.client._send({
|
|
79
|
+
type: 'untrack',
|
|
80
|
+
topic: this.topic,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
44
83
|
/** @internal */
|
|
45
84
|
_emit(payload) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
85
|
+
// DB change events (INSERT/UPDATE/DELETE)
|
|
86
|
+
if (payload.operation) {
|
|
87
|
+
const event = payload.operation;
|
|
88
|
+
this.callbacks.get(event)?.forEach(cb => cb(payload));
|
|
89
|
+
}
|
|
90
|
+
// Custom named events ('player-moved', 'presence:join', etc.)
|
|
91
|
+
if (payload.event) {
|
|
92
|
+
this.callbacks.get(payload.event)?.forEach(cb => cb(payload));
|
|
93
|
+
}
|
|
94
|
+
// Catch-all
|
|
55
95
|
this.callbacks.get('*')?.forEach(cb => {
|
|
56
96
|
try {
|
|
57
97
|
cb(payload);
|
|
@@ -79,6 +119,7 @@ export class NodeRealtimeClient {
|
|
|
79
119
|
uri.protocol = uri.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
80
120
|
uri.pathname = uri.pathname.replace(/\/v1\/?$/, '') + '/api/realtime';
|
|
81
121
|
this.wsUrl = uri.toString();
|
|
122
|
+
this._httpBaseUrl = options.serverUrl.replace(/\/v1\/?$/, '');
|
|
82
123
|
this.apiKey = options.apiKey;
|
|
83
124
|
this.token = options.token;
|
|
84
125
|
this.projectId = options.projectId;
|
|
@@ -207,8 +248,13 @@ export class NodeRealtimeClient {
|
|
|
207
248
|
}
|
|
208
249
|
return sub;
|
|
209
250
|
}
|
|
210
|
-
|
|
211
|
-
|
|
251
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
252
|
+
sendChat(roomId, text, metadata) {
|
|
253
|
+
this._send({ type: 'chat', roomId, text, metadata });
|
|
254
|
+
}
|
|
255
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
256
|
+
_generateId() {
|
|
257
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
212
258
|
}
|
|
213
259
|
/** @internal */
|
|
214
260
|
_send(data) {
|
|
@@ -219,14 +265,49 @@ export class NodeRealtimeClient {
|
|
|
219
265
|
this._sendQueue.push(data);
|
|
220
266
|
}
|
|
221
267
|
}
|
|
268
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
269
|
+
async _fetchHistory(room, limit = 50, before) {
|
|
270
|
+
const url = new URL(`${this._httpBaseUrl}/api/v1/public/realtime/history`);
|
|
271
|
+
url.searchParams.set('room', room);
|
|
272
|
+
url.searchParams.set('limit', String(limit));
|
|
273
|
+
if (before)
|
|
274
|
+
url.searchParams.set('before', String(before));
|
|
275
|
+
const headers = {};
|
|
276
|
+
if (this.apiKey)
|
|
277
|
+
headers['X-Aerostack-Key'] = this.apiKey;
|
|
278
|
+
if (this.token)
|
|
279
|
+
headers['Authorization'] = `Bearer ${this.token}`;
|
|
280
|
+
const res = await fetch(url.toString(), { headers });
|
|
281
|
+
const json = await res.json();
|
|
282
|
+
return json.messages || [];
|
|
283
|
+
}
|
|
222
284
|
handleMessage(data) {
|
|
285
|
+
// Track pong for liveness
|
|
223
286
|
if (data.type === 'pong') {
|
|
224
287
|
this._lastPong = Date.now();
|
|
225
288
|
return;
|
|
226
289
|
}
|
|
227
|
-
|
|
228
|
-
if (
|
|
229
|
-
|
|
290
|
+
// Ack (fire-and-forget acknowledgment from server)
|
|
291
|
+
if (data.type === 'ack') {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
// Route to subscription: db_change, chat_message, event, presence:*
|
|
295
|
+
if (data.type === 'db_change' || data.type === 'chat_message' || data.type === 'event') {
|
|
296
|
+
const sub = this.subscriptions.get(data.topic);
|
|
297
|
+
if (sub)
|
|
298
|
+
sub._emit(data);
|
|
299
|
+
}
|
|
300
|
+
// Re-key subscription on server-confirmed topic (for non-TS SDKs compatibility)
|
|
301
|
+
if (data.type === 'subscribed' && data.topic) {
|
|
302
|
+
for (const [origTopic, sub] of this.subscriptions.entries()) {
|
|
303
|
+
if (data.topic !== origTopic && data.topic.startsWith(origTopic)) {
|
|
304
|
+
this.subscriptions.delete(origTopic);
|
|
305
|
+
sub.topic = data.topic;
|
|
306
|
+
this.subscriptions.set(data.topic, sub);
|
|
307
|
+
break;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
230
311
|
}
|
|
231
312
|
startHeartbeat() {
|
|
232
313
|
this.heartbeatTimer = setInterval(() => {
|
package/dist/esm/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,OAAO,oBAAoB;IAO7B,YAAY,MAA0B,EAAE,KAAa,EAAE,UAAuC,EAAE;QAHxF,cAAS,GAAiD,IAAI,GAAG,EAAE,CAAC;QACpE,kBAAa,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,EAAE,CAAC,KAAoB,EAAE,QAA6B;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAEjD,gBAAgB;IAChB,KAAK,CAAC,OAA2B;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,SAA0B,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;YACpC,IAAI,CAAC;gBAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;YAClC,IAAI,CAAC;gBAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAID,MAAM,OAAO,kBAAkB;IAkB3B,YAAY,OAA4B;QAbhC,OAAE,GAAqB,IAAI,CAAC;QAC5B,kBAAa,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC7D,mBAAc,GAAQ,IAAI,CAAC;QAC3B,mBAAc,GAAQ,IAAI,CAAC;QAC3B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,eAAU,GAAU,EAAE,CAAC;QACvB,uBAAkB,GAAyB,IAAI,CAAC;QAChD,YAAO,GAAmB,MAAM,CAAC;QACjC,qBAAgB,GAAqC,IAAI,GAAG,EAAE,CAAC;QAC/D,cAAS,GAAW,CAAC,CAAC;QAEtB,yBAAoB,GAAoB,IAAI,GAAG,EAAE,CAAC;QAGtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC;QACtE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,IAAI,QAAQ,CAAC;IAC1E,CAAC;IAED,IAAI,MAAM,KAAqB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,IAAI,SAAS,KAAc,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC;IAEjE,cAAc,CAAC,EAAoC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB,CAAC,EAAc;QAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,UAAU,CAAC,CAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,QAAgB;QACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO;QACpD,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,IAAI,OAAY,CAAC;gBACjB,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;oBAC9C,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC;wBACD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC9B,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;oBAC/B,CAAC;oBAAC,MAAM,CAAC;wBACL,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;oBACtE,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEtC,IAAI,CAAC,EAAG,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC3D,CAAC;oBACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;wBAC5C,IAAI,GAAG,CAAC,YAAY;4BAAE,GAAG,CAAC,SAAS,EAAE,CAAC;oBAC1C,CAAC;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;gBAEF,IAAI,CAAC,EAAG,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;oBAChC,IAAI,CAAC;wBACD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC3D,MAAM,IAAI,GAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC,CAAC;gBAEF,IAAI,CAAC,EAAG,CAAC,OAAO,GAAG,GAAG,EAAE;oBACpB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBAChC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,CAAC,CAAC;gBAEF,IAAI,CAAC,EAAG,CAAC,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;oBAC5B,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBACjD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBAChC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAChC,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAU,KAAa,EAAE,UAAuC,EAAE;QACrE,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,GAAG,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAChE,SAAS,GAAG,KAAK,CAAC,CAAC,0BAA0B;QACjD,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,mDAAmD;QACjG,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,GAAG,GAAG,IAAI,oBAAoB,CAAI,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,GAA8B,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,IAAY;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAS;QACX,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,IAAqB;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,GAAG;YAAE,GAAG,CAAC,KAAK,CAAC,IAAW,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YACrB,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAEO,aAAa;QACjB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC;IACL,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/sdk.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as gen from './_generated/index.js';
|
|
2
2
|
import { NodeRealtimeClient } from './realtime.js';
|
|
3
|
+
import { AerostackClient } from '@aerostack/core';
|
|
3
4
|
export interface SDKOptions {
|
|
4
5
|
/**
|
|
5
6
|
* Aerostack API Key.
|
|
@@ -12,6 +13,7 @@ export interface SDKOptions {
|
|
|
12
13
|
/** Alias for serverUrl for backward compatibility */
|
|
13
14
|
serverURL?: string;
|
|
14
15
|
maxReconnectAttempts?: number;
|
|
16
|
+
projectId?: string;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Compatibility wrapper for Database API
|
|
@@ -32,6 +34,11 @@ declare class DatabaseFacade {
|
|
|
32
34
|
/**
|
|
33
35
|
* Aerostack SDK Facade for Node.js.
|
|
34
36
|
* Provides a clean, ergonomic API for all Aerostack services.
|
|
37
|
+
*
|
|
38
|
+
* Use `sdk.rpc` for the full enterprise API surface (cache bulk ops,
|
|
39
|
+
* storage CRUD, db batch, queue job tracking, vector enhancements).
|
|
40
|
+
* The top-level properties (cache, storage, etc.) use OpenAPI-generated
|
|
41
|
+
* classes and are kept for backward compatibility.
|
|
35
42
|
*/
|
|
36
43
|
export declare class SDK {
|
|
37
44
|
readonly database: DatabaseFacade;
|
|
@@ -43,6 +50,14 @@ export declare class SDK {
|
|
|
43
50
|
readonly services: gen.ServicesApi;
|
|
44
51
|
readonly gateway: gen.GatewayApi;
|
|
45
52
|
readonly realtime: NodeRealtimeClient;
|
|
53
|
+
/**
|
|
54
|
+
* Full enterprise RPC client — exposes all new methods:
|
|
55
|
+
* cache.list/keys/getMany/setMany/deleteMany/flush/expire/increment
|
|
56
|
+
* storage.get/getUrl/list/delete/exists/getMetadata/copy/move
|
|
57
|
+
* db.batch, queue.getJob/listJobs/cancelJob
|
|
58
|
+
* ai.search.update/get/count
|
|
59
|
+
*/
|
|
60
|
+
readonly rpc: AerostackClient;
|
|
46
61
|
private config;
|
|
47
62
|
constructor(options?: SDKOptions);
|
|
48
63
|
/**
|
package/dist/esm/sdk.d.ts.map
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,kBAAkB,EAAE,MAAM,eAAe,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,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,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;;;;;;;;GAQG;AACH,qBAAa,GAAG;IACZ,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC5C,SAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpC,SAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;IACpC,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IACxC,SAAgB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;IAC9B,SAAgB,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;IAC1C,SAAgB,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;IACxC,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C;;;;;;OAMG;IACH,SAAgB,GAAG,EAAE,eAAe,CAAC;IAErC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,OAAO,GAAE,UAAe;IAkCpC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAmBlC;AAED,kCAAkC;AAClC,eAAO,MAAM,SAAS,YAAM,CAAC;AAG7B,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,QAAqB,CAAC"}
|
package/dist/esm/sdk.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as gen from './_generated/index.js';
|
|
2
2
|
import { NodeRealtimeClient } from './realtime.js';
|
|
3
|
+
import { AerostackClient } from '@aerostack/core';
|
|
3
4
|
/**
|
|
4
5
|
* Compatibility wrapper for Database API
|
|
5
6
|
*/
|
|
@@ -21,6 +22,11 @@ class DatabaseFacade {
|
|
|
21
22
|
/**
|
|
22
23
|
* Aerostack SDK Facade for Node.js.
|
|
23
24
|
* Provides a clean, ergonomic API for all Aerostack services.
|
|
25
|
+
*
|
|
26
|
+
* Use `sdk.rpc` for the full enterprise API surface (cache bulk ops,
|
|
27
|
+
* storage CRUD, db batch, queue job tracking, vector enhancements).
|
|
28
|
+
* The top-level properties (cache, storage, etc.) use OpenAPI-generated
|
|
29
|
+
* classes and are kept for backward compatibility.
|
|
24
30
|
*/
|
|
25
31
|
export class SDK {
|
|
26
32
|
constructor(options = {}) {
|
|
@@ -39,9 +45,16 @@ export class SDK {
|
|
|
39
45
|
this.ai = new gen.AIApi(this.config);
|
|
40
46
|
this.services = new gen.ServicesApi(this.config);
|
|
41
47
|
this.gateway = new gen.GatewayApi(this.config);
|
|
48
|
+
// Enterprise client — full API surface
|
|
49
|
+
this.rpc = new AerostackClient({
|
|
50
|
+
baseUrl: serverUrl,
|
|
51
|
+
apiKey,
|
|
52
|
+
projectId: options.projectId,
|
|
53
|
+
});
|
|
42
54
|
this.realtime = new NodeRealtimeClient({
|
|
43
55
|
serverUrl,
|
|
44
56
|
apiKey: apiKey,
|
|
57
|
+
projectId: options.projectId,
|
|
45
58
|
maxReconnectAttempts: options.maxReconnectAttempts
|
|
46
59
|
});
|
|
47
60
|
}
|
|
@@ -62,6 +75,10 @@ export class SDK {
|
|
|
62
75
|
this.ai = new gen.AIApi(this.config);
|
|
63
76
|
this.services = new gen.ServicesApi(this.config);
|
|
64
77
|
this.gateway = new gen.GatewayApi(this.config);
|
|
78
|
+
this.rpc = new AerostackClient({
|
|
79
|
+
baseUrl: this.config.basePath,
|
|
80
|
+
apiKey,
|
|
81
|
+
});
|
|
65
82
|
}
|
|
66
83
|
}
|
|
67
84
|
/** @deprecated Use SDK instead */
|
package/dist/esm/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aerostack/sdk-node",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.7",
|
|
4
4
|
"author": "Aerostack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"tshy": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"ws": "^8.19.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@aerostack/core": "^0.7.
|
|
34
|
+
"@aerostack/core": "^0.7.7",
|
|
35
35
|
"zod": "^3.25.0 || ^4.0.0"
|
|
36
36
|
},
|
|
37
37
|
"exports": {
|
package/src/realtime.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Aerostack Realtime Client for Node.js SDK
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
|
|
5
|
+
export type RealtimeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*' | string;
|
|
6
6
|
|
|
7
7
|
export interface RealtimeMessage {
|
|
8
8
|
type: string;
|
|
@@ -17,16 +17,29 @@ export interface RealtimeSubscriptionOptions {
|
|
|
17
17
|
|
|
18
18
|
export type RealtimeCallback<T = any> = (payload: RealtimePayload<T>) => void;
|
|
19
19
|
|
|
20
|
+
/** Typed payload for realtime events */
|
|
20
21
|
export interface RealtimePayload<T = any> {
|
|
21
|
-
type: 'db_change' | 'chat_message';
|
|
22
|
+
type: 'db_change' | 'chat_message' | 'event';
|
|
22
23
|
topic: string;
|
|
23
|
-
operation
|
|
24
|
+
operation?: RealtimeEvent;
|
|
25
|
+
event?: string;
|
|
24
26
|
data: T;
|
|
25
27
|
old?: T;
|
|
26
|
-
|
|
28
|
+
userId?: string;
|
|
29
|
+
timestamp?: number | string;
|
|
27
30
|
[key: string]: any;
|
|
28
31
|
}
|
|
29
32
|
|
|
33
|
+
/** Chat history message returned from REST API */
|
|
34
|
+
export interface HistoryMessage {
|
|
35
|
+
id: string;
|
|
36
|
+
room_id: string;
|
|
37
|
+
user_id: string;
|
|
38
|
+
event: string;
|
|
39
|
+
data: any;
|
|
40
|
+
created_at: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
30
43
|
export interface NodeRealtimeOptions {
|
|
31
44
|
serverUrl: string;
|
|
32
45
|
apiKey?: string;
|
|
@@ -41,9 +54,9 @@ const JITTER_FACTOR = 0.3;
|
|
|
41
54
|
|
|
42
55
|
export class RealtimeSubscription<T = any> {
|
|
43
56
|
private client: NodeRealtimeClient;
|
|
44
|
-
|
|
57
|
+
topic: string;
|
|
45
58
|
private options: RealtimeSubscriptionOptions;
|
|
46
|
-
private callbacks: Map<
|
|
59
|
+
private callbacks: Map<string, Set<RealtimeCallback<T>>> = new Map();
|
|
47
60
|
private _isSubscribed: boolean = false;
|
|
48
61
|
|
|
49
62
|
constructor(client: NodeRealtimeClient, topic: string, options: RealtimeSubscriptionOptions = {}) {
|
|
@@ -52,7 +65,8 @@ export class RealtimeSubscription<T = any> {
|
|
|
52
65
|
this.options = options;
|
|
53
66
|
}
|
|
54
67
|
|
|
55
|
-
|
|
68
|
+
/** Listen for DB change events (INSERT/UPDATE/DELETE/*) or custom named events */
|
|
69
|
+
on(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this {
|
|
56
70
|
if (!this.callbacks.has(event)) {
|
|
57
71
|
this.callbacks.set(event, new Set());
|
|
58
72
|
}
|
|
@@ -60,6 +74,12 @@ export class RealtimeSubscription<T = any> {
|
|
|
60
74
|
return this;
|
|
61
75
|
}
|
|
62
76
|
|
|
77
|
+
/** Remove a specific callback for an event */
|
|
78
|
+
off(event: RealtimeEvent | string, callback: RealtimeCallback<T>): this {
|
|
79
|
+
this.callbacks.get(event)?.delete(callback);
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
|
|
63
83
|
subscribe(): this {
|
|
64
84
|
if (this._isSubscribed) return this;
|
|
65
85
|
this.client._send({
|
|
@@ -83,12 +103,55 @@ export class RealtimeSubscription<T = any> {
|
|
|
83
103
|
|
|
84
104
|
get isSubscribed() { return this._isSubscribed; }
|
|
85
105
|
|
|
106
|
+
// ─── Phase 1: Pub/Sub — Publish custom events ─────────────────────────
|
|
107
|
+
/** Publish a custom event to all subscribers on this channel */
|
|
108
|
+
publish(event: string, data: any, options?: { persist?: boolean }): void {
|
|
109
|
+
this.client._send({
|
|
110
|
+
type: 'publish',
|
|
111
|
+
topic: this.topic,
|
|
112
|
+
event,
|
|
113
|
+
data,
|
|
114
|
+
persist: options?.persist,
|
|
115
|
+
id: this.client._generateId(),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// ─── Phase 2: Chat History ────────────────────────────────────────────
|
|
120
|
+
/** Fetch persisted message history for this channel (requires persist: true on publish) */
|
|
121
|
+
async getHistory(limit: number = 50, before?: number): Promise<HistoryMessage[]> {
|
|
122
|
+
return this.client._fetchHistory(this.topic, limit, before);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// ─── Phase 3: Presence ────────────────────────────────────────────────
|
|
126
|
+
/** Track this user's presence state on this channel (auto-synced to subscribers) */
|
|
127
|
+
track(state: Record<string, any>): void {
|
|
128
|
+
this.client._send({
|
|
129
|
+
type: 'track',
|
|
130
|
+
topic: this.topic,
|
|
131
|
+
state,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** Stop tracking presence on this channel */
|
|
136
|
+
untrack(): void {
|
|
137
|
+
this.client._send({
|
|
138
|
+
type: 'untrack',
|
|
139
|
+
topic: this.topic,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
86
143
|
/** @internal */
|
|
87
144
|
_emit(payload: RealtimePayload<T>): void {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
145
|
+
// DB change events (INSERT/UPDATE/DELETE)
|
|
146
|
+
if (payload.operation) {
|
|
147
|
+
const event = payload.operation as string;
|
|
148
|
+
this.callbacks.get(event)?.forEach(cb => cb(payload));
|
|
149
|
+
}
|
|
150
|
+
// Custom named events ('player-moved', 'presence:join', etc.)
|
|
151
|
+
if (payload.event) {
|
|
152
|
+
this.callbacks.get(payload.event)?.forEach(cb => cb(payload));
|
|
153
|
+
}
|
|
154
|
+
// Catch-all
|
|
92
155
|
this.callbacks.get('*')?.forEach(cb => {
|
|
93
156
|
try { cb(payload); } catch (e) { console.error('Realtime callback error:', e); }
|
|
94
157
|
});
|
|
@@ -111,6 +174,8 @@ export class NodeRealtimeClient {
|
|
|
111
174
|
private _connectingPromise: Promise<void> | null = null;
|
|
112
175
|
private _status: RealtimeStatus = 'idle';
|
|
113
176
|
private _statusListeners: Set<(s: RealtimeStatus) => void> = new Set();
|
|
177
|
+
// HTTP base URL for REST endpoints (history, etc.)
|
|
178
|
+
private _httpBaseUrl: string;
|
|
114
179
|
private _lastPong: number = 0;
|
|
115
180
|
private _maxReconnectAttempts: number;
|
|
116
181
|
private _maxRetriesListeners: Set<() => void> = new Set();
|
|
@@ -120,6 +185,7 @@ export class NodeRealtimeClient {
|
|
|
120
185
|
uri.protocol = uri.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
121
186
|
uri.pathname = uri.pathname.replace(/\/v1\/?$/, '') + '/api/realtime';
|
|
122
187
|
this.wsUrl = uri.toString();
|
|
188
|
+
this._httpBaseUrl = options.serverUrl.replace(/\/v1\/?$/, '');
|
|
123
189
|
this.apiKey = options.apiKey;
|
|
124
190
|
this.token = options.token;
|
|
125
191
|
this.projectId = options.projectId;
|
|
@@ -252,8 +318,14 @@ export class NodeRealtimeClient {
|
|
|
252
318
|
return sub as RealtimeSubscription<T>;
|
|
253
319
|
}
|
|
254
320
|
|
|
255
|
-
|
|
256
|
-
|
|
321
|
+
/** Legacy: send a chat message (now persisted to DB) */
|
|
322
|
+
sendChat(roomId: string, text: string, metadata?: Record<string, any>): void {
|
|
323
|
+
this._send({ type: 'chat', roomId, text, metadata });
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/** @internal — Generate unique message ID for ack tracking */
|
|
327
|
+
_generateId(): string {
|
|
328
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
|
257
329
|
}
|
|
258
330
|
|
|
259
331
|
/** @internal */
|
|
@@ -265,13 +337,51 @@ export class NodeRealtimeClient {
|
|
|
265
337
|
}
|
|
266
338
|
}
|
|
267
339
|
|
|
340
|
+
/** @internal — Fetch chat/event history via REST API */
|
|
341
|
+
async _fetchHistory(room: string, limit: number = 50, before?: number): Promise<HistoryMessage[]> {
|
|
342
|
+
const url = new URL(`${this._httpBaseUrl}/api/v1/public/realtime/history`);
|
|
343
|
+
url.searchParams.set('room', room);
|
|
344
|
+
url.searchParams.set('limit', String(limit));
|
|
345
|
+
if (before) url.searchParams.set('before', String(before));
|
|
346
|
+
|
|
347
|
+
const headers: Record<string, string> = {};
|
|
348
|
+
if (this.apiKey) headers['X-Aerostack-Key'] = this.apiKey;
|
|
349
|
+
if (this.token) headers['Authorization'] = `Bearer ${this.token}`;
|
|
350
|
+
|
|
351
|
+
const res = await fetch(url.toString(), { headers });
|
|
352
|
+
const json = await res.json() as any;
|
|
353
|
+
return json.messages || [];
|
|
354
|
+
}
|
|
355
|
+
|
|
268
356
|
private handleMessage(data: RealtimeMessage): void {
|
|
357
|
+
// Track pong for liveness
|
|
269
358
|
if (data.type === 'pong') {
|
|
270
359
|
this._lastPong = Date.now();
|
|
271
360
|
return;
|
|
272
361
|
}
|
|
273
|
-
|
|
274
|
-
|
|
362
|
+
|
|
363
|
+
// Ack (fire-and-forget acknowledgment from server)
|
|
364
|
+
if (data.type === 'ack') {
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Route to subscription: db_change, chat_message, event, presence:*
|
|
369
|
+
if (data.type === 'db_change' || data.type === 'chat_message' || data.type === 'event') {
|
|
370
|
+
const sub = this.subscriptions.get(data.topic);
|
|
371
|
+
if (sub) sub._emit(data as any);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Re-key subscription on server-confirmed topic (for non-TS SDKs compatibility)
|
|
375
|
+
if (data.type === 'subscribed' && data.topic) {
|
|
376
|
+
for (const [origTopic, sub] of this.subscriptions.entries()) {
|
|
377
|
+
if (data.topic !== origTopic && data.topic.startsWith(origTopic)) {
|
|
378
|
+
this.subscriptions.delete(origTopic);
|
|
379
|
+
sub.topic = data.topic;
|
|
380
|
+
this.subscriptions.set(data.topic, sub);
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
275
385
|
}
|
|
276
386
|
|
|
277
387
|
private startHeartbeat(): void {
|
package/src/sdk.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as gen from './_generated/index.js';
|
|
2
2
|
import { NodeRealtimeClient } from './realtime.js';
|
|
3
|
+
import { AerostackClient } from '@aerostack/core';
|
|
3
4
|
|
|
4
5
|
export interface SDKOptions {
|
|
5
6
|
/**
|
|
@@ -13,6 +14,7 @@ export interface SDKOptions {
|
|
|
13
14
|
/** Alias for serverUrl for backward compatibility */
|
|
14
15
|
serverURL?: string;
|
|
15
16
|
maxReconnectAttempts?: number;
|
|
17
|
+
projectId?: string;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -41,6 +43,11 @@ class DatabaseFacade {
|
|
|
41
43
|
/**
|
|
42
44
|
* Aerostack SDK Facade for Node.js.
|
|
43
45
|
* Provides a clean, ergonomic API for all Aerostack services.
|
|
46
|
+
*
|
|
47
|
+
* Use `sdk.rpc` for the full enterprise API surface (cache bulk ops,
|
|
48
|
+
* storage CRUD, db batch, queue job tracking, vector enhancements).
|
|
49
|
+
* The top-level properties (cache, storage, etc.) use OpenAPI-generated
|
|
50
|
+
* classes and are kept for backward compatibility.
|
|
44
51
|
*/
|
|
45
52
|
export class SDK {
|
|
46
53
|
public readonly database: DatabaseFacade;
|
|
@@ -52,6 +59,14 @@ export class SDK {
|
|
|
52
59
|
public readonly services: gen.ServicesApi;
|
|
53
60
|
public readonly gateway: gen.GatewayApi;
|
|
54
61
|
public readonly realtime: NodeRealtimeClient;
|
|
62
|
+
/**
|
|
63
|
+
* Full enterprise RPC client — exposes all new methods:
|
|
64
|
+
* cache.list/keys/getMany/setMany/deleteMany/flush/expire/increment
|
|
65
|
+
* storage.get/getUrl/list/delete/exists/getMetadata/copy/move
|
|
66
|
+
* db.batch, queue.getJob/listJobs/cancelJob
|
|
67
|
+
* ai.search.update/get/count
|
|
68
|
+
*/
|
|
69
|
+
public readonly rpc: AerostackClient;
|
|
55
70
|
|
|
56
71
|
private config: gen.Configuration;
|
|
57
72
|
|
|
@@ -74,9 +89,17 @@ export class SDK {
|
|
|
74
89
|
this.services = new gen.ServicesApi(this.config);
|
|
75
90
|
this.gateway = new gen.GatewayApi(this.config);
|
|
76
91
|
|
|
92
|
+
// Enterprise client — full API surface
|
|
93
|
+
this.rpc = new AerostackClient({
|
|
94
|
+
baseUrl: serverUrl,
|
|
95
|
+
apiKey,
|
|
96
|
+
projectId: options.projectId,
|
|
97
|
+
});
|
|
98
|
+
|
|
77
99
|
this.realtime = new NodeRealtimeClient({
|
|
78
100
|
serverUrl,
|
|
79
101
|
apiKey: apiKey,
|
|
102
|
+
projectId: options.projectId,
|
|
80
103
|
maxReconnectAttempts: options.maxReconnectAttempts
|
|
81
104
|
});
|
|
82
105
|
}
|
|
@@ -98,6 +121,10 @@ export class SDK {
|
|
|
98
121
|
(this as any).ai = new gen.AIApi(this.config);
|
|
99
122
|
(this as any).services = new gen.ServicesApi(this.config);
|
|
100
123
|
(this as any).gateway = new gen.GatewayApi(this.config);
|
|
124
|
+
(this as any).rpc = new AerostackClient({
|
|
125
|
+
baseUrl: this.config.basePath,
|
|
126
|
+
apiKey,
|
|
127
|
+
});
|
|
101
128
|
}
|
|
102
129
|
}
|
|
103
130
|
|