@wavezfm/api 0.1.4 → 0.1.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/README.md CHANGED
@@ -17,10 +17,10 @@ bun add @wavezfm/api
17
17
  ## Quick Start
18
18
 
19
19
  ```ts
20
- import { createApiClient } from '@wavezfm/api';
20
+ import { createApiClient } from "@wavezfm/api";
21
21
 
22
22
  const client = createApiClient({
23
- baseURL: 'https://api.wavezfm.example.com',
23
+ baseURL: "https://api.wavez.fm",
24
24
  });
25
25
 
26
26
  const rooms = await client.room.list();
@@ -31,244 +31,237 @@ console.log(rooms.data);
31
31
 
32
32
  ```ts
33
33
  createApiClient({
34
- baseURL: 'https://api.wavezfm.example.com', // required
35
- timeout: 15_000, // optional, default: 30000
36
- logging: false, // optional
37
- headers: { 'X-App-Version': '1.0.0' }, // optional
38
- credentials: 'include', // optional, default: include
39
- locale: 'en', // optional, default: en
40
- })
34
+ baseURL: "https://api.wavez.fm",
35
+ timeout: 15_000,
36
+ logging: false,
37
+ headers: { "X-App-Version": "1.0.0" },
38
+ credentials: "include",
39
+ locale: "en",
40
+ });
41
41
  ```
42
42
 
43
- The client accepts either:
43
+ The client accepts:
44
44
 
45
- - `https://api.wavezfm.example.com`
46
- - `https://wavezfm.example.com/api`
47
- - `https://wavezfm.example.com`
45
+ - `https://api.wavez.fm`
48
46
 
49
- If you use a dedicated API origin such as `api.wavezfm.example.com`, the SDK keeps root paths like `/rooms`.
47
+ If you use a dedicated API origin such as `api.wavez.fm`, the SDK keeps root paths like `/rooms`.
50
48
  If you pass the main site origin, the SDK still falls back to `/api`.
51
49
 
52
50
  You can localize SDK-generated errors with `locale` or override specific messages with `messages`:
53
51
 
54
52
  ```ts
55
53
  const client = createApiClient({
56
- baseURL: 'https://api.wavezfm.example.com',
57
- locale: 'en',
54
+ baseURL: "https://api.wavez.fm",
55
+ locale: "en",
58
56
  messages: {
59
- roomBotCreatePrefixLengthInvalid: 'Custom prefix length message.',
57
+ roomBotCreatePrefixLengthInvalid: "Custom prefix length message.",
60
58
  },
61
59
  });
62
60
  ```
63
61
 
64
- ## Browser Session Auth
62
+ ## API Surfaces
65
63
 
66
- WavezFM uses session cookies for most user-authenticated routes.
64
+ This SDK exposes three distinct surfaces. They do not authenticate the same way.
67
65
 
68
- ```ts
69
- const client = createApiClient({
70
- baseURL: 'https://wavezfm.example.com/api',
71
- });
66
+ ### Site / Browser API
72
67
 
73
- await client.auth.login({
74
- email: 'user@example.com',
75
- password: 'secret',
76
- });
68
+ Use this for the normal site routes:
77
69
 
78
- const me = await client.auth.me();
79
- if (me.data) {
80
- console.log(me.data.displayUsername ?? me.data.username);
81
- }
82
- ```
70
+ - auth
71
+ - settings
72
+ - users
73
+ - rooms
74
+ - playlists
75
+ - chat
76
+ - billing
77
+ - shop
83
78
 
84
- For server-side Node integrations, room-bot routes are the best fit. Regular user routes rely on the browser session/cookie flow used by the site.
79
+ Auth mode:
85
80
 
86
- ## Room Bots
81
+ - browser session cookies
82
+ - same protections used by the site
87
83
 
88
- ```ts
89
- const client = createApiClient({
90
- baseURL: 'https://wavezfm.example.com/api',
91
- });
84
+ This is also where bot tokens are created with `client.room.createBotToken(...)`.
92
85
 
93
- const created = await client.room.createBotToken('room-id', {
94
- botName: 'Night Shift Bot',
95
- commandPrefix: '!',
96
- permissions: ['read_state', 'read_chat', 'send_chat', 'manage_room'],
97
- });
86
+ ### Room Bot HTTP API
98
87
 
99
- const roomBotToken = created.data.token;
88
+ Use this for backend automation scoped to one room:
100
89
 
101
- // Persist this token in your backend or environment store.
102
- client.api.setRoomBotToken(roomBotToken);
90
+ - room state
91
+ - room event history
92
+ - bot chat send/read
93
+ - queue actions
94
+ - moderation and room management
103
95
 
104
- const state = await client.roomBot.getState('room-id');
105
- console.log(state.data.bot);
106
- ```
96
+ Auth mode:
107
97
 
108
- Important:
98
+ - room bot token with `client.api.setRoomBotToken(...)`
109
99
 
110
- - the plain bot token is returned by `client.room.createBotToken(...)`
111
- - it is only available in that creation response
112
- - store it securely on your backend after creation
113
- - later, load it back with `client.api.setRoomBotToken(...)`
100
+ ### Room Bot Realtime API
114
101
 
115
- ## Realtime Room Bots
102
+ Use this for low-latency bot behavior:
116
103
 
117
- ```ts
118
- import { createRoomBotRealtimeClient } from '@wavezfm/api';
104
+ - chat listeners
105
+ - queue/playback/vote listeners
106
+ - command reactions
119
107
 
120
- const bot = createRoomBotRealtimeClient({
121
- baseURL: 'https://wavezfm.example.com/api',
122
- botToken: process.env.WAVEZ_ROOM_BOT_TOKEN!,
123
- roomId: 'room-id',
124
- locale: 'en',
108
+ Auth mode:
109
+
110
+ - room bot token over WebSocket
111
+
112
+ ## Site / Browser API
113
+
114
+ WavezFM uses session cookies for most user-authenticated routes.
115
+
116
+ ```ts
117
+ const client = createApiClient({
118
+ baseURL: "https://api.wavez.fm",
125
119
  });
126
120
 
127
- bot.on('message_created', (packet) => {
128
- console.log(packet.payload);
121
+ await client.auth.login({
122
+ email: "user@example.com",
123
+ password: "secret",
129
124
  });
130
125
 
131
- await bot.connect();
126
+ const me = await client.auth.me();
127
+ if (me.data) {
128
+ console.log(me.data.displayUsername ?? me.data.username);
129
+ }
132
130
  ```
133
131
 
134
- ## Resources
132
+ For server-side integrations, prefer the room-bot surfaces below. Regular user routes are browser-first.
133
+
134
+ ### Site Resources
135
135
 
136
- All resources are exposed from the pre-configured client:
136
+ All site resources are exposed from the pre-configured client:
137
137
 
138
138
  ```ts
139
- const client = createApiClient({ baseURL: 'https://wavezfm.example.com/api' });
139
+ const client = createApiClient({ baseURL: "https://api.wavez.fm" });
140
140
  ```
141
141
 
142
- ### Auth
142
+ #### Auth
143
143
 
144
144
  ```ts
145
145
  await client.auth.login({ email, password });
146
146
  await client.auth.register({ email, password, name, username });
147
- const me = await client.auth.me(); // returns `null` in `data` when there is no active session
147
+ const me = await client.auth.me();
148
148
  await client.auth.getPendingTwoFactor();
149
149
  await client.auth.sendPendingTwoFactorCode();
150
- await client.auth.verifyPendingTwoFactor({ code: '123456' });
150
+ await client.auth.verifyPendingTwoFactor({ code: "123456" });
151
151
  ```
152
152
 
153
- ### Settings
153
+ #### Settings
154
154
 
155
155
  ```ts
156
156
  await client.settings.get();
157
157
  await client.settings.update({
158
- bio: 'Late-night selector',
159
- presenceStatus: 'busy',
158
+ bio: "Late-night selector",
159
+ presenceStatus: "busy",
160
160
  showChatBadge: true,
161
161
  });
162
162
  await client.settings.getTwoFactor();
163
- await client.settings.startEmailTwoFactor({ password: 'secret' });
164
- await client.settings.startAuthenticatorTwoFactor({ password: 'secret' });
165
- await client.settings.disableTwoFactor({ password: 'secret' });
163
+ await client.settings.startEmailTwoFactor({ password: "secret" });
164
+ await client.settings.startAuthenticatorTwoFactor({ password: "secret" });
165
+ await client.settings.disableTwoFactor({ password: "secret" });
166
166
  ```
167
167
 
168
- ### Users
168
+ #### Users
169
169
 
170
170
  ```ts
171
- await client.user.getById('user-id');
172
- await client.user.getByUsername('haru');
173
- await client.user.getBadges('user-id');
171
+ await client.user.getById("user-id");
172
+ await client.user.getByUsername("haru");
173
+ await client.user.getBadges("user-id");
174
174
  await client.user.listAllBadges();
175
175
  ```
176
176
 
177
- ### Rooms
177
+ #### Rooms
178
178
 
179
179
  ```ts
180
180
  await client.room.list();
181
181
  await client.room.featured();
182
- await client.room.getBySlug('wavezfm-lounge');
183
- await client.room.getWaitlist('wavezfm-lounge');
184
- await client.room.create({ slug: 'my-room', name: 'My Room' });
185
- await client.room.join('wavezfm-lounge');
186
- await client.room.favorite('room-id');
187
- await client.room.getManagement('room-id');
188
- const createdBot = await client.room.createBotToken('room-id', {
189
- botName: 'Night Shift Bot',
190
- commandPrefix: '!',
191
- permissions: ['read_state', 'read_chat', 'send_chat', 'manage_room'],
192
- });
193
-
194
- client.api.setRoomBotToken(createdBot.data.token);
182
+ await client.room.getBySlug("wavezfm-lounge");
183
+ await client.room.getWaitlist("wavezfm-lounge");
184
+ await client.room.create({ slug: "my-room", name: "My Room" });
185
+ await client.room.join("wavezfm-lounge");
186
+ await client.room.favorite("room-id");
187
+ await client.room.getManagement("room-id");
195
188
  ```
196
189
 
197
- ### Playlists
190
+ #### Playlists
198
191
 
199
192
  ```ts
200
193
  await client.playlist.list();
201
- await client.playlist.create('My Playlist');
202
- await client.playlist.update('playlist-id', { name: 'Late Night Set' });
203
- await client.playlist.getTracks('playlist-id');
204
- await client.playlist.previewUrl('https://youtube.com/watch?v=dQw4w9WgXcQ');
205
- await client.playlist.addTrack('playlist-id', {
206
- source: 'youtube',
207
- sourceId: 'dQw4w9WgXcQ',
194
+ await client.playlist.create("My Playlist");
195
+ await client.playlist.update("playlist-id", { name: "Late Night Set" });
196
+ await client.playlist.getTracks("playlist-id");
197
+ await client.playlist.previewUrl("https://youtube.com/watch?v=dQw4w9WgXcQ");
198
+ await client.playlist.addTrack("playlist-id", {
199
+ source: "youtube",
200
+ sourceId: "dQw4w9WgXcQ",
208
201
  });
209
- await client.playlist.reorderTracks('playlist-id', ['track-a', 'track-b']);
202
+ await client.playlist.reorderTracks("playlist-id", ["track-a", "track-b"]);
210
203
  await client.playlist.startSpotifyImport({
211
- playlistId: 'playlist-id',
212
- url: 'https://open.spotify.com/playlist/...',
204
+ playlistId: "playlist-id",
205
+ url: "https://open.spotify.com/playlist/...",
213
206
  });
214
207
  ```
215
208
 
216
- ### Sources
209
+ #### Sources
217
210
 
218
211
  ```ts
219
- await client.source.searchYouTube('lofi hip hop', 10);
220
- await client.source.searchSoundCloud('nightcore', 10);
221
- await client.source.searchAll('ambient');
212
+ await client.source.searchYouTube("lofi hip hop", 10);
213
+ await client.source.searchSoundCloud("nightcore", 10);
214
+ await client.source.searchAll("ambient");
222
215
  ```
223
216
 
224
- ### Chat
217
+ #### Chat
225
218
 
226
219
  ```ts
227
- await client.chat.getMessages('room-id', 0, 50);
228
- await client.chat.getMessagesBySlug('wavezfm-lounge', 0, 50);
229
- await client.chat.updateMessage('room-id', 'message-id', {
230
- content: 'edited message',
220
+ await client.chat.getMessages("room-id", 0, 50);
221
+ await client.chat.getMessagesBySlug("wavezfm-lounge", 0, 50);
222
+ await client.chat.updateMessage("room-id", "message-id", {
223
+ content: "edited message",
231
224
  });
232
- await client.chat.pinMessage('room-id', 'message-id');
233
- await client.chat.clearChat('room-id');
225
+ await client.chat.pinMessage("room-id", "message-id");
226
+ await client.chat.clearChat("room-id");
234
227
  ```
235
228
 
236
- ### Friends / Fans
229
+ #### Friends / Fans
237
230
 
238
231
  ```ts
239
232
  await client.friend.list();
240
233
  await client.friend.pending();
241
- await client.friend.sendRequest('user-id');
242
- await client.friend.acceptRequest('request-id');
243
- await client.friend.follow('user-id');
234
+ await client.friend.sendRequest("user-id");
235
+ await client.friend.acceptRequest("request-id");
236
+ await client.friend.follow("user-id");
244
237
  await client.friend.followers();
245
238
  ```
246
239
 
247
- ### Shop
240
+ #### Shop
248
241
 
249
242
  ```ts
250
243
  await client.shop.getCatalog();
251
244
  await client.shop.getWallet();
252
- await client.shop.purchase({ itemId: 'badge-id' });
253
- await client.shop.equip('avatar-id');
245
+ await client.shop.purchase({ itemId: "badge-id" });
246
+ await client.shop.equip("avatar-id");
254
247
  await client.shop.getInventory();
255
248
  ```
256
249
 
257
- ### Billing
250
+ #### Billing
258
251
 
259
252
  ```ts
260
- await client.billing.createSubscriptionCheckout({ cycle: 'monthly' });
253
+ await client.billing.createSubscriptionCheckout({ cycle: "monthly" });
261
254
  await client.billing.createDiamondCheckout({ quantity: 1000 });
262
- await client.billing.createRoomDonationCheckout('room-id', { amountCents: 500 });
255
+ await client.billing.createRoomDonationCheckout("room-id", { amountCents: 500 });
263
256
  await client.billing.createGlobalDonationCheckout({ amountCents: 1000 });
264
257
  await client.billing.createDiamondGiftCheckout({
265
- recipientUsername: 'haru',
258
+ recipientUsername: "haru",
266
259
  quantity: 500,
267
260
  });
268
261
  await client.billing.listPendingGifts();
269
262
  ```
270
263
 
271
- ### System
264
+ #### System
272
265
 
273
266
  ```ts
274
267
  await client.system.status();
@@ -276,32 +269,122 @@ await client.system.publicStats();
276
269
  await client.system.health();
277
270
  ```
278
271
 
279
- ### Room Bots
272
+ ## Room Bot HTTP API
273
+
274
+ Room bot tokens are created from the site/session surface, then used on the bot surface.
275
+
276
+ ```ts
277
+ const client = createApiClient({
278
+ baseURL: "https://api.wavez.fm",
279
+ });
280
+
281
+ const created = await client.room.createBotToken("room-id", {
282
+ botName: "Night Shift Bot",
283
+ commandPrefix: "!",
284
+ permissions: ["read_state", "read_chat", "send_chat", "manage_room"],
285
+ });
286
+
287
+ const roomBotToken = created.data.token;
288
+
289
+ // Store this in your backend or environment store.
290
+ client.api.setRoomBotToken(roomBotToken);
291
+ ```
292
+
293
+ Important:
294
+
295
+ - the plain bot token is returned by `client.room.createBotToken(...)`
296
+ - it is only available in that creation response
297
+ - store it securely on your backend after creation
298
+ - later, load it back with `client.api.setRoomBotToken(...)`
299
+
300
+ ### Bot Resources
280
301
 
281
302
  ```ts
282
303
  client.api.setRoomBotToken(process.env.WAVEZ_ROOM_BOT_TOKEN!);
283
304
 
284
- await client.roomBot.getState('room-id');
285
- await client.roomBot.getMessages('room-id');
286
- await client.roomBot.sendMessage('room-id', { content: '!lockqueue' });
287
- await client.roomBot.updateSettings('room-id', {
305
+ await client.roomBot.getState("room-id");
306
+ await client.roomBot.getQueueStatus("room-id");
307
+ await client.roomBot.getMessages("room-id");
308
+ await client.roomBot.getEvents("room-id", {
309
+ limit: 25,
310
+ types: ["user_joined", "waitlist_join", "left"],
311
+ });
312
+ await client.roomBot.addToQueue("room-id", "user-id");
313
+ await client.roomBot.sendMessage("room-id", {
314
+ content: "!lockqueue",
315
+ });
316
+ await client.roomBot.updateSettings("room-id", {
288
317
  queueLocked: true,
289
318
  commandAnnouncement: {
290
- commandId: 'lockqueue',
291
- actorUsername: 'Night Shift Bot',
319
+ commandId: "lockqueue",
320
+ actorUsername: "Night Shift Bot",
292
321
  },
293
322
  });
294
323
  ```
295
324
 
325
+ `roomBot.getEvents()` is the normalized HTTP history surface.
326
+
327
+ Returned `event` values:
328
+
329
+ - `user_joined`
330
+ - `waitlist_join`
331
+ - `left`
332
+
333
+ Accepted filter aliases in `types` for backward compatibility:
334
+
335
+ - `queue_joined` -> `waitlist_join`
336
+ - `user_left` -> `left`
337
+
338
+ ## Room Bot Realtime API
339
+
340
+ ```ts
341
+ import {
342
+ createRoomBotRealtimeClient,
343
+ formatMentionText,
344
+ } from "@wavezfm/api";
345
+
346
+ const bot = createRoomBotRealtimeClient({
347
+ baseURL: "https://api.wavez.fm",
348
+ botToken: process.env.WAVEZ_ROOM_BOT_TOKEN!,
349
+ roomId: "room-id",
350
+ locale: "en",
351
+ autoReconnect: true,
352
+ });
353
+
354
+ bot.on("message_created", (packet) => {
355
+ console.log(packet.payload);
356
+ });
357
+
358
+ bot.on("queue_joined", (packet) => {
359
+ console.log(packet.payload);
360
+ });
361
+
362
+ await bot.connect();
363
+ bot.sendChat({
364
+ content: `${formatMentionText("Agente MIB")} estou em modo AFK agora.`,
365
+ });
366
+ ```
367
+
368
+ The realtime helper automatically retries abnormal disconnects such as WebSocket close code `1006` by default. Fatal closes like revoked or invalid auth are not retried.
369
+
370
+ Important:
371
+
372
+ - realtime packet names are the raw WebSocket event names
373
+ - examples: `message_created`, `user_left`, `queue_joined`, `track_started`
374
+ - they are not normalized to the HTTP history names
375
+
296
376
  ## Error Handling
297
377
 
298
378
  All methods throw `ApiError` on failure.
299
379
 
300
380
  ```ts
301
- import { ApiError } from '@wavezfm/api';
381
+ import { ApiError } from "@wavezfm/api";
302
382
 
303
383
  try {
304
- await client.auth.login({ email: 'bad@example.com', password: 'bad' });
384
+ await client.auth.login({
385
+ email: "bad@example.com",
386
+ password: "bad",
387
+ });
305
388
  } catch (error) {
306
389
  if (error instanceof ApiError) {
307
390
  console.log(error.message);
@@ -315,9 +398,9 @@ try {
315
398
  ## Token Management
316
399
 
317
400
  ```ts
318
- const client = createApiClient({ baseURL: 'https://wavezfm.example.com/api' });
401
+ const client = createApiClient({ baseURL: "https://api.wavez.fm" });
319
402
 
320
- client.api.setAuthToken('optional-bearer-token');
403
+ client.api.setAuthToken("optional-bearer-token");
321
404
  client.api.setRoomBotToken(process.env.WAVEZ_ROOM_BOT_TOKEN!);
322
405
 
323
406
  client.api.getAuthToken();
@@ -329,11 +412,11 @@ client.api.getRoomBotToken();
329
412
  For maximum tree-shaking, import only what you need:
330
413
 
331
414
  ```ts
332
- import { createApi } from '@wavezfm/api';
333
- import { createRoomResource } from '@wavezfm/api/resources/room';
334
- import { createRoomBotResource } from '@wavezfm/api/resources/room-bot';
415
+ import { createApi } from "@wavezfm/api";
416
+ import { createRoomResource } from "@wavezfm/api/resources/room";
417
+ import { createRoomBotResource } from "@wavezfm/api/resources/room-bot";
335
418
 
336
- const api = createApi({ baseURL: 'https://wavezfm.example.com/api' });
419
+ const api = createApi({ baseURL: "https://api.wavez.fm" });
337
420
  const room = createRoomResource(api);
338
421
  const roomBot = createRoomBotResource(api);
339
422
  ```
@@ -348,13 +431,16 @@ import type {
348
431
  MediaSearchResult,
349
432
  ChatMessage,
350
433
  RoomBotState,
434
+ RoomPresenceEventType,
435
+ RoomPresenceEventFilterType,
351
436
  WsPacket,
352
- } from '@wavezfm/api';
437
+ } from "@wavezfm/api";
353
438
  ```
354
439
 
355
440
  ## Notes
356
441
 
357
- - user/session routes are browser-first because the backend uses cookies and same-origin protections
358
- - room-bot routes are ideal for backend integrations and automation
442
+ - site/session routes are browser-first because the backend uses cookies and same-origin protections
443
+ - room-bot HTTP routes are backend-first and scoped to one room
444
+ - room-bot realtime uses raw WebSocket packet names
359
445
  - the package is tree-shakable through factory exports in `resources/*`
360
446
  - the realtime helper expects native `WebSocket` or a custom `websocketFactory`
package/dist/core/i18n.js CHANGED
@@ -1,6 +1,6 @@
1
- const DEFAULT_LOCALE = "en";
1
+ const DEFAULT_LOCALE = "en-US";
2
2
  const DEFAULT_MESSAGES = {
3
- en: {
3
+ "en-US": {
4
4
  fetchUnavailable: "Fetch API is unavailable. Provide `fetch` to createApi(...) or use a runtime with native fetch.",
5
5
  baseUrlRequired: "`baseURL` is required to create the client.",
6
6
  requestTimedOut: "Request timed out.",
@@ -84,8 +84,8 @@ function interpolateMessage(template, values) {
84
84
  }
85
85
  export function createSdkMessageFormatter(locale = DEFAULT_LOCALE, overrides = {}) {
86
86
  const dictionary = {
87
- ...DEFAULT_MESSAGES.en,
88
- ...(DEFAULT_MESSAGES[locale] ?? DEFAULT_MESSAGES.en),
87
+ ...DEFAULT_MESSAGES["en-US"],
88
+ ...(DEFAULT_MESSAGES[locale] ?? DEFAULT_MESSAGES["en-US"]),
89
89
  ...overrides,
90
90
  };
91
91
  return (key, values) => interpolateMessage(dictionary[key], values);
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,8 +13,9 @@ export { createBillingResource } from "./resources/billing.js";
13
13
  export { createSystemResource } from "./resources/system.js";
14
14
  export { createRoomBotResource } from "./resources/roomBot.js";
15
15
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
16
+ export { formatMentionText } from "./utils/chat.js";
16
17
  export { createRoomBotRealtimeClient } from "./realtime/roomBot.js";
17
- export type { ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatMessage, CheckoutSessionResponse, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, MediaSearchResult, PlaylistSummary, PlaylistTrack, RoomBotPermission, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomBotMessageReplyInput, RoomBotRealtimeClient, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotState, RoomBotToken, RoomSummary, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, SystemDonationGoal, SystemPublicStats, SystemStatus, TwoFactorStatus, UserSettings, UserProfile, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
18
+ export type { ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatMessage, CheckoutSessionResponse, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, MediaSearchResult, PlaylistSummary, PlaylistTrack, RoomBotPermission, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomBotMessageReplyInput, RoomBotEventsResponse, RoomPresenceEventFilterType, RoomBotQueueAddResponse, RoomBotRealtimeClient, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotState, RoomBotToken, RoomPresenceEvent, RoomPresenceEventType, RoomSummary, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, SystemDonationGoal, SystemPublicStats, SystemStatus, TwoFactorStatus, UserSettings, UserProfile, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
18
19
  import type { ApiClientConfig } from "./types.js";
19
20
  export declare function createApiClient(config: ApiClientConfig): {
20
21
  api: import("./core/api.js").WavezApi;
@@ -348,7 +349,13 @@ export declare function createApiClient(config: ApiClientConfig): {
348
349
  history: boolean;
349
350
  messages: unknown[];
350
351
  }>>;
352
+ getEvents(roomId: string, options?: {
353
+ limit?: number;
354
+ since?: string | null;
355
+ types?: import("./types.js").RoomPresenceEventFilterType[];
356
+ }): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotEventsResponse>>;
351
357
  sendMessage(roomId: string, input: import("./types.js").RoomBotSendMessageInput): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
358
+ addToQueue(roomId: string, userId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotQueueAddResponse>>;
352
359
  deleteMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<import("./types.js").ApiSuccessResponse<{
353
360
  success: true;
354
361
  }>>;
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ export { createBillingResource } from "./resources/billing.js";
13
13
  export { createSystemResource } from "./resources/system.js";
14
14
  export { createRoomBotResource } from "./resources/roomBot.js";
15
15
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
16
+ export { formatMentionText } from "./utils/chat.js";
16
17
  export { createRoomBotRealtimeClient } from "./realtime/roomBot.js";
17
18
  import { createApi } from "./core/api.js";
18
19
  import { createAuthResource } from "./resources/auth.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAoDpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO;QACH,GAAG;QACH,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC;QACrC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC;QACrC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACnC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACtC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAyDpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO;QACH,GAAG;QACH,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC;QACrC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC;QACrC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACnC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACtC,CAAC;AACN,CAAC"}
@@ -1,4 +1,19 @@
1
1
  import { createSdkMessageFormatter } from "../core/i18n.js";
2
+ const ROOM_BOT_NON_RECONNECTABLE_CLOSE_CODES = new Set([
3
+ 1002,
4
+ 1003,
5
+ 1007,
6
+ 1008,
7
+ 1009,
8
+ 4401,
9
+ 4403,
10
+ 4404,
11
+ 4408,
12
+ 4410,
13
+ ]);
14
+ const DEFAULT_RECONNECT_DELAY_MS = 1_500;
15
+ const DEFAULT_RECONNECT_MAX_DELAY_MS = 12_000;
16
+ const RECONNECT_BACKOFF_FACTOR = 1.8;
2
17
  function createRequestId() {
3
18
  return `req_${Date.now().toString(36)}_${Math.random()
4
19
  .toString(36)
@@ -7,6 +22,24 @@ function createRequestId() {
7
22
  function createTimestamp() {
8
23
  return new Date().toISOString();
9
24
  }
25
+ function getCloseCode(event) {
26
+ if (event &&
27
+ typeof event === "object" &&
28
+ "code" in event &&
29
+ typeof event.code === "number") {
30
+ return event.code;
31
+ }
32
+ return null;
33
+ }
34
+ function getCloseReason(event) {
35
+ if (event &&
36
+ typeof event === "object" &&
37
+ "reason" in event &&
38
+ typeof event.reason === "string") {
39
+ return event.reason;
40
+ }
41
+ return "";
42
+ }
10
43
  function normalizeWsBaseURL(baseURL) {
11
44
  const url = new URL(baseURL);
12
45
  url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
@@ -50,6 +83,10 @@ export function createRoomBotRealtimeClient(options) {
50
83
  wsUrl.searchParams.set("botToken", options.botToken);
51
84
  let socket = null;
52
85
  let detachListeners = [];
86
+ let reconnectTimeout = null;
87
+ let reconnectAttempt = 0;
88
+ let manualDisconnect = false;
89
+ let connectPromise = null;
53
90
  const emit = (event, packet) => {
54
91
  const handlers = listeners.get(event);
55
92
  if (!handlers || handlers.size === 0) {
@@ -76,14 +113,57 @@ export function createRoomBotRealtimeClient(options) {
76
113
  }
77
114
  socket.send(JSON.stringify(packet));
78
115
  };
79
- const disconnect = (code, reason) => {
116
+ const clearReconnectTimeout = () => {
117
+ if (reconnectTimeout === null) {
118
+ return;
119
+ }
120
+ clearTimeout(reconnectTimeout);
121
+ reconnectTimeout = null;
122
+ };
123
+ const cleanupSocket = (targetSocket) => {
124
+ if (targetSocket && socket && targetSocket !== socket) {
125
+ return;
126
+ }
80
127
  for (const detach of detachListeners) {
81
128
  detach();
82
129
  }
83
130
  detachListeners = [];
84
- socket?.close(code, reason);
85
131
  socket = null;
86
132
  };
133
+ const shouldReconnect = (closeCode) => (options.autoReconnect ?? true) &&
134
+ !manualDisconnect &&
135
+ !ROOM_BOT_NON_RECONNECTABLE_CLOSE_CODES.has(closeCode ?? -1);
136
+ const scheduleReconnect = (closeCode, closeReason) => {
137
+ if (!shouldReconnect(closeCode) || reconnectTimeout !== null) {
138
+ return;
139
+ }
140
+ const delayMs = Math.min(options.reconnectMaxDelayMs ?? DEFAULT_RECONNECT_MAX_DELAY_MS, Math.round((options.reconnectDelayMs ?? DEFAULT_RECONNECT_DELAY_MS) *
141
+ Math.pow(RECONNECT_BACKOFF_FACTOR, reconnectAttempt)));
142
+ reconnectAttempt += 1;
143
+ if (options.logging) {
144
+ console.warn("[WavezFM Room Bot WS] reconnect scheduled", {
145
+ closeCode,
146
+ closeReason,
147
+ delayMs,
148
+ reconnectAttempt,
149
+ });
150
+ }
151
+ reconnectTimeout = setTimeout(() => {
152
+ reconnectTimeout = null;
153
+ void connect().catch((error) => {
154
+ if (options.logging) {
155
+ console.error("[WavezFM Room Bot WS] reconnect failed", error);
156
+ }
157
+ });
158
+ }, delayMs);
159
+ };
160
+ const disconnect = (code, reason) => {
161
+ manualDisconnect = true;
162
+ clearReconnectTimeout();
163
+ const activeSocket = socket;
164
+ cleanupSocket(activeSocket);
165
+ activeSocket?.close(code, reason);
166
+ };
87
167
  const handleMessage = (event) => {
88
168
  const rawData = event &&
89
169
  typeof event === "object" &&
@@ -114,58 +194,96 @@ export function createRoomBotRealtimeClient(options) {
114
194
  sendPacket("join_room", { roomId: options.roomId }, "join_room");
115
195
  }
116
196
  };
117
- return {
118
- async connect() {
119
- if (socket && socket.readyState === 1) {
197
+ const connect = async () => {
198
+ if (socket && socket.readyState === 1) {
199
+ return;
200
+ }
201
+ if (connectPromise) {
202
+ return connectPromise;
203
+ }
204
+ manualDisconnect = false;
205
+ clearReconnectTimeout();
206
+ if (socket) {
207
+ const activeSocket = socket;
208
+ cleanupSocket(activeSocket);
209
+ activeSocket.close();
210
+ }
211
+ const nextSocket = socketFactory(wsUrl.toString(), options.protocols);
212
+ socket = nextSocket;
213
+ connectPromise = new Promise((resolve, reject) => {
214
+ if (!nextSocket) {
215
+ reject(new Error(formatMessage("roomBotWebsocketCreateFailed")));
120
216
  return;
121
217
  }
122
- if (socket) {
123
- disconnect();
124
- }
125
- socket = socketFactory(wsUrl.toString(), options.protocols);
126
- await new Promise((resolve, reject) => {
127
- if (!socket) {
128
- reject(new Error(formatMessage("roomBotWebsocketCreateFailed")));
218
+ let settled = false;
219
+ const finishResolve = () => {
220
+ if (settled) {
129
221
  return;
130
222
  }
131
- const openHandler = (event) => {
132
- emit("open", {
133
- type: "ack",
134
- event: "open",
135
- version: "v1",
136
- timestamp: createTimestamp(),
137
- payload: { event },
138
- });
139
- resolve();
140
- };
141
- const errorHandler = (event) => {
142
- emit("socket_error", {
143
- type: "error",
144
- event: "socket_error",
145
- version: "v1",
146
- timestamp: createTimestamp(),
147
- payload: { event },
148
- });
149
- reject(event instanceof Error
223
+ settled = true;
224
+ reconnectAttempt = 0;
225
+ resolve();
226
+ };
227
+ const finishReject = (error) => {
228
+ if (settled) {
229
+ return;
230
+ }
231
+ settled = true;
232
+ reject(error);
233
+ };
234
+ const openHandler = (event) => {
235
+ emit("open", {
236
+ type: "ack",
237
+ event: "open",
238
+ version: "v1",
239
+ timestamp: createTimestamp(),
240
+ payload: { event },
241
+ });
242
+ finishResolve();
243
+ };
244
+ const errorHandler = (event) => {
245
+ emit("socket_error", {
246
+ type: "error",
247
+ event: "socket_error",
248
+ version: "v1",
249
+ timestamp: createTimestamp(),
250
+ payload: { event },
251
+ });
252
+ if (!settled) {
253
+ finishReject(event instanceof Error
150
254
  ? event
151
255
  : new Error(formatMessage("roomBotWebsocketConnectFailed")));
152
- };
153
- detachListeners = [
154
- addSocketListener(socket, "open", openHandler, formatMessage),
155
- addSocketListener(socket, "message", handleMessage, formatMessage),
156
- addSocketListener(socket, "close", (event) => {
157
- emit("close", {
158
- type: "event",
159
- event: "close",
160
- version: "v1",
161
- timestamp: createTimestamp(),
162
- payload: { event },
163
- });
164
- }, formatMessage),
165
- addSocketListener(socket, "error", errorHandler, formatMessage),
166
- ];
167
- });
168
- },
256
+ }
257
+ };
258
+ const closeHandler = (event) => {
259
+ const closeCode = getCloseCode(event);
260
+ const closeReason = getCloseReason(event);
261
+ emit("close", {
262
+ type: "event",
263
+ event: "close",
264
+ version: "v1",
265
+ timestamp: createTimestamp(),
266
+ payload: { event },
267
+ });
268
+ cleanupSocket(nextSocket);
269
+ scheduleReconnect(closeCode, closeReason);
270
+ if (!settled) {
271
+ finishReject(new Error(formatMessage("roomBotWebsocketConnectFailed")));
272
+ }
273
+ };
274
+ detachListeners = [
275
+ addSocketListener(nextSocket, "open", openHandler, formatMessage),
276
+ addSocketListener(nextSocket, "message", handleMessage, formatMessage),
277
+ addSocketListener(nextSocket, "close", closeHandler, formatMessage),
278
+ addSocketListener(nextSocket, "error", errorHandler, formatMessage),
279
+ ];
280
+ }).finally(() => {
281
+ connectPromise = null;
282
+ });
283
+ return connectPromise;
284
+ };
285
+ return {
286
+ connect,
169
287
  disconnect,
170
288
  send(event, payload, requestId = createRequestId()) {
171
289
  sendPacket(event, (payload ?? {}), requestId);
@@ -1 +1 @@
1
- {"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/realtime/roomBot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/realtime/roomBot.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ApiLike, ApiSuccessResponse, RoomQueueSnapshot, RoomBotSendMessageInput, RoomBotState } from "../types.js";
1
+ import type { ApiLike, ApiSuccessResponse, RoomBotEventsResponse, RoomBotQueueAddResponse, RoomQueueSnapshot, RoomBotSendMessageInput, RoomPresenceEventFilterType, RoomBotState } from "../types.js";
2
2
  export declare function createRoomBotResource(api: ApiLike): {
3
3
  getState(roomId: string): Promise<ApiSuccessResponse<RoomBotState>>;
4
4
  getQueueStatus(roomId: string, options?: {
@@ -10,7 +10,13 @@ export declare function createRoomBotResource(api: ApiLike): {
10
10
  history: boolean;
11
11
  messages: unknown[];
12
12
  }>>;
13
+ getEvents(roomId: string, options?: {
14
+ limit?: number;
15
+ since?: string | null;
16
+ types?: RoomPresenceEventFilterType[];
17
+ }): Promise<ApiSuccessResponse<RoomBotEventsResponse>>;
13
18
  sendMessage(roomId: string, input: RoomBotSendMessageInput): Promise<ApiSuccessResponse<Record<string, unknown>>>;
19
+ addToQueue(roomId: string, userId: string): Promise<ApiSuccessResponse<RoomBotQueueAddResponse>>;
14
20
  deleteMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<ApiSuccessResponse<{
15
21
  success: true;
16
22
  }>>;
@@ -23,9 +23,28 @@ export function createRoomBotResource(api) {
23
23
  },
24
24
  });
25
25
  },
26
+ getEvents(roomId, options) {
27
+ const query = {};
28
+ if (typeof options?.limit === "number" && Number.isFinite(options.limit)) {
29
+ query.limit = Math.max(1, Math.floor(options.limit));
30
+ }
31
+ if (typeof options?.since === "string" && options.since.trim().length > 0) {
32
+ query.since = options.since.trim();
33
+ }
34
+ if (Array.isArray(options?.types) && options.types.length > 0) {
35
+ query.types = Array.from(new Set(options.types)).join(",");
36
+ }
37
+ return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/events`, {
38
+ authMode: "room-bot",
39
+ query: Object.keys(query).length > 0 ? query : undefined,
40
+ });
41
+ },
26
42
  sendMessage(roomId, input) {
27
43
  return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/messages`, input, { authMode: "room-bot" });
28
44
  },
45
+ addToQueue(roomId, userId) {
46
+ return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/queue`, { userId }, { authMode: "room-bot" });
47
+ },
29
48
  deleteMessage(roomId, messageId, message) {
30
49
  return api.delete(`/bot/rooms/${encodeURIComponent(roomId)}/messages/${encodeURIComponent(messageId)}`, {
31
50
  authMode: "room-bot",
@@ -1 +1 @@
1
- {"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/resources/roomBot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roomBot.js","sourceRoot":"","sources":["../../src/resources/roomBot.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@ export type ApiQuery = Record<string, ApiQueryValue>;
4
4
  export type AuthMode = "session" | "auth-token" | "room-bot" | "none";
5
5
  export type ApiParseMode = "json" | "text" | "void";
6
6
  export type FetchImplementation = typeof fetch;
7
- export type WavezApiLocale = "en" | "pt-BR";
7
+ export type WavezApiLocale = "en-US" | "pt-BR";
8
8
  export type WavezApiMessageKey = "fetchUnavailable" | "baseUrlRequired" | "requestTimedOut" | "roomPermissionManageRoom" | "roomNotFound" | "roomBotInvalid" | "roomBotScopeMismatch" | "roomBotOwnerMissing" | "roomBotOwnerBanned" | "roomBotPermissionDenied" | "roomBotForbidden" | "roomBotTokenRequired" | "roomBotMuted" | "roomBotWebsocketFactoryRequired" | "roomBotWebsocketListenerUnsupported" | "roomBotWebsocketNotConnected" | "roomBotWebsocketCreateFailed" | "roomBotWebsocketConnectFailed" | "roomBotCreateNameLengthInvalid" | "roomBotCreateAvatarUrlInvalid" | "roomBotCreateAvatarUrlDirectImageRequired" | "roomBotCreatePermissionsArrayRequired" | "roomBotCreatePermissionInvalid" | "roomBotCreatePermissionRequired" | "roomBotCreatePrefixLengthInvalid" | "roomBotCreatePrefixWhitespaceInvalid" | "roomBotCreateExpiryNumberInvalid" | "roomBotCreateExpiryRangeInvalid";
9
9
  export type WavezApiMessageValues = Record<string, string | number | boolean | null | undefined>;
10
10
  export type WavezApiMessages = Partial<Record<WavezApiMessageKey, string>>;
@@ -171,7 +171,6 @@ export interface RoomQueuePlayback {
171
171
  artist?: string | null;
172
172
  currentDjId?: string | null;
173
173
  currentDjUsername?: string | null;
174
- paused: boolean;
175
174
  durationSeconds: number | null;
176
175
  remainingSeconds: number | null;
177
176
  [key: string]: unknown;
@@ -324,6 +323,11 @@ export interface RoomBotState {
324
323
  roomId: string;
325
324
  actorUserId: string;
326
325
  roomRole?: string;
326
+ actorPlatformRole?: string | null;
327
+ actorPlatformRoles?: string[];
328
+ actorCustomGlobalRoles?: Array<Record<string, unknown>>;
329
+ actorGlobalPermissions?: Record<string, unknown>;
330
+ actorIsPlatformSuperuser?: boolean;
327
331
  name: string;
328
332
  avatarUrl?: string | null;
329
333
  commandPrefix: string;
@@ -335,6 +339,26 @@ export interface RoomBotState {
335
339
  snapshot: Record<string, unknown>;
336
340
  customEmojis: unknown[];
337
341
  }
342
+ export type RoomPresenceEventType = "user_joined" | "left" | "waitlist_join";
343
+ export type RoomPresenceEventFilterType = RoomPresenceEventType | "user_left" | "queue_joined";
344
+ export interface RoomPresenceEvent {
345
+ id: string;
346
+ roomId: string;
347
+ event: RoomPresenceEventType;
348
+ occurredAt: string;
349
+ payload: Record<string, unknown>;
350
+ }
351
+ export interface RoomBotEventsResponse {
352
+ bot: RoomBotState["bot"];
353
+ events: RoomPresenceEvent[];
354
+ }
355
+ export interface RoomBotQueueAddResponse {
356
+ bot: RoomBotState["bot"];
357
+ queue: string[];
358
+ alreadyQueued: boolean;
359
+ targetUserId: string;
360
+ publicPosition: number | null;
361
+ }
338
362
  export interface RoomBotMessageReplyInput {
339
363
  id: string;
340
364
  }
@@ -420,6 +444,9 @@ export interface RoomBotRealtimeOptions {
420
444
  botToken: string;
421
445
  roomId: string;
422
446
  autoJoinRoom?: boolean;
447
+ autoReconnect?: boolean;
448
+ reconnectDelayMs?: number;
449
+ reconnectMaxDelayMs?: number;
423
450
  logging?: boolean;
424
451
  protocols?: string | string[];
425
452
  locale?: WavezApiLocale;
@@ -0,0 +1 @@
1
+ export declare function formatMentionText(value: string): string;
@@ -0,0 +1,14 @@
1
+ function escapeMentionName(value) {
2
+ return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
3
+ }
4
+ export function formatMentionText(value) {
5
+ const mentionName = value.trim().replace(/\s+/g, " ");
6
+ if (!mentionName) {
7
+ return "@";
8
+ }
9
+ if (/[\s"\\]/.test(mentionName)) {
10
+ return `@"${escapeMentionName(mentionName)}"`;
11
+ }
12
+ return `@${mentionName}`;
13
+ }
14
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,SAAS,iBAAiB,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,WAAW,EAAE,CAAC;AAC7B,CAAC"}
@@ -107,7 +107,6 @@ function normalizePlayback(source) {
107
107
  : typeof source.djUsername === "string"
108
108
  ? source.djUsername
109
109
  : null,
110
- paused: readBoolean(source.paused),
111
110
  durationSeconds,
112
111
  remainingSeconds,
113
112
  };
@@ -124,13 +123,9 @@ function deriveRemainingPlaybackSeconds(playback) {
124
123
  if (durationMs === null || durationMs <= 0) {
125
124
  return null;
126
125
  }
127
- const paused = readBoolean(playback.paused);
128
- const pauseOffsetMs = Math.max(0, readNumber(playback.pauseOffsetMs) ?? 0);
129
126
  const serverTimeMs = readNumber(playback.serverTimeMs) ?? Date.now();
130
127
  const startedAtServerMs = readNumber(playback.startedAtServerMs) ?? serverTimeMs;
131
- const elapsedMs = paused
132
- ? pauseOffsetMs
133
- : Math.max(0, serverTimeMs - startedAtServerMs);
128
+ const elapsedMs = Math.max(0, serverTimeMs - startedAtServerMs);
134
129
  return Math.max(0, Math.floor((durationMs - elapsedMs) / 1000));
135
130
  }
136
131
  function deriveViewerFromEntries(entries, currentDj, sourceViewer, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"roomQueue.js","sourceRoot":"","sources":["../../src/utils/roomQueue.ts"],"names":[],"mappings":"AAQA,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC9C,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK;IACjD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAA+B,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK;SACP,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAc,CAAC;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAA4B,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB;IACrC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CACvB,MAAsC,EACtC,kBAA0B;IAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAE5D,OAAO;QACH,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,EAAE,EAAE,kBAAkB,CAAC;QAC5E,QAAQ;QACR,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,UAAU,CACnB,MAAM,EAAE,WAAW,IAAI,MAAM,EAAE,QAAQ,EACvC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CACnD;QACD,MAAM,EACF,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,IAAI;QACd,QAAQ,EACJ,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,IAAI;QACd,IAAI,EACA,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,IAAI;QACd,YAAY,EACR,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ;YACpC,CAAC,CAAC,MAAM,CAAC,YAAY;YACrB,CAAC,CAAC,IAAI;QACd,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;QAChC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC;QACjD,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC;KAChC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsC;IAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GACjB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;QAClC,CAAC,GAAG,EAAE;YACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE7D,OAAO;QACH,OAAO,EACH,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAC9B,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,IAAI;QACd,MAAM,EACF,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,IAAI;QACd,QAAQ,EACJ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,IAAI;QACd,KAAK,EACD,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAC5B,CAAC,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,IAAI;QACd,MAAM,EACF,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,IAAI;QACd,WAAW,EACP,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YAClC,CAAC,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC/B,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,IAAI;QAChB,iBAAiB,EACb,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;YACxC,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;gBACrC,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAC,IAAI;QAChB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,eAAe;QACf,gBAAgB;KACnB,CAAC;AACN,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAwC;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,wBAAwB,GAAG,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvE,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACrE,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,YAAY,CAAC;IACjF,MAAM,SAAS,GAAG,MAAM;QACpB,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,uBAAuB,CAC5B,OAAyB,EACzB,SAA+B,EAC/B,YAA4C,EAC5C,OAGC;IAED,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,oBAAoB,GAAG,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO;YACH,UAAU,EACN,OAAO,YAAY,CAAC,UAAU,KAAK,QAAQ;gBACvC,CAAC,CAAC,YAAY,CAAC,UAAU;gBACzB,CAAC,CAAC,IAAI;YACd,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC5C,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC;YAClD,KAAK;YACL,QAAQ;YACR,oBAAoB;YACpB,oBAAoB,EAChB,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC;gBAC7C,SAAS,CAAC,oBAAoB,CAAC;SACtC,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GACP,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,IAAI,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CACH,OAAO,EAAE,cAAc,KAAK,IAAI;YAChC,OAAO,EAAE,cAAc,KAAK,SAAS;YACrC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,cAAc,CAC5C,CAAC;IACN,CAAC,CAAC,IAAI,IAAI,CAAC;IAEf,IAAI,KAAK,EAAE,CAAC;QACR,OAAO;YACH,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;YAChC,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;YAChD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;SACnD,CAAC;IACN,CAAC;IAED,IACI,SAAS;QACT,CAAC,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC;YACrE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI;gBAC7B,OAAO,EAAE,cAAc,KAAK,SAAS;gBACrC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,EACzD,CAAC;QACC,OAAO;YACH,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;YACpC,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,CAAC;YACvB,oBAAoB,EAAE,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC7B,OAAgC,EAChC,OAGC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC;QACnE,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEpE,OAAO;YACH,GAAG,cAAc;YACjB,KAAK,EAAE,eAAe;YACtB,QAAQ;YACR,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3C,oBAAoB;YACpB,oBAAoB,EAChB,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC;gBACtC,SAAS,CAAC,oBAAoB,CAAC;YACnC,oBAAoB;SACE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,mBAAmB,GACrB,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,YAAY,GACd,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC;QACvC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,0BAA0B,GAC5B,yBAAyB,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,uBAAuB,CAClC,OAAO,EACP,mBAAmB,EACnB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EACxB,OAAO,CACV,CAAC;IAEF,OAAO;QACH,MAAM,EACF,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI;QACd,QAAQ,EACJ,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAChC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,IAAI;QAChB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM;QAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,YAAY,EAAE,WAAW,CACrB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,aAAa,CAChD;QACD,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,YAAY;QACZ,WAAW,EACP,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;YACtC,CAAC,CAAC,YAAY;QACtB,SAAS,EAAE,mBAAmB;QAC9B,MAAM;QACN,QAAQ;QACR,0BAA0B;KAC7B,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CACjC,OAAgC,EAChC,OAGC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC7B,aAAa;SACR,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAU,CAAC;SACtD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/C,CAAC;IACF,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,QAAQ;QAC/B,CAAC,CAAC;YACI,GAAG,QAAQ;YACX,gBAAgB,EACZ,QAAQ,CAAC,gBAAgB;gBACzB,8BAA8B,CAAC,cAAc,CAAC;SACrD;QACH,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,WAAW,GACb,QAAQ,EAAE,WAAW;QACrB,CAAC,OAAO,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,SAAS,GACX,WAAW,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7C,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC;QAC7E,CAAC,CAAC,WAAW;YACX,CAAC,CAAC;gBACI,UAAU,EAAE,WAAW;gBACvB,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,IAAI;gBACR,QAAQ,EACJ,OAAO,QAAQ,EAAE,iBAAiB,KAAK,QAAQ;oBAC3C,CAAC,CAAC,QAAQ,CAAC,iBAAiB;oBAC5B,CAAC,CAAC,WAAW;gBACrB,WAAW,EACP,OAAO,QAAQ,EAAE,iBAAiB,KAAK,QAAQ;oBAC3C,CAAC,CAAC,QAAQ,CAAC,iBAAiB;oBAC5B,CAAC,CAAC,WAAW;gBACrB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,KAAK;gBACpB,GAAG,EAAE,KAAK;aACb;YACH,CAAC,CAAC,IAAI,CAAC;IACjB,MAAM,0BAA0B,GAAG,yBAAyB,CACxD,CAAC,GAAG,EAAE;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClE,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAChE,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;gBACvD,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CACvC,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC,CAAC,EAAE,CACP,CAAC;IACF,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,IAAI,kBAAkB,GAAG,mBAAmB,CAAC;IAE7C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAC3B,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EACrC,MAAM,CACT,CAAC;QACF,MAAM,WAAW,GAAG,WAAW,KAAK,MAAM,CAAC;QAC3C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAClE,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAExE,IAAI,CAAC,WAAW,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAChD,kBAAkB,IAAI,oBAAoB,CAAC;QAC/C,CAAC;QAED,OAAO;YACH,GAAG,IAAI;YACP,KAAK;YACL,QAAQ,EAAE,KAAK,GAAG,CAAC;YACnB,WAAW;YACX,oBAAoB;YACpB,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,CAAC;YACrD,oBAAoB;SACE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,MAAM,EACF,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAC9B,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI;QACd,QAAQ,EACJ,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAChC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChC,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,IAAI;QAChB,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;QAC1D,YAAY,EAAE,WAAW,CACrB,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAChD;QACD,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,YAAY;QACZ,WAAW,EAAE,YAAY;QACzB,SAAS;QACT,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;QAClE,QAAQ,EAAE,kBAAkB;QAC5B,0BAA0B;KAC7B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,KAAc,EACd,OAGC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,OAAO,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"roomQueue.js","sourceRoot":"","sources":["../../src/utils/roomQueue.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavezfm/api",
3
- "version": "0.1.4",
3
+ "version": "0.1.7",
4
4
  "description": "Official JavaScript/TypeScript API client for WavezFM.",
5
5
  "type": "module",
6
6
  "license": "MIT",