@wavezfm/api 0.3.0 → 0.4.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Added
6
+
7
+ - Typed room-event listing, submission, review, and approval responses through `client.events`.
8
+ - Playlist track title and artist overrides through `client.playlist.updateTrackMetadata()`.
9
+ - Pronouns, supporter-badge visibility, and country-flag visibility in account settings.
10
+ - Current Extras Shop inputs for username changes, room-bound purchases, and wallet-currency selection.
11
+ - `customTitle` and `customArtist` fields on playlist tracks.
12
+
3
13
  ## 0.3.0
4
14
 
5
15
  ### Added
package/dist/index.d.ts CHANGED
@@ -11,11 +11,12 @@ export { createFriendResource } from "./resources/friend.js";
11
11
  export { createShopResource } from "./resources/shop.js";
12
12
  export { createBillingResource } from "./resources/billing.js";
13
13
  export { createSystemResource } from "./resources/system.js";
14
+ export { createEventsResource } from "./resources/events.js";
14
15
  export { createRoomBotResource } from "./resources/roomBot.js";
15
16
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
16
17
  export { formatMentionText } from "./utils/chat.js";
17
18
  export { createRoomBotRealtimeClient } from "./realtime/roomBot.js";
18
- export type { ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatImageUploadResponse, ChatMediaPreviewResponse, ChatMessage, CheckoutSessionResponse, GifFavorite, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, LastFmAccountProfile, LastFmLinkStatus, LastFmWriteResponse, MediaSearchResponse, MediaSearchResult, NotificationCenterClearResponse, NotificationCenterStatus, PlaylistJsonExport, PlaylistJsonImportResult, PlaylistJsonTrack, PlaylistSummary, PlaylistTrack, PlaylistTrackAvailabilityInput, PlaylistTrackAvailabilityResult, PlaylistTrackSearchResult, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaProvider, RoomExternalMediaSubtitleTrack, RoomExternalMediaValidationResponse, RoomPlaybackHistoryEntry, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomBotEditMessageInput, RoomBotMessageReplyInput, RoomBotEventsResponse, RoomPresenceEventFilterType, RoomBotQueueAddResponse, RoomBotRealtimeClient, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotSendMessageResponse, RoomBotState, RoomBotToken, RoomPresenceEvent, RoomPresenceEventType, RoomSummary, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, MiscStoreItem, SystemDonationGoal, SystemPublicStats, SystemStatus, TwoFactorStatus, UserSettings, UserProfile, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
19
+ export type { ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatImageUploadResponse, ChatMediaPreviewResponse, ChatMessage, CheckoutSessionResponse, GifFavorite, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, LastFmAccountProfile, LastFmLinkStatus, LastFmWriteResponse, MediaSearchResponse, MediaSearchResult, NotificationCenterClearResponse, NotificationCenterStatus, PlaylistJsonExport, PlaylistJsonImportResult, PlaylistJsonTrack, PlaylistSummary, PlaylistTrack, PlaylistTrackAvailabilityInput, PlaylistTrackAvailabilityResult, PlaylistTrackSearchResult, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaProvider, RoomExternalMediaSubtitleTrack, RoomExternalMediaValidationResponse, RoomPlaybackHistoryEntry, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomBotEditMessageInput, RoomBotMessageReplyInput, RoomBotEventsResponse, RoomPresenceEventFilterType, RoomBotQueueAddResponse, RoomBotRealtimeClient, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotSendMessageResponse, RoomBotState, RoomBotToken, RoomPresenceEvent, RoomPresenceEventType, RoomSummary, RoomEvent, RoomEventApprovalStatus, RoomEventListResponse, RoomEventMutationResponse, RoomEventScope, RoomEventStatus, RoomEventSubmissionInput, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, MiscStoreItem, SystemDonationGoal, SystemPublicStats, SystemStatus, TwoFactorStatus, UserSettings, UserProfile, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
19
20
  import type { ApiClientConfig } from "./types.js";
20
21
  export declare function createApiClient(config: ApiClientConfig): {
21
22
  api: import("./core/api.js").WavezApi;
@@ -57,6 +58,7 @@ export declare function createApiClient(config: ApiClientConfig): {
57
58
  get(): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").UserSettings>>;
58
59
  update(input: {
59
60
  bio?: string;
61
+ pronouns?: string;
60
62
  countryCode?: string;
61
63
  colorTheme?: "wavezfm" | "wavezfm-black";
62
64
  timeFormat?: "12h" | "24h";
@@ -68,9 +70,11 @@ export declare function createApiClient(config: ApiClientConfig): {
68
70
  presenceStatus?: "online" | "busy" | "away" | "invisible";
69
71
  selectedBadgeIds?: string[];
70
72
  showChatBadge?: boolean;
73
+ showSupporterBadges?: boolean;
71
74
  showFanRelationsOnProfile?: boolean;
72
75
  showSuperfansOnProfile?: boolean;
73
76
  showOnlineRoomOnProfile?: boolean;
77
+ showCountryFlag?: boolean;
74
78
  showLastSeenOnProfile?: boolean;
75
79
  blockUnknownWhispers?: boolean;
76
80
  autoOpenIncomingWhispers?: boolean;
@@ -299,6 +303,12 @@ export declare function createApiClient(config: ApiClientConfig): {
299
303
  }): Promise<import("./types.js").ApiSuccessResponse<{
300
304
  track: import("./types.js").PlaylistTrack;
301
305
  }>>;
306
+ updateTrackMetadata(playlistId: string, trackId: string, input: {
307
+ title?: string | null;
308
+ artist?: string | null;
309
+ }): Promise<import("./types.js").ApiSuccessResponse<{
310
+ track: import("./types.js").PlaylistTrack;
311
+ }>>;
302
312
  removeTrack(playlistId: string, trackId: string): Promise<import("./types.js").ApiSuccessResponse<{
303
313
  success: true;
304
314
  }>>;
@@ -385,7 +395,10 @@ export declare function createApiClient(config: ApiClientConfig): {
385
395
  purchaseMisc(input: {
386
396
  itemId: string;
387
397
  idempotencyKey?: string;
398
+ username?: string | null;
388
399
  displayUsername?: string | null;
400
+ roomSlug?: string | null;
401
+ walletCurrency?: "coins" | "diamonds" | null;
389
402
  }): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
390
403
  equip(itemId: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
391
404
  getInventory(): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").InventoryResponse>>;
@@ -520,6 +533,13 @@ export declare function createApiClient(config: ApiClientConfig): {
520
533
  clearNotificationCenter(): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").NotificationCenterClearResponse>>;
521
534
  health(): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
522
535
  };
536
+ events: {
537
+ list(roomId?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomEventListResponse>>;
538
+ listSubmissions(roomId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomEventListResponse>>;
539
+ submit(roomId: string, input: import("./types.js").RoomEventSubmissionInput): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomEventMutationResponse>>;
540
+ listPendingReview(roomId?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomEventListResponse>>;
541
+ review(eventId: string, decision: "approved" | "rejected"): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomEventMutationResponse>>;
542
+ };
523
543
  roomBot: {
524
544
  getState(roomId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotState>>;
525
545
  getQueueStatus(roomId: string, options?: {
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ export { createFriendResource } from "./resources/friend.js";
11
11
  export { createShopResource } from "./resources/shop.js";
12
12
  export { createBillingResource } from "./resources/billing.js";
13
13
  export { createSystemResource } from "./resources/system.js";
14
+ export { createEventsResource } from "./resources/events.js";
14
15
  export { createRoomBotResource } from "./resources/roomBot.js";
15
16
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
16
17
  export { formatMentionText } from "./utils/chat.js";
@@ -27,6 +28,7 @@ import { createFriendResource } from "./resources/friend.js";
27
28
  import { createShopResource } from "./resources/shop.js";
28
29
  import { createBillingResource } from "./resources/billing.js";
29
30
  import { createSystemResource } from "./resources/system.js";
31
+ import { createEventsResource } from "./resources/events.js";
30
32
  import { createRoomBotResource } from "./resources/roomBot.js";
31
33
  export function createApiClient(config) {
32
34
  const api = createApi(config);
@@ -43,6 +45,7 @@ export function createApiClient(config) {
43
45
  shop: createShopResource(api),
44
46
  billing: createBillingResource(api),
45
47
  system: createSystemResource(api),
48
+ events: createEventsResource(api),
46
49
  roomBot: createRoomBotResource(api),
47
50
  };
48
51
  }
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;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAgFpE,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":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ApiLike, RoomEventListResponse, RoomEventMutationResponse, RoomEventSubmissionInput } from "../types.js";
2
+ export declare function createEventsResource(api: ApiLike): {
3
+ list(roomId?: string | null): Promise<import("../types.js").ApiSuccessResponse<RoomEventListResponse>>;
4
+ listSubmissions(roomId: string): Promise<import("../types.js").ApiSuccessResponse<RoomEventListResponse>>;
5
+ submit(roomId: string, input: RoomEventSubmissionInput): Promise<import("../types.js").ApiSuccessResponse<RoomEventMutationResponse>>;
6
+ listPendingReview(roomId?: string | null): Promise<import("../types.js").ApiSuccessResponse<RoomEventListResponse>>;
7
+ review(eventId: string, decision: "approved" | "rejected"): Promise<import("../types.js").ApiSuccessResponse<RoomEventMutationResponse>>;
8
+ };
@@ -0,0 +1,24 @@
1
+ export function createEventsResource(api) {
2
+ return {
3
+ list(roomId) {
4
+ return api.get("/events", {
5
+ query: { roomId: roomId ?? undefined },
6
+ });
7
+ },
8
+ listSubmissions(roomId) {
9
+ return api.get(`/events/submissions/${encodeURIComponent(roomId)}`);
10
+ },
11
+ submit(roomId, input) {
12
+ return api.post(`/events/submissions/${encodeURIComponent(roomId)}`, input);
13
+ },
14
+ listPendingReview(roomId) {
15
+ return api.get("/events/review", {
16
+ query: { roomId: roomId ?? undefined },
17
+ });
18
+ },
19
+ review(eventId, decision) {
20
+ return api.post(`/events/review/${encodeURIComponent(eventId)}`, { decision });
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC7C,OAAO;QACH,IAAI,CAAC,MAAsB;YACvB,OAAO,GAAG,CAAC,GAAG,CAAwB,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;QAED,eAAe,CAAC,MAAc;YAC1B,OAAO,GAAG,CAAC,GAAG,CACV,uBAAuB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACtD,CAAC;QACN,CAAC;QAED,MAAM,CAAC,MAAc,EAAE,KAA+B;YAClD,OAAO,GAAG,CAAC,IAAI,CACX,uBAAuB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACnD,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,MAAsB;YACpC,OAAO,GAAG,CAAC,GAAG,CAAwB,gBAAgB,EAAE;gBACpD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CAAC,OAAe,EAAE,QAAiC;YACrD,OAAO,GAAG,CAAC,IAAI,CACX,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAC/C,EAAE,QAAQ,EAAE,CACf,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -63,6 +63,12 @@ export declare function createPlaylistResource(api: ApiLike): {
63
63
  }): Promise<import("../types.js").ApiSuccessResponse<{
64
64
  track: PlaylistTrack;
65
65
  }>>;
66
+ updateTrackMetadata(playlistId: string, trackId: string, input: {
67
+ title?: string | null;
68
+ artist?: string | null;
69
+ }): Promise<import("../types.js").ApiSuccessResponse<{
70
+ track: PlaylistTrack;
71
+ }>>;
66
72
  removeTrack(playlistId: string, trackId: string): Promise<import("../types.js").ApiSuccessResponse<{
67
73
  success: true;
68
74
  }>>;
@@ -48,6 +48,9 @@ export function createPlaylistResource(api) {
48
48
  updateTrackClip(playlistId, trackId, input) {
49
49
  return api.put(`/playlists/${encodeURIComponent(playlistId)}/tracks/${encodeURIComponent(trackId)}/clip`, input);
50
50
  },
51
+ updateTrackMetadata(playlistId, trackId, input) {
52
+ return api.put(`/playlists/${encodeURIComponent(playlistId)}/tracks/${encodeURIComponent(trackId)}/metadata`, input);
53
+ },
51
54
  removeTrack(playlistId, trackId) {
52
55
  return api.delete(`/playlists/${encodeURIComponent(playlistId)}/tracks/${encodeURIComponent(trackId)}`);
53
56
  },
@@ -1 +1 @@
1
- {"version":3,"file":"playlist.js","sourceRoot":"","sources":["../../src/resources/playlist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playlist.js","sourceRoot":"","sources":["../../src/resources/playlist.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare function createSettingsResource(api: ApiLike): {
3
3
  get(): Promise<import("../types.js").ApiSuccessResponse<UserSettings>>;
4
4
  update(input: {
5
5
  bio?: string;
6
+ pronouns?: string;
6
7
  countryCode?: string;
7
8
  colorTheme?: "wavezfm" | "wavezfm-black";
8
9
  timeFormat?: "12h" | "24h";
@@ -14,9 +15,11 @@ export declare function createSettingsResource(api: ApiLike): {
14
15
  presenceStatus?: "online" | "busy" | "away" | "invisible";
15
16
  selectedBadgeIds?: string[];
16
17
  showChatBadge?: boolean;
18
+ showSupporterBadges?: boolean;
17
19
  showFanRelationsOnProfile?: boolean;
18
20
  showSuperfansOnProfile?: boolean;
19
21
  showOnlineRoomOnProfile?: boolean;
22
+ showCountryFlag?: boolean;
20
23
  showLastSeenOnProfile?: boolean;
21
24
  blockUnknownWhispers?: boolean;
22
25
  autoOpenIncomingWhispers?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,sBAAsB,CAAC,GAAY;IAC/C,OAAO;QACH,GAAG;YACC,OAAO,GAAG,CAAC,GAAG,CAAe,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,KAqBN;YACG,OAAO,GAAG,CAAC,KAAK,CAAe,WAAW,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,eAAe;YACX,OAAO,GAAG,CAAC,GAAG,CACV,yBAAyB,CAC5B,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,SAAwB;YACxC,OAAO,GAAG,CAAC,GAAG,CACV,yBAAyB,EACzB,EAAE,SAAS,EAAE,CAChB,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,OAGnB;YACG,OAAO,GAAG,CAAC,GAAG,CAAkB,8BAA8B,EAAE;gBAC5D,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;QACP,CAAC;QAED,mBAAmB;YACf,OAAO,GAAG,CAAC,GAAG,CAAmB,8BAA8B,CAAC,CAAC;QACrE,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,GAAG,CAAuB,0BAA0B,CAAC,CAAC;QACrE,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,MAAM,CAAoB,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,sBAAsB,CAAC,KAItB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,oBAAoB,CAAC,KAKpB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,2BAA2B,EAC3B,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B;YACvB,OAAO,GAAG,CAAC,IAAI,CACX,0CAA0C,EAC1C,EAAE,CACL,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAGjB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,wBAAwB,EACxB,KAAK,CACR,CAAC;QACN,CAAC;QAED,YAAY;YACR,OAAO,GAAG,CAAC,GAAG,CAAkB,sBAAsB,CAAC,CAAC;QAC5D,CAAC;QAED,qBAAqB,CAAC,KAGrB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAIjB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,CACR,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,KAA2B;YAC3C,OAAO,GAAG,CAAC,IAAI,CACX,kCAAkC,EAClC,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAA2B;YACzC,OAAO,GAAG,CAAC,IAAI,CACX,gCAAgC,EAChC,KAAK,CACR,CAAC;QACN,CAAC;QAED,kBAAkB,CAAC,KAAyC;YACxD,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B,CAAC,KAA2B;YACnD,OAAO,GAAG,CAAC,IAAI,CACX,kCAAkC,EAClC,KAAK,CACR,CAAC;QACN,CAAC;QAED,4BAA4B,CAAC,KAG5B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,CACR,CAAC;QACN,CAAC;QAED,gBAAgB,CAAC,KAA2B;YACxC,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,sBAAsB,CAAC,GAAY;IAC/C,OAAO;QACH,GAAG;YACC,OAAO,GAAG,CAAC,GAAG,CAAe,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,KAwBN;YACG,OAAO,GAAG,CAAC,KAAK,CAAe,WAAW,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,eAAe;YACX,OAAO,GAAG,CAAC,GAAG,CACV,yBAAyB,CAC5B,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,SAAwB;YACxC,OAAO,GAAG,CAAC,GAAG,CACV,yBAAyB,EACzB,EAAE,SAAS,EAAE,CAChB,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,OAGnB;YACG,OAAO,GAAG,CAAC,GAAG,CAAkB,8BAA8B,EAAE;gBAC5D,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;QACP,CAAC;QAED,mBAAmB;YACf,OAAO,GAAG,CAAC,GAAG,CAAmB,8BAA8B,CAAC,CAAC;QACrE,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,GAAG,CAAuB,0BAA0B,CAAC,CAAC;QACrE,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,MAAM,CAAoB,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,sBAAsB,CAAC,KAItB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,oBAAoB,CAAC,KAKpB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,2BAA2B,EAC3B,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B;YACvB,OAAO,GAAG,CAAC,IAAI,CACX,0CAA0C,EAC1C,EAAE,CACL,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAGjB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,wBAAwB,EACxB,KAAK,CACR,CAAC;QACN,CAAC;QAED,YAAY;YACR,OAAO,GAAG,CAAC,GAAG,CAAkB,sBAAsB,CAAC,CAAC;QAC5D,CAAC;QAED,qBAAqB,CAAC,KAGrB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAIjB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,CACR,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,KAA2B;YAC3C,OAAO,GAAG,CAAC,IAAI,CACX,kCAAkC,EAClC,KAAK,CACR,CAAC;QACN,CAAC;QAED,iBAAiB,CAAC,KAA2B;YACzC,OAAO,GAAG,CAAC,IAAI,CACX,gCAAgC,EAChC,KAAK,CACR,CAAC;QACN,CAAC;QAED,kBAAkB,CAAC,KAAyC;YACxD,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B,CAAC,KAA2B;YACnD,OAAO,GAAG,CAAC,IAAI,CACX,kCAAkC,EAClC,KAAK,CACR,CAAC;QACN,CAAC;QAED,4BAA4B,CAAC,KAG5B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,CACR,CAAC;QACN,CAAC;QAED,gBAAgB,CAAC,KAA2B;YACxC,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -9,7 +9,10 @@ export declare function createShopResource(api: ApiLike): {
9
9
  purchaseMisc(input: {
10
10
  itemId: string;
11
11
  idempotencyKey?: string;
12
+ username?: string | null;
12
13
  displayUsername?: string | null;
14
+ roomSlug?: string | null;
15
+ walletCurrency?: "coins" | "diamonds" | null;
13
16
  }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
14
17
  equip(itemId: string): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
15
18
  getInventory(): Promise<import("../types.js").ApiSuccessResponse<InventoryResponse>>;
@@ -1 +1 @@
1
- {"version":3,"file":"shop.js","sourceRoot":"","sources":["../../src/resources/shop.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC3C,OAAO;QACH,UAAU;YACN,OAAO,GAAG,CAAC,GAAG,CAAuB,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;QACP,CAAC;QAED,SAAS;YACL,OAAO,GAAG,CAAC,GAAG,CAAgB,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,KAAkD;YACvD,OAAO,GAAG,CAAC,IAAI,CAA0B,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,YAAY,CAAC,KAIZ;YACG,OAAO,GAAG,CAAC,IAAI,CACX,sBAAsB,EACtB,KAAK,CACR,CAAC;QACN,CAAC;QAED,KAAK,CAAC,MAAc;YAChB,OAAO,GAAG,CAAC,IAAI,CAA0B,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,YAAY;YACR,OAAO,GAAG,CAAC,GAAG,CAAoB,YAAY,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"shop.js","sourceRoot":"","sources":["../../src/resources/shop.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC3C,OAAO;QACH,UAAU;YACN,OAAO,GAAG,CAAC,GAAG,CAAuB,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;QACP,CAAC;QAED,SAAS;YACL,OAAO,GAAG,CAAC,GAAG,CAAgB,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,KAAkD;YACvD,OAAO,GAAG,CAAC,IAAI,CAA0B,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,YAAY,CAAC,KAOZ;YACG,OAAO,GAAG,CAAC,IAAI,CACX,sBAAsB,EACtB,KAAK,CACR,CAAC;QACN,CAAC;QAED,KAAK,CAAC,MAAc;YAChB,OAAO,GAAG,CAAC,IAAI,CAA0B,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,YAAY;YACR,OAAO,GAAG,CAAC,GAAG,CAAoB,YAAY,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC;AACN,CAAC"}
package/dist/types.d.ts CHANGED
@@ -65,6 +65,7 @@ export interface AuthUser {
65
65
  displayName?: string | null;
66
66
  name?: string | null;
67
67
  bio?: string | null;
68
+ pronouns?: string | null;
68
69
  country?: string | null;
69
70
  countryCode?: string | null;
70
71
  image?: string | null;
@@ -94,9 +95,11 @@ export interface AuthUser {
94
95
  selectedBadgeIds?: string[];
95
96
  selectedBadges?: BadgeAssignment[];
96
97
  showChatBadge?: boolean;
98
+ showSupporterBadges?: boolean;
97
99
  showFanRelationsOnProfile?: boolean;
98
100
  showSuperfansOnProfile?: boolean;
99
101
  showOnlineRoomOnProfile?: boolean;
102
+ showCountryFlag?: boolean;
100
103
  showLastSeenOnProfile?: boolean;
101
104
  blockUnknownWhispers?: boolean;
102
105
  autoOpenIncomingWhispers?: boolean;
@@ -277,6 +280,8 @@ export interface PlaylistTrack {
277
280
  isLive?: boolean;
278
281
  clipStartMs?: number | null;
279
282
  clipEndMs?: number | null;
283
+ customTitle?: string | null;
284
+ customArtist?: string | null;
280
285
  [key: string]: unknown;
281
286
  }
282
287
  export interface PlaylistTrackSearchResult {
@@ -635,6 +640,7 @@ export interface NotificationCenterClearResponse {
635
640
  export interface UserSettings {
636
641
  userId?: string;
637
642
  bio?: string | null;
643
+ pronouns?: string | null;
638
644
  country?: string | null;
639
645
  countryCode?: string | null;
640
646
  colorTheme?: "wavezfm" | "wavezfm-black" | string | null;
@@ -647,9 +653,11 @@ export interface UserSettings {
647
653
  presenceStatus?: "online" | "busy" | "away" | "invisible" | string | null;
648
654
  selectedBadgeIds?: string[];
649
655
  showChatBadge?: boolean;
656
+ showSupporterBadges?: boolean;
650
657
  showFanRelationsOnProfile?: boolean;
651
658
  showSuperfansOnProfile?: boolean;
652
659
  showOnlineRoomOnProfile?: boolean;
660
+ showCountryFlag?: boolean;
653
661
  showLastSeenOnProfile?: boolean;
654
662
  blockUnknownWhispers?: boolean;
655
663
  autoOpenIncomingWhispers?: boolean;
@@ -658,6 +666,51 @@ export interface UserSettings {
658
666
  activeViolationCount?: number;
659
667
  [key: string]: unknown;
660
668
  }
669
+ export type RoomEventScope = "global" | "room";
670
+ export type RoomEventStatus = "scheduled" | "active" | "ended" | "disabled";
671
+ export type RoomEventApprovalStatus = "pending" | "approved" | "rejected";
672
+ export interface RoomEvent {
673
+ id: string;
674
+ scope: RoomEventScope;
675
+ roomId: string | null;
676
+ roomName: string | null;
677
+ roomSlug: string | null;
678
+ titlePtBr: string;
679
+ titleEnUs: string;
680
+ descriptionPtBr: string;
681
+ descriptionEnUs: string;
682
+ imageUrl: string;
683
+ linkUrl: string;
684
+ startAt: string;
685
+ endAt: string;
686
+ isEnabled: boolean;
687
+ approvalStatus: RoomEventApprovalStatus;
688
+ createdByUserId: string | null;
689
+ reviewedByUserId: string | null;
690
+ reviewedAt: string | null;
691
+ status: RoomEventStatus;
692
+ createdAt: string;
693
+ updatedAt: string;
694
+ }
695
+ export interface RoomEventSubmissionInput {
696
+ scope?: RoomEventScope;
697
+ titlePtBr: string;
698
+ titleEnUs: string;
699
+ descriptionPtBr?: string;
700
+ descriptionEnUs?: string;
701
+ imageUrl?: string;
702
+ linkUrl?: string;
703
+ startAt: string;
704
+ endAt: string;
705
+ }
706
+ export interface RoomEventListResponse {
707
+ success: true;
708
+ events: RoomEvent[];
709
+ }
710
+ export interface RoomEventMutationResponse {
711
+ success: true;
712
+ event: RoomEvent | null;
713
+ }
661
714
  export interface TwoFactorStatus {
662
715
  email: string;
663
716
  emailVerified: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavezfm/api",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Official JavaScript/TypeScript API client for WavezFM.",
5
5
  "homepage": "https://docs.wavez.fm/docs",
6
6
  "type": "module",
@@ -76,6 +76,10 @@
76
76
  "types": "./dist/resources/system.d.ts",
77
77
  "import": "./dist/resources/system.js"
78
78
  },
79
+ "./resources/events": {
80
+ "types": "./dist/resources/events.d.ts",
81
+ "import": "./dist/resources/events.js"
82
+ },
79
83
  "./resources/room-bot": {
80
84
  "types": "./dist/resources/roomBot.d.ts",
81
85
  "import": "./dist/resources/roomBot.js"