@wavezfm/api 0.1.2 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
- import { ApiError } from "../core/ApiError";
1
+ import { ApiError } from "../core/ApiError.js";
2
+ import { parseRoomQueueSnapshot } from "../utils/roomQueue.js";
2
3
  const DIRECT_HTTP_IMAGE_REGEX = /\.(?:png|jpe?g|gif|webp|avif|apng)(?:\?[^#\s]*)?(?:#[^\s]*)?$/i;
3
4
  const ROOM_BOT_PERMISSION_SET = new Set([
4
5
  "read_state",
@@ -91,6 +92,16 @@ export function createRoomResource(api) {
91
92
  getWaitlist(slug) {
92
93
  return api.get(`/rooms/${encodeURIComponent(slug)}/waitlist`, { authMode: "none" });
93
94
  },
95
+ async getQueueStatus(slug, options) {
96
+ const response = await api.get(`/rooms/${encodeURIComponent(slug)}/waitlist`, { authMode: options?.authMode ?? "none" });
97
+ return {
98
+ ...response,
99
+ data: parseRoomQueueSnapshot(response.data, {
100
+ viewerUserId: options?.viewerUserId ?? null,
101
+ viewerPublicId: options?.viewerPublicId ?? null,
102
+ }),
103
+ };
104
+ },
94
105
  create(input) {
95
106
  return api.post("/rooms", input);
96
107
  },
@@ -1 +1 @@
1
- {"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,53 @@
1
- import type { ApiLike, RoomBotState } from "../types";
1
+ import type { ApiLike, ApiSuccessResponse, RoomBotEventsResponse, RoomBotQueueAddResponse, RoomQueueSnapshot, RoomBotSendMessageInput, RoomPresenceEventType, RoomBotState } from "../types.js";
2
2
  export declare function createRoomBotResource(api: ApiLike): {
3
- getState(roomId: string): Promise<import("..").ApiSuccessResponse<RoomBotState>>;
4
- getMessages(roomId: string, limit?: number, offset?: number): Promise<import("..").ApiSuccessResponse<{
3
+ getState(roomId: string): Promise<ApiSuccessResponse<RoomBotState>>;
4
+ getQueueStatus(roomId: string, options?: {
5
+ viewerUserId?: string | null;
6
+ viewerPublicId?: number | null;
7
+ }): Promise<ApiSuccessResponse<RoomQueueSnapshot>>;
8
+ getMessages(roomId: string, limit?: number, offset?: number): Promise<ApiSuccessResponse<{
5
9
  bot: Record<string, unknown>;
6
10
  history: boolean;
7
11
  messages: unknown[];
8
12
  }>>;
9
- sendMessage(roomId: string, input: {
10
- content: string;
11
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
12
- deleteMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<import("..").ApiSuccessResponse<{
13
+ getEvents(roomId: string, options?: {
14
+ limit?: number;
15
+ since?: string | null;
16
+ types?: RoomPresenceEventType[];
17
+ }): Promise<ApiSuccessResponse<RoomBotEventsResponse>>;
18
+ sendMessage(roomId: string, input: RoomBotSendMessageInput): Promise<ApiSuccessResponse<Record<string, unknown>>>;
19
+ addToQueue(roomId: string, userId: string): Promise<ApiSuccessResponse<RoomBotQueueAddResponse>>;
20
+ deleteMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<ApiSuccessResponse<{
13
21
  success: true;
14
22
  }>>;
15
- pinMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<import("..").ApiSuccessResponse<{
23
+ pinMessage(roomId: string, messageId: string, message?: Record<string, unknown>): Promise<ApiSuccessResponse<{
16
24
  success: true;
17
25
  }>>;
18
- clearPinnedMessage(roomId: string): Promise<import("..").ApiSuccessResponse<{
26
+ clearPinnedMessage(roomId: string): Promise<ApiSuccessResponse<{
19
27
  success: true;
20
28
  }>>;
21
- clearChat(roomId: string): Promise<import("..").ApiSuccessResponse<{
29
+ clearChat(roomId: string): Promise<ApiSuccessResponse<{
22
30
  success: true;
23
31
  }>>;
24
- getManagement(roomId: string): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
25
- listEmojis(roomId: string): Promise<import("..").ApiSuccessResponse<unknown[]>>;
26
- listAuditLogs(roomId: string, limit?: number): Promise<import("..").ApiSuccessResponse<{
32
+ getManagement(roomId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
33
+ listEmojis(roomId: string): Promise<ApiSuccessResponse<unknown[]>>;
34
+ listAuditLogs(roomId: string, limit?: number): Promise<ApiSuccessResponse<{
27
35
  logs: unknown[];
28
36
  }>>;
29
- updateSettings(roomId: string, input: Record<string, unknown>): Promise<import("..").ApiSuccessResponse<{
37
+ updateSettings(roomId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<{
30
38
  room: Record<string, unknown>;
31
39
  }>>;
32
40
  updateLinkFilters(roomId: string, input: {
33
41
  blockAllLinks: boolean;
34
42
  blockedLinkPatterns: string[];
35
43
  commandAnnouncement?: Record<string, unknown>;
36
- }): Promise<import("..").ApiSuccessResponse<{
44
+ }): Promise<ApiSuccessResponse<{
37
45
  room: Record<string, unknown>;
38
46
  }>>;
39
- setRole(roomId: string, userId: string, role: string): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
40
- setQueueAccess(roomId: string, userId: string, blocked: boolean): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
41
- unban(roomId: string, userId: string): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
42
- createEmoji(roomId: string, input: Record<string, unknown>): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
43
- updateEmoji(roomId: string, emojiId: string, input: Record<string, unknown>): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
44
- deleteEmoji(roomId: string, emojiId: string): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
47
+ setRole(roomId: string, userId: string, role: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
48
+ setQueueAccess(roomId: string, userId: string, blocked: boolean): Promise<ApiSuccessResponse<Record<string, unknown>>>;
49
+ unban(roomId: string, userId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
50
+ createEmoji(roomId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<Record<string, unknown>>>;
51
+ updateEmoji(roomId: string, emojiId: string, input: Record<string, unknown>): Promise<ApiSuccessResponse<Record<string, unknown>>>;
52
+ deleteEmoji(roomId: string, emojiId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
45
53
  };
@@ -1,8 +1,19 @@
1
+ import { parseRoomQueueSnapshot } from "../utils/roomQueue.js";
1
2
  export function createRoomBotResource(api) {
2
3
  return {
3
4
  getState(roomId) {
4
5
  return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/state`, { authMode: "room-bot" });
5
6
  },
7
+ async getQueueStatus(roomId, options) {
8
+ const response = await api.get(`/bot/rooms/${encodeURIComponent(roomId)}/state`, { authMode: "room-bot" });
9
+ return {
10
+ ...response,
11
+ data: parseRoomQueueSnapshot(response.data.snapshot, {
12
+ viewerUserId: options?.viewerUserId ?? response.data.bot.actorUserId ?? null,
13
+ viewerPublicId: options?.viewerPublicId ?? null,
14
+ }),
15
+ };
16
+ },
6
17
  getMessages(roomId, limit = 50, offset = 0) {
7
18
  return api.get(`/bot/rooms/${encodeURIComponent(roomId)}/messages`, {
8
19
  authMode: "room-bot",
@@ -12,9 +23,28 @@ export function createRoomBotResource(api) {
12
23
  },
13
24
  });
14
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
+ },
15
42
  sendMessage(roomId, input) {
16
43
  return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/messages`, input, { authMode: "room-bot" });
17
44
  },
45
+ addToQueue(roomId, userId) {
46
+ return api.post(`/bot/rooms/${encodeURIComponent(roomId)}/queue`, { userId }, { authMode: "room-bot" });
47
+ },
18
48
  deleteMessage(roomId, messageId, message) {
19
49
  return api.delete(`/bot/rooms/${encodeURIComponent(roomId)}/messages/${encodeURIComponent(messageId)}`, {
20
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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"}
@@ -1,6 +1,6 @@
1
- import type { ApiLike, TwoFactorStatus, UserSettings } from "../types";
1
+ import type { ApiLike, TwoFactorStatus, UserSettings } from "../types.js";
2
2
  export declare function createSettingsResource(api: ApiLike): {
3
- get(): Promise<import("..").ApiSuccessResponse<UserSettings>>;
3
+ get(): Promise<import("../types.js").ApiSuccessResponse<UserSettings>>;
4
4
  update(input: {
5
5
  bio?: string;
6
6
  timeFormat?: "12h" | "24h";
@@ -9,35 +9,35 @@ export declare function createSettingsResource(api: ApiLike): {
9
9
  presenceStatus?: "online" | "busy" | "away";
10
10
  selectedBadgeIds?: string[];
11
11
  showChatBadge?: boolean;
12
- }): Promise<import("..").ApiSuccessResponse<UserSettings>>;
13
- getTwoFactor(): Promise<import("..").ApiSuccessResponse<TwoFactorStatus>>;
12
+ }): Promise<import("../types.js").ApiSuccessResponse<UserSettings>>;
13
+ getTwoFactor(): Promise<import("../types.js").ApiSuccessResponse<TwoFactorStatus>>;
14
14
  sendPhoneVerification(input: {
15
15
  phoneNumber: string;
16
16
  password: string;
17
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
17
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
18
18
  verifyPhoneNumber(input: {
19
19
  phoneNumber: string;
20
20
  otp: string;
21
21
  password: string;
22
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
22
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
23
23
  startEmailTwoFactor(input: {
24
24
  password: string;
25
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
25
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
26
26
  startSmsTwoFactor(input: {
27
27
  password: string;
28
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
28
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
29
29
  verifyOtpTwoFactor(input: {
30
30
  code: string;
31
31
  password: string;
32
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
32
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
33
33
  startAuthenticatorTwoFactor(input: {
34
34
  password: string;
35
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
35
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
36
36
  verifyAuthenticatorTwoFactor(input: {
37
37
  code: string;
38
38
  password: string;
39
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
39
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
40
40
  disableTwoFactor(input: {
41
41
  password: string;
42
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
42
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
43
43
  };
@@ -1,11 +1,11 @@
1
- import type { ApiLike, InventoryResponse, StoreCatalogResponse, WalletBalance } from "../types";
1
+ import type { ApiLike, InventoryResponse, StoreCatalogResponse, WalletBalance } from "../types.js";
2
2
  export declare function createShopResource(api: ApiLike): {
3
- getCatalog(): Promise<import("..").ApiSuccessResponse<StoreCatalogResponse>>;
4
- getWallet(): Promise<import("..").ApiSuccessResponse<WalletBalance>>;
3
+ getCatalog(): Promise<import("../types.js").ApiSuccessResponse<StoreCatalogResponse>>;
4
+ getWallet(): Promise<import("../types.js").ApiSuccessResponse<WalletBalance>>;
5
5
  purchase(input: {
6
6
  itemId: string;
7
7
  idempotencyKey?: string;
8
- }): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
9
- equip(itemId: string): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
10
- getInventory(): Promise<import("..").ApiSuccessResponse<InventoryResponse>>;
8
+ }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
9
+ equip(itemId: string): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
10
+ getInventory(): Promise<import("../types.js").ApiSuccessResponse<InventoryResponse>>;
11
11
  };
@@ -1,8 +1,8 @@
1
- import type { ApiLike, MediaSearchResult } from "../types";
1
+ import type { ApiLike, MediaSearchResult } from "../types.js";
2
2
  export declare function createSourceResource(api: ApiLike): {
3
- search(source: string, query: string, limit?: number): Promise<import("..").ApiSuccessResponse<MediaSearchResult[]>>;
4
- searchYouTube(query: string, limit?: number): Promise<import("..").ApiSuccessResponse<MediaSearchResult[]>>;
5
- searchSoundCloud(query: string, limit?: number): Promise<import("..").ApiSuccessResponse<MediaSearchResult[]>>;
3
+ search(source: string, query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
4
+ searchYouTube(query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
5
+ searchSoundCloud(query: string, limit?: number): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResult[]>>;
6
6
  searchAll(query: string, limit?: number): Promise<{
7
7
  data: {
8
8
  youtube: MediaSearchResult[];
@@ -1,6 +1,6 @@
1
- import type { ApiLike, SystemPublicStats, SystemStatus } from "../types";
1
+ import type { ApiLike, SystemPublicStats, SystemStatus } from "../types.js";
2
2
  export declare function createSystemResource(api: ApiLike): {
3
- status(): Promise<import("..").ApiSuccessResponse<SystemStatus>>;
4
- publicStats(): Promise<import("..").ApiSuccessResponse<SystemPublicStats>>;
5
- health(): Promise<import("..").ApiSuccessResponse<Record<string, unknown>>>;
3
+ status(): Promise<import("../types.js").ApiSuccessResponse<SystemStatus>>;
4
+ publicStats(): Promise<import("../types.js").ApiSuccessResponse<SystemPublicStats>>;
5
+ health(): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
6
6
  };
@@ -1,7 +1,7 @@
1
- import type { ApiLike, BadgeAssignment, UserProfile } from "../types";
1
+ import type { ApiLike, BadgeAssignment, UserProfile } from "../types.js";
2
2
  export declare function createUserResource(api: ApiLike): {
3
- getById(userId: string): Promise<import("..").ApiSuccessResponse<UserProfile>>;
4
- getByUsername(username: string): Promise<import("..").ApiSuccessResponse<UserProfile>>;
5
- getBadges(userId: string): Promise<import("..").ApiSuccessResponse<BadgeAssignment[]>>;
6
- listAllBadges(): Promise<import("..").ApiSuccessResponse<BadgeAssignment[]>>;
3
+ getById(userId: string): Promise<import("../types.js").ApiSuccessResponse<UserProfile>>;
4
+ getByUsername(username: string): Promise<import("../types.js").ApiSuccessResponse<UserProfile>>;
5
+ getBadges(userId: string): Promise<import("../types.js").ApiSuccessResponse<BadgeAssignment[]>>;
6
+ listAllBadges(): Promise<import("../types.js").ApiSuccessResponse<BadgeAssignment[]>>;
7
7
  };
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>>;
@@ -129,6 +129,73 @@ export interface RoomSummary {
129
129
  } | null;
130
130
  [key: string]: unknown;
131
131
  }
132
+ export interface RoomQueueUser {
133
+ internalId: string;
134
+ publicId?: number | null;
135
+ id?: number | null;
136
+ username: string;
137
+ displayName: string;
138
+ avatar?: string | null;
139
+ avatarId?: string | null;
140
+ role?: string | null;
141
+ platformRole?: string | null;
142
+ level?: number | null;
143
+ infiniteLevel?: boolean;
144
+ bot?: boolean;
145
+ [key: string]: unknown;
146
+ }
147
+ export interface RoomQueueEntry extends RoomQueueUser {
148
+ index: number;
149
+ position: number;
150
+ isCurrentDj: boolean;
151
+ estimatedWaitSeconds: number | null;
152
+ estimatedWaitMinutes: number | null;
153
+ trackDurationSeconds: number | null;
154
+ }
155
+ export interface RoomQueueViewerStatus {
156
+ internalId?: string | null;
157
+ publicId?: number | null;
158
+ isQueued: boolean;
159
+ isCurrentDj: boolean;
160
+ index: number | null;
161
+ position: number | null;
162
+ estimatedWaitSeconds: number | null;
163
+ estimatedWaitMinutes: number | null;
164
+ [key: string]: unknown;
165
+ }
166
+ export interface RoomQueuePlayback {
167
+ trackId?: string | null;
168
+ source?: string | null;
169
+ sourceId?: string | null;
170
+ title?: string | null;
171
+ artist?: string | null;
172
+ currentDjId?: string | null;
173
+ currentDjUsername?: string | null;
174
+ durationSeconds: number | null;
175
+ remainingSeconds: number | null;
176
+ [key: string]: unknown;
177
+ }
178
+ export interface RoomQueueSnapshot {
179
+ roomId?: string | null;
180
+ roomSlug?: string | null;
181
+ count: number;
182
+ locked: boolean;
183
+ cycleEnabled: boolean;
184
+ entries: RoomQueueEntry[];
185
+ waitlist: RoomQueueEntry[];
186
+ queueUserIds: string[];
187
+ waitlistIds: string[];
188
+ currentDj: RoomQueueUser | null;
189
+ viewer: RoomQueueViewerStatus | null;
190
+ playback: RoomQueuePlayback | null;
191
+ queueTrackDurationsSeconds: Record<string, number>;
192
+ [key: string]: unknown;
193
+ }
194
+ export interface RoomQueueStatusResponse {
195
+ success?: boolean;
196
+ data: RoomQueueSnapshot;
197
+ [key: string]: unknown;
198
+ }
132
199
  export interface PlaylistSummary {
133
200
  id: string;
134
201
  name: string;
@@ -256,6 +323,11 @@ export interface RoomBotState {
256
323
  roomId: string;
257
324
  actorUserId: string;
258
325
  roomRole?: string;
326
+ actorPlatformRole?: string | null;
327
+ actorPlatformRoles?: string[];
328
+ actorCustomGlobalRoles?: Array<Record<string, unknown>>;
329
+ actorGlobalPermissions?: Record<string, unknown>;
330
+ actorIsPlatformSuperuser?: boolean;
259
331
  name: string;
260
332
  avatarUrl?: string | null;
261
333
  commandPrefix: string;
@@ -267,6 +339,32 @@ export interface RoomBotState {
267
339
  snapshot: Record<string, unknown>;
268
340
  customEmojis: unknown[];
269
341
  }
342
+ export type RoomPresenceEventType = "user_joined" | "user_left";
343
+ export interface RoomPresenceEvent {
344
+ id: string;
345
+ roomId: string;
346
+ event: RoomPresenceEventType;
347
+ occurredAt: string;
348
+ payload: Record<string, unknown>;
349
+ }
350
+ export interface RoomBotEventsResponse {
351
+ bot: RoomBotState["bot"];
352
+ events: RoomPresenceEvent[];
353
+ }
354
+ export interface RoomBotQueueAddResponse {
355
+ bot: RoomBotState["bot"];
356
+ queue: string[];
357
+ alreadyQueued: boolean;
358
+ targetUserId: string;
359
+ publicPosition: number | null;
360
+ }
361
+ export interface RoomBotMessageReplyInput {
362
+ id: string;
363
+ }
364
+ export interface RoomBotSendMessageInput {
365
+ content: string;
366
+ replyTo?: RoomBotMessageReplyInput | null;
367
+ }
270
368
  export interface SystemPublicStats {
271
369
  rooms?: number;
272
370
  onlineUsers?: number;
@@ -345,6 +443,9 @@ export interface RoomBotRealtimeOptions {
345
443
  botToken: string;
346
444
  roomId: string;
347
445
  autoJoinRoom?: boolean;
446
+ autoReconnect?: boolean;
447
+ reconnectDelayMs?: number;
448
+ reconnectMaxDelayMs?: number;
348
449
  logging?: boolean;
349
450
  protocols?: string | string[];
350
451
  locale?: WavezApiLocale;
@@ -367,6 +468,7 @@ export interface RoomBotRealtimeClient {
367
468
  joinRoom(roomId?: string): void;
368
469
  leaveRoom(roomId?: string): void;
369
470
  ping(): void;
471
+ sendChat(input: RoomBotSendMessageInput, requestId?: string): void;
370
472
  on(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): () => void;
371
473
  off(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): void;
372
474
  once(event: string, handler: (packet: WsPacket<Record<string, unknown>>) => void): () => void;
@@ -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"}
@@ -0,0 +1,5 @@
1
+ import type { RoomQueueSnapshot } from "../types.js";
2
+ export declare function parseRoomQueueSnapshot(input: unknown, options?: {
3
+ viewerUserId?: string | null;
4
+ viewerPublicId?: number | null;
5
+ }): RoomQueueSnapshot;