@aerostack/sdk-node 0.8.3 → 0.8.5

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.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/dist/commonjs/__tests__/realtime.test.d.ts +2 -0
  3. package/dist/commonjs/__tests__/realtime.test.d.ts.map +1 -0
  4. package/dist/commonjs/__tests__/realtime.test.js +364 -0
  5. package/dist/commonjs/__tests__/realtime.test.js.map +1 -0
  6. package/dist/commonjs/__tests__/sdk.test.d.ts +2 -0
  7. package/dist/commonjs/__tests__/sdk.test.d.ts.map +1 -0
  8. package/dist/commonjs/__tests__/sdk.test.js +356 -0
  9. package/dist/commonjs/__tests__/sdk.test.js.map +1 -0
  10. package/dist/commonjs/_generated/runtime.d.ts.map +1 -1
  11. package/dist/commonjs/_generated/runtime.js +1 -1
  12. package/dist/commonjs/_generated/runtime.js.map +1 -1
  13. package/dist/commonjs/realtime.d.ts +2 -0
  14. package/dist/commonjs/realtime.d.ts.map +1 -1
  15. package/dist/commonjs/realtime.js +19 -5
  16. package/dist/commonjs/realtime.js.map +1 -1
  17. package/dist/commonjs/sdk.js +1 -1
  18. package/dist/commonjs/sdk.js.map +1 -1
  19. package/dist/esm/__tests__/realtime.test.d.ts +2 -0
  20. package/dist/esm/__tests__/realtime.test.d.ts.map +1 -0
  21. package/dist/esm/__tests__/realtime.test.js +362 -0
  22. package/dist/esm/__tests__/realtime.test.js.map +1 -0
  23. package/dist/esm/__tests__/sdk.test.d.ts +2 -0
  24. package/dist/esm/__tests__/sdk.test.d.ts.map +1 -0
  25. package/dist/esm/__tests__/sdk.test.js +354 -0
  26. package/dist/esm/__tests__/sdk.test.js.map +1 -0
  27. package/dist/esm/_generated/runtime.d.ts.map +1 -1
  28. package/dist/esm/_generated/runtime.js +1 -1
  29. package/dist/esm/_generated/runtime.js.map +1 -1
  30. package/dist/esm/realtime.d.ts +2 -0
  31. package/dist/esm/realtime.d.ts.map +1 -1
  32. package/dist/esm/realtime.js +19 -5
  33. package/dist/esm/realtime.js.map +1 -1
  34. package/dist/esm/sdk.js +1 -1
  35. package/dist/esm/sdk.js.map +1 -1
  36. package/examples/e2e/__tests__/e2e.test.ts +118 -0
  37. package/examples/e2e/package.json +15 -0
  38. package/examples/e2e/vitest.config.ts +8 -0
  39. package/package.json +2 -2
  40. package/src/__tests__/realtime.test.ts +430 -0
  41. package/src/__tests__/sdk.test.ts +412 -0
  42. package/src/_generated/runtime.ts +1 -1
  43. package/src/realtime.ts +17 -3
  44. package/src/sdk.ts +1 -1
package/README.md CHANGED
@@ -432,7 +432,7 @@ You can override the default server globally by passing a server index to the `s
432
432
 
433
433
  | # | Server | Description |
434
434
  | --- | ----------------------------- | ----------------- |
435
- | 0 | `https://api.aerocall.ai/v1` | Production |
435
+ | 0 | `https://api.aerostack.dev/v1` | Production |
436
436
  | 1 | `http://localhost:8787/v1` | Local Development |
437
437
 
438
438
  #### Example
@@ -594,7 +594,7 @@ export default {
594
594
  // HTTP API client (for Auth, etc.)
595
595
  const client = new NodeSDK({
596
596
  apiKeyAuth: env.AEROSTACK_API_KEY,
597
- serverURL: 'https://api.aerocall.ai/v1'
597
+ serverURL: 'https://api.aerostack.dev/v1'
598
598
  });
599
599
 
600
600
  // Use both together
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=realtime.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/realtime.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const realtime_js_1 = require("../realtime.js");
5
+ // ─── Mock WebSocket ───────────────────────────────────────────
6
+ class MockWebSocket {
7
+ constructor(url) {
8
+ this.readyState = MockWebSocket.OPEN;
9
+ this.onopen = null;
10
+ this.onmessage = null;
11
+ this.onclose = null;
12
+ this.onerror = null;
13
+ this.sent = [];
14
+ this.url = url;
15
+ setTimeout(() => this.onopen?.(), 0);
16
+ }
17
+ send(data) {
18
+ this.sent.push(JSON.parse(data));
19
+ }
20
+ close() {
21
+ this.readyState = MockWebSocket.CLOSED;
22
+ setTimeout(() => this.onclose?.(), 0);
23
+ }
24
+ }
25
+ MockWebSocket.OPEN = 1;
26
+ MockWebSocket.CLOSED = 3;
27
+ (0, vitest_1.beforeEach)(() => {
28
+ vitest_1.vi.stubGlobal('WebSocket', MockWebSocket);
29
+ vitest_1.vi.stubGlobal('fetch', vitest_1.vi.fn());
30
+ vitest_1.vi.useFakeTimers();
31
+ });
32
+ (0, vitest_1.afterEach)(() => {
33
+ vitest_1.vi.restoreAllMocks();
34
+ vitest_1.vi.useRealTimers();
35
+ });
36
+ // ─── RealtimeSubscription ─────────────────────────────────────
37
+ (0, vitest_1.describe)('RealtimeSubscription', () => {
38
+ function createSub() {
39
+ const client = new realtime_js_1.NodeRealtimeClient({
40
+ serverUrl: 'https://api.test.com/v1',
41
+ projectId: 'proj-1',
42
+ });
43
+ const sub = client.channel('users');
44
+ return { client, sub };
45
+ }
46
+ (0, vitest_1.it)('should register and fire callbacks', () => {
47
+ const { sub } = createSub();
48
+ const cb = vitest_1.vi.fn();
49
+ sub.on('INSERT', cb);
50
+ sub._emit({
51
+ type: 'db_change',
52
+ topic: sub.topic,
53
+ operation: 'INSERT',
54
+ data: { id: 1 },
55
+ });
56
+ (0, vitest_1.expect)(cb).toHaveBeenCalledOnce();
57
+ });
58
+ (0, vitest_1.it)('should support wildcard listener', () => {
59
+ const { sub } = createSub();
60
+ const cb = vitest_1.vi.fn();
61
+ sub.on('*', cb);
62
+ sub._emit({
63
+ type: 'db_change',
64
+ topic: sub.topic,
65
+ operation: 'DELETE',
66
+ data: { id: 1 },
67
+ });
68
+ (0, vitest_1.expect)(cb).toHaveBeenCalledOnce();
69
+ });
70
+ (0, vitest_1.it)('should support custom event names', () => {
71
+ const { sub } = createSub();
72
+ const cb = vitest_1.vi.fn();
73
+ sub.on('player-moved', cb);
74
+ sub._emit({
75
+ type: 'event',
76
+ topic: sub.topic,
77
+ event: 'player-moved',
78
+ data: { x: 10 },
79
+ });
80
+ (0, vitest_1.expect)(cb).toHaveBeenCalledOnce();
81
+ });
82
+ (0, vitest_1.it)('should remove callbacks with off()', () => {
83
+ const { sub } = createSub();
84
+ const cb = vitest_1.vi.fn();
85
+ sub.on('INSERT', cb);
86
+ sub.off('INSERT', cb);
87
+ sub._emit({
88
+ type: 'db_change',
89
+ topic: sub.topic,
90
+ operation: 'INSERT',
91
+ data: {},
92
+ });
93
+ (0, vitest_1.expect)(cb).not.toHaveBeenCalled();
94
+ });
95
+ (0, vitest_1.it)('should be chainable', () => {
96
+ const { sub } = createSub();
97
+ const result = sub.on('INSERT', vitest_1.vi.fn()).on('UPDATE', vitest_1.vi.fn());
98
+ (0, vitest_1.expect)(result).toBe(sub);
99
+ });
100
+ (0, vitest_1.it)('should track isSubscribed state', () => {
101
+ const { sub } = createSub();
102
+ (0, vitest_1.expect)(sub.isSubscribed).toBe(false);
103
+ sub.subscribe();
104
+ (0, vitest_1.expect)(sub.isSubscribed).toBe(true);
105
+ sub.unsubscribe();
106
+ (0, vitest_1.expect)(sub.isSubscribed).toBe(false);
107
+ });
108
+ (0, vitest_1.it)('should not send duplicate subscribe', () => {
109
+ const { sub } = createSub();
110
+ sub.subscribe();
111
+ sub.subscribe(); // Should be no-op
112
+ (0, vitest_1.expect)(sub.isSubscribed).toBe(true);
113
+ });
114
+ (0, vitest_1.it)('should clear callbacks on unsubscribe', () => {
115
+ const { sub } = createSub();
116
+ const cb = vitest_1.vi.fn();
117
+ sub.on('INSERT', cb);
118
+ sub.subscribe();
119
+ sub.unsubscribe();
120
+ sub._emit({
121
+ type: 'db_change',
122
+ topic: sub.topic,
123
+ operation: 'INSERT',
124
+ data: {},
125
+ });
126
+ (0, vitest_1.expect)(cb).not.toHaveBeenCalled();
127
+ });
128
+ (0, vitest_1.it)('should publish events', () => {
129
+ const { sub } = createSub();
130
+ sub.publish('custom-event', { key: 'value' }, { persist: true });
131
+ // Should not throw
132
+ });
133
+ (0, vitest_1.it)('should track presence', () => {
134
+ const { sub } = createSub();
135
+ sub.track({ online: true });
136
+ sub.untrack();
137
+ // Should not throw
138
+ });
139
+ (0, vitest_1.it)('should fetch history', async () => {
140
+ const mockFetch = vitest_1.vi.fn().mockResolvedValue({
141
+ json: async () => ({ messages: [{ id: '1' }] }),
142
+ });
143
+ vitest_1.vi.stubGlobal('fetch', mockFetch);
144
+ const { sub } = createSub();
145
+ const history = await sub.getHistory(10);
146
+ (0, vitest_1.expect)(history).toEqual([{ id: '1' }]);
147
+ });
148
+ });
149
+ // ─── NodeRealtimeClient ───────────────────────────────────────
150
+ (0, vitest_1.describe)('NodeRealtimeClient', () => {
151
+ (0, vitest_1.describe)('constructor', () => {
152
+ (0, vitest_1.it)('should convert https to wss URL', () => {
153
+ const client = new realtime_js_1.NodeRealtimeClient({
154
+ serverUrl: 'https://api.test.com/v1',
155
+ projectId: 'proj-1',
156
+ });
157
+ (0, vitest_1.expect)(client.status).toBe('idle');
158
+ });
159
+ (0, vitest_1.it)('should start as idle', () => {
160
+ const client = new realtime_js_1.NodeRealtimeClient({
161
+ serverUrl: 'https://api.test.com/v1',
162
+ projectId: 'proj-1',
163
+ });
164
+ (0, vitest_1.expect)(client.status).toBe('idle');
165
+ (0, vitest_1.expect)(client.connected).toBe(false);
166
+ });
167
+ });
168
+ (0, vitest_1.describe)('connect', () => {
169
+ (0, vitest_1.it)('should connect and set status to connected', async () => {
170
+ const client = new realtime_js_1.NodeRealtimeClient({
171
+ serverUrl: 'https://api.test.com/v1',
172
+ projectId: 'proj-1',
173
+ });
174
+ const connectPromise = client.connect();
175
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
176
+ await connectPromise;
177
+ (0, vitest_1.expect)(client.status).toBe('connected');
178
+ (0, vitest_1.expect)(client.connected).toBe(true);
179
+ });
180
+ (0, vitest_1.it)('should pass apiKey in URL query params', async () => {
181
+ const client = new realtime_js_1.NodeRealtimeClient({
182
+ serverUrl: 'https://api.test.com/v1',
183
+ projectId: 'proj-1',
184
+ apiKey: 'my-key',
185
+ token: 'my-token',
186
+ });
187
+ const connectPromise = client.connect();
188
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
189
+ await connectPromise;
190
+ (0, vitest_1.expect)(client.status).toBe('connected');
191
+ });
192
+ (0, vitest_1.it)('should not create duplicate connections', async () => {
193
+ const client = new realtime_js_1.NodeRealtimeClient({
194
+ serverUrl: 'https://api.test.com/v1',
195
+ projectId: 'proj-1',
196
+ });
197
+ const p1 = client.connect();
198
+ const p2 = client.connect();
199
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
200
+ await Promise.all([p1, p2]);
201
+ (0, vitest_1.expect)(client.status).toBe('connected');
202
+ });
203
+ });
204
+ (0, vitest_1.describe)('disconnect', () => {
205
+ (0, vitest_1.it)('should disconnect and set status', async () => {
206
+ const client = new realtime_js_1.NodeRealtimeClient({
207
+ serverUrl: 'https://api.test.com/v1',
208
+ projectId: 'proj-1',
209
+ });
210
+ const connectPromise = client.connect();
211
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
212
+ await connectPromise;
213
+ client.disconnect();
214
+ (0, vitest_1.expect)(client.status).toBe('disconnected');
215
+ });
216
+ (0, vitest_1.it)('should be safe when not connected', () => {
217
+ const client = new realtime_js_1.NodeRealtimeClient({
218
+ serverUrl: 'https://api.test.com/v1',
219
+ projectId: 'proj-1',
220
+ });
221
+ client.disconnect();
222
+ (0, vitest_1.expect)(client.status).toBe('disconnected');
223
+ });
224
+ });
225
+ (0, vitest_1.describe)('channel', () => {
226
+ (0, vitest_1.it)('should qualify topic with projectId', () => {
227
+ const client = new realtime_js_1.NodeRealtimeClient({
228
+ serverUrl: 'https://api.test.com/v1',
229
+ projectId: 'proj-1',
230
+ });
231
+ const sub = client.channel('users');
232
+ (0, vitest_1.expect)(sub.topic).toBe('table/users/proj-1');
233
+ });
234
+ (0, vitest_1.it)('should append projectId to topic with path', () => {
235
+ const client = new realtime_js_1.NodeRealtimeClient({
236
+ serverUrl: 'https://api.test.com/v1',
237
+ projectId: 'proj-1',
238
+ });
239
+ const sub = client.channel('table/orders');
240
+ (0, vitest_1.expect)(sub.topic).toBe('table/orders/proj-1');
241
+ });
242
+ (0, vitest_1.it)('should not double-qualify topics', () => {
243
+ const client = new realtime_js_1.NodeRealtimeClient({
244
+ serverUrl: 'https://api.test.com/v1',
245
+ projectId: 'proj-1',
246
+ });
247
+ const sub = client.channel('table/users/proj-1');
248
+ (0, vitest_1.expect)(sub.topic).toBe('table/users/proj-1');
249
+ });
250
+ (0, vitest_1.it)('should reuse subscriptions for same topic', () => {
251
+ const client = new realtime_js_1.NodeRealtimeClient({
252
+ serverUrl: 'https://api.test.com/v1',
253
+ projectId: 'proj-1',
254
+ });
255
+ const sub1 = client.channel('users');
256
+ const sub2 = client.channel('users');
257
+ (0, vitest_1.expect)(sub1).toBe(sub2);
258
+ });
259
+ });
260
+ (0, vitest_1.describe)('status listeners', () => {
261
+ (0, vitest_1.it)('should notify status change listeners', async () => {
262
+ const client = new realtime_js_1.NodeRealtimeClient({
263
+ serverUrl: 'https://api.test.com/v1',
264
+ projectId: 'proj-1',
265
+ });
266
+ const statuses = [];
267
+ client.onStatusChange((s) => statuses.push(s));
268
+ const connectPromise = client.connect();
269
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
270
+ await connectPromise;
271
+ (0, vitest_1.expect)(statuses).toContain('connecting');
272
+ (0, vitest_1.expect)(statuses).toContain('connected');
273
+ });
274
+ (0, vitest_1.it)('should allow unsubscribing', () => {
275
+ const client = new realtime_js_1.NodeRealtimeClient({
276
+ serverUrl: 'https://api.test.com/v1',
277
+ projectId: 'proj-1',
278
+ });
279
+ const cb = vitest_1.vi.fn();
280
+ const unsub = client.onStatusChange(cb);
281
+ unsub();
282
+ client.disconnect();
283
+ (0, vitest_1.expect)(cb).not.toHaveBeenCalled();
284
+ });
285
+ });
286
+ (0, vitest_1.describe)('setToken', () => {
287
+ (0, vitest_1.it)('should send auth message', async () => {
288
+ const client = new realtime_js_1.NodeRealtimeClient({
289
+ serverUrl: 'https://api.test.com/v1',
290
+ projectId: 'proj-1',
291
+ });
292
+ const connectPromise = client.connect();
293
+ await vitest_1.vi.advanceTimersByTimeAsync(10);
294
+ await connectPromise;
295
+ client.setToken('new-token');
296
+ });
297
+ });
298
+ (0, vitest_1.describe)('sendChat', () => {
299
+ (0, vitest_1.it)('should send chat message', () => {
300
+ const client = new realtime_js_1.NodeRealtimeClient({
301
+ serverUrl: 'https://api.test.com/v1',
302
+ projectId: 'proj-1',
303
+ });
304
+ client.sendChat('room-1', 'Hello!');
305
+ // Message queued since not connected
306
+ });
307
+ });
308
+ (0, vitest_1.describe)('_generateId', () => {
309
+ (0, vitest_1.it)('should return unique strings', () => {
310
+ const client = new realtime_js_1.NodeRealtimeClient({
311
+ serverUrl: 'https://api.test.com/v1',
312
+ projectId: 'proj-1',
313
+ });
314
+ const ids = new Set(Array.from({ length: 50 }, () => client._generateId()));
315
+ (0, vitest_1.expect)(ids.size).toBe(50);
316
+ });
317
+ });
318
+ (0, vitest_1.describe)('_fetchHistory', () => {
319
+ (0, vitest_1.it)('should fetch from REST API with auth headers', async () => {
320
+ const mockFetch = vitest_1.vi.fn().mockResolvedValue({
321
+ json: async () => ({ messages: [{ id: '1' }] }),
322
+ });
323
+ vitest_1.vi.stubGlobal('fetch', mockFetch);
324
+ const client = new realtime_js_1.NodeRealtimeClient({
325
+ serverUrl: 'https://api.test.com/v1',
326
+ projectId: 'proj-1',
327
+ apiKey: 'my-key',
328
+ token: 'my-token',
329
+ });
330
+ const result = await client._fetchHistory('room/test', 25, 9999);
331
+ (0, vitest_1.expect)(result).toEqual([{ id: '1' }]);
332
+ const url = new URL(mockFetch.mock.calls[0][0]);
333
+ (0, vitest_1.expect)(url.pathname).toBe('/api/v1/public/realtime/history');
334
+ (0, vitest_1.expect)(url.searchParams.get('room')).toBe('room/test');
335
+ (0, vitest_1.expect)(url.searchParams.get('limit')).toBe('25');
336
+ (0, vitest_1.expect)(url.searchParams.get('before')).toBe('9999');
337
+ const headers = mockFetch.mock.calls[0][1].headers;
338
+ (0, vitest_1.expect)(headers['X-Aerostack-Key']).toBe('my-key');
339
+ (0, vitest_1.expect)(headers['Authorization']).toBe('Bearer my-token');
340
+ });
341
+ });
342
+ (0, vitest_1.describe)('maxReconnectAttempts', () => {
343
+ (0, vitest_1.it)('should accept maxReconnectAttempts option', () => {
344
+ const client = new realtime_js_1.NodeRealtimeClient({
345
+ serverUrl: 'https://api.test.com/v1',
346
+ projectId: 'proj-1',
347
+ maxReconnectAttempts: 3,
348
+ });
349
+ (0, vitest_1.expect)(client.status).toBe('idle');
350
+ });
351
+ (0, vitest_1.it)('should allow onMaxRetriesExceeded listener', () => {
352
+ const client = new realtime_js_1.NodeRealtimeClient({
353
+ serverUrl: 'https://api.test.com/v1',
354
+ projectId: 'proj-1',
355
+ maxReconnectAttempts: 0,
356
+ });
357
+ const cb = vitest_1.vi.fn();
358
+ const unsub = client.onMaxRetriesExceeded(cb);
359
+ (0, vitest_1.expect)(typeof unsub).toBe('function');
360
+ unsub();
361
+ });
362
+ });
363
+ });
364
+ //# sourceMappingURL=realtime.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.test.js","sourceRoot":"","sources":["../../../src/__tests__/realtime.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sdk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/sdk.test.ts"],"names":[],"mappings":""}