@wavezfm/api 0.7.15 → 0.7.17
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 +13 -0
- package/README.md +33 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/room.d.ts +5 -1
- package/dist/resources/room.js +8 -0
- package/dist/resources/room.js.map +1 -1
- package/dist/resources/shop.d.ts +3 -1
- package/dist/resources/shop.js +8 -0
- package/dist/resources/shop.js.map +1 -1
- package/dist/resources/source.d.ts +6 -1
- package/dist/resources/source.js +10 -0
- package/dist/resources/source.js.map +1 -1
- package/dist/types.d.ts +82 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Saved-track restrictions and room ownership transfer (October 3)
|
|
6
|
+
|
|
7
|
+
- Added typed session-authenticated `source.getYouTubeRegionAvailability(videoId, options)` for saved or unsaved tracks. Unknown region and embed data remains nullable.
|
|
8
|
+
- Added session-only `room.requestOwnershipTransfer(roomId, targetUserId)` and `room.confirmOwnershipTransfer(roomId, challengeId, code)`. The current owner confirms a single-use code sent to their verified email; the SDK does not send, confirm, or retry a transfer automatically.
|
|
9
|
+
|
|
10
|
+
### Public XP settings (October 2)
|
|
11
|
+
|
|
12
|
+
- Typed nullable `SystemStatus.progressionXp` and exported `SystemProgressionXp` for current base rewards, cooldowns, DJ requirements and the shared daily reward allowance through the existing `client.system.status()` method.
|
|
13
|
+
|
|
14
|
+
### Purchase history (October 2)
|
|
15
|
+
|
|
16
|
+
- Added session-authenticated `client.shop.getPurchaseHistory(options)` with exported pagination, search, category and purchase detail types. Results include completed shop transactions and repeated Extras; historical currencies that were not recorded remain null. External purchases are identified without inventing their fiat amount.
|
|
17
|
+
|
|
5
18
|
### API synchronization (October 1, after 0.7.14)
|
|
6
19
|
|
|
7
20
|
- Added session-authenticated `client.privateMessages.openConversation()` and `sendMessage()` with typed conversation/message responses and optional `clientMessageId`. Callers reuse the same UUID v4 and content to retry one send; the SDK does not retry automatically.
|
package/README.md
CHANGED
|
@@ -194,6 +194,39 @@ avatar animation rates accept 1–60 FPS per frame count.
|
|
|
194
194
|
|
|
195
195
|
Call `client.room.removeGuestPresence(slug)` when leaving a guest preview. Private room access and banner uploads are available through `verifyPrivateAccess()` and `uploadBanner()`. See the Frontend API reference for validation rules and examples.
|
|
196
196
|
|
|
197
|
+
`client.system.status()` includes nullable `progressionXp` with current base
|
|
198
|
+
woot/DJ rewards, cooldowns, DJ eligibility requirements, and the shared daily
|
|
199
|
+
allowance in equivalent reward hours. `dailyXpCostMs` is the cost of one reward
|
|
200
|
+
against that allowance, independent of XP multipliers. It resets at 00:00 UTC;
|
|
201
|
+
`dailyLimit.enabled: false` disables the daily cap while cooldowns still apply.
|
|
202
|
+
An absent or null `progressionXp` means the configuration is unavailable.
|
|
203
|
+
|
|
204
|
+
## Purchase history
|
|
205
|
+
|
|
206
|
+
```ts
|
|
207
|
+
const { data: history } = await client.shop.getPurchaseHistory({
|
|
208
|
+
page: 1,
|
|
209
|
+
pageSize: 12,
|
|
210
|
+
q: 'avatar',
|
|
211
|
+
category: 'avatar',
|
|
212
|
+
});
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
This session-authenticated method returns completed shop transactions, including
|
|
216
|
+
repeated Extras, through `/store/purchase-history`. Results provide `items`,
|
|
217
|
+
`page`, `pageSize`, `total` and `totalPages`; the default page size is 12 and the
|
|
218
|
+
maximum is 50. Categories are `all`, `avatar`, `background`, `badge`, `videoframe`,
|
|
219
|
+
`misc` and `unknown`. Searches match the purchased name, collection, description,
|
|
220
|
+
item ID or transaction ID.
|
|
221
|
+
|
|
222
|
+
Each item records its date and absolute wallet charge. A null `currency` means
|
|
223
|
+
the older purchase did not record its currency; do not use today's catalog price
|
|
224
|
+
or currency as a substitute. `currency: 'external'` identifies external checkout
|
|
225
|
+
with no recorded fiat amount, and must not be displayed as a free purchase.
|
|
226
|
+
Inventory grants, rewards, diamond top-ups and subscription payments are not
|
|
227
|
+
part of this list. Updated server startup applies migration 0149 before serving
|
|
228
|
+
the endpoint.
|
|
229
|
+
|
|
197
230
|
## GIF favorites
|
|
198
231
|
|
|
199
232
|
Favorites now use individual mutations so a stale tab cannot replace the saved
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { createRoomBotResource } from "./resources/roomBot.js";
|
|
|
19
19
|
export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
|
|
20
20
|
export { formatMentionText } from "./utils/chat.js";
|
|
21
21
|
export { createRoomBotRealtimeClient } from "./realtime/roomBot.js";
|
|
22
|
-
export type { BotPrivateCommand, CountryFlagSettings, TeamDirectory, StageHoverSettings, UserProfileOptions, ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatImageUploadResponse, ChatLinkReview, ChatMediaPreviewResponse, ChatMessage, CheckoutSessionResponse, GifFavorite, Giveaway, GiveawayEntry, GiveawayJoinEligibility, GiveawayListResponse, GiveawayMutationResponse, GiveawayPrizeDeliveryStatus, GiveawayPrizeType, GiveawayScope, GiveawayStatus, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, LastFmAccountProfile, LastFmLinkStatus, LastFmWriteResponse, MediaSearchResponse, MediaSearchResult, MiscShopUserState, MiscStoreCurrency, MiscStoreItemKind, MiscStoreRenderMode, NotificationCenterClearResponse, NotificationCenterStatus, PlaylistExternalImportResult, PlaylistExternalImportSource, PlaylistJsonExport, PlaylistJsonImportResult, PlaylistJsonTrack, PlaylistSummary, PlaylistTrack, PlaylistTrackAvailabilityInput, PlaylistTrackAvailabilityResult, PlaylistTrackSearchResult, PrivateConversation, PrivateMessage, PrivateMessageCustomEmoji, PrivateMessageReply, PrivateMessageSendInput, PrivateMessageSendResponse, PrivateMessageUser, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaProvider, RoomExternalMediaSubtitleTrack, RoomExternalMediaValidationResponse, RoomActiveUser, RoomCustomEmoji, RoomLinkFiltersUpdateInput, RoomGuestPresenceResponse, RoomGuestViewer, RoomGlobalLimits, RoomGlobalLimitsUpdateInput, RoomPlaybackHistoryEntry, RoomPermission, RoomPermissionOverrideMap, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomRoleName, RoomSettingsUpdateInput, RoomStateSnapshot, RoomBotEditMessageInput, RoomBotChatEmbed, RoomBotMessageReplyInput, RoomBotEventsResponse, RoomPresenceEventFilterType, RoomBotQueueAddResponse, RoomBotRealtimeClient, RoomBotRealtimeSendMessageInput, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotSendMessageResponse, RoomBotState, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomPresenceEvent, RoomPresenceEventType, RoomSummary, RoomSystemAlert, RoomEvent, RoomEventApprovalStatus, RoomEventListResponse, RoomEventMutationResponse, RoomEventScope, RoomEventStatus, RoomEventSubmissionInput, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, MiscStoreItem, AdminSystemHealth, AdminSystemStatus, SystemDonationGoal, SystemAlert, SystemAlertAppearance, SystemAlertInput, SystemAlertResponse, SystemHealth, SystemPublicStats, SystemStatus, TwoFactorStatus, UserSettings, UserSystemAlert, UserProfile, UserBlockState, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
|
|
22
|
+
export type { BotPrivateCommand, CountryFlagSettings, TeamDirectory, StageHoverSettings, UserProfileOptions, ApiClientConfig, ApiLike, ApiQuery, ApiQueryValue, ApiRequestOptions, ApiSuccessResponse, AuthMode, AuthUser, BadgeAssignment, ChatImageUploadResponse, ChatLinkReview, ChatMediaPreviewResponse, ChatMessage, CheckoutSessionResponse, GifFavorite, Giveaway, GiveawayEntry, GiveawayJoinEligibility, GiveawayListResponse, GiveawayMutationResponse, GiveawayPrizeDeliveryStatus, GiveawayPrizeType, GiveawayScope, GiveawayStatus, InventoryResponse, InventoryCatalogEntry, InventoryCatalogItem, PurchaseHistoryCategory, PurchaseHistoryCurrency, PurchaseHistoryItem, PurchaseHistoryOptions, PurchaseHistoryResponse, LastFmAccountProfile, LastFmLinkStatus, LastFmWriteResponse, MediaSearchResponse, YouTubeRegionAvailability, RoomOwnershipTransferChallenge, RoomOwnershipTransferResult, MediaSearchResult, MiscShopUserState, MiscStoreCurrency, MiscStoreItemKind, MiscStoreRenderMode, NotificationCenterClearResponse, NotificationCenterStatus, PlaylistExternalImportResult, PlaylistExternalImportSource, PlaylistJsonExport, PlaylistJsonImportResult, PlaylistJsonTrack, PlaylistSummary, PlaylistTrack, PlaylistTrackAvailabilityInput, PlaylistTrackAvailabilityResult, PlaylistTrackSearchResult, PrivateConversation, PrivateMessage, PrivateMessageCustomEmoji, PrivateMessageReply, PrivateMessageSendInput, PrivateMessageSendResponse, PrivateMessageUser, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaProvider, RoomExternalMediaSubtitleTrack, RoomExternalMediaValidationResponse, RoomActiveUser, RoomCustomEmoji, RoomLinkFiltersUpdateInput, RoomGuestPresenceResponse, RoomGuestViewer, RoomGlobalLimits, RoomGlobalLimitsUpdateInput, RoomPlaybackHistoryEntry, RoomPermission, RoomPermissionOverrideMap, RoomQueueEntry, RoomQueuePlayback, RoomQueueSnapshot, RoomQueueStatusResponse, RoomQueueUser, RoomQueueViewerStatus, RoomRoleName, RoomSettingsUpdateInput, RoomStateSnapshot, RoomBotEditMessageInput, RoomBotChatEmbed, RoomBotMessageReplyInput, RoomBotEventsResponse, RoomPresenceEventFilterType, RoomBotQueueAddResponse, RoomBotRealtimeClient, RoomBotRealtimeSendMessageInput, RoomBotRealtimeOptions, RoomBotSendMessageInput, RoomBotSendMessageResponse, RoomBotState, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomPresenceEvent, RoomPresenceEventType, RoomSummary, RoomSystemAlert, RoomEvent, RoomEventApprovalStatus, RoomEventListResponse, RoomEventMutationResponse, RoomEventScope, RoomEventStatus, RoomEventSubmissionInput, WavezApiLocale, WavezApiMessageKey, WavezApiMessages, WavezApiMessageValues, StoreCatalogResponse, StoreCatalogItem, StoreCatalogSection, MiscStoreItem, AdminSystemHealth, AdminSystemStatus, SystemDonationGoal, SystemAlert, SystemAlertAppearance, SystemAlertInput, SystemAlertResponse, SystemHealth, SystemPublicStats, SystemProgressionXp, SystemStatus, TwoFactorStatus, UserSettings, UserSystemAlert, UserProfile, UserBlockState, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
|
|
23
23
|
import type { ApiClientConfig } from "./types.js";
|
|
24
24
|
export declare function createApiClient(config: ApiClientConfig): {
|
|
25
25
|
api: import("./core/api.js").WavezApi;
|
|
@@ -254,6 +254,8 @@ export declare function createApiClient(config: ApiClientConfig): {
|
|
|
254
254
|
room: Record<string, unknown>;
|
|
255
255
|
}>>;
|
|
256
256
|
setRole(roomId: string, userId: string, role: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
257
|
+
requestOwnershipTransfer(roomId: string, targetUserId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomOwnershipTransferChallenge>>;
|
|
258
|
+
confirmOwnershipTransfer(roomId: string, challengeId: string, code: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomOwnershipTransferResult>>;
|
|
257
259
|
setQueueAccess(roomId: string, userId: string, blocked: boolean, durationMs?: number): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
258
260
|
unban(roomId: string, userId: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
259
261
|
createEmoji(roomId: string, input: {
|
|
@@ -361,6 +363,10 @@ export declare function createApiClient(config: ApiClientConfig): {
|
|
|
361
363
|
searchPreview(query: string, source?: string, limit?: number, pageToken?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").MediaSearchResponse>>;
|
|
362
364
|
};
|
|
363
365
|
source: {
|
|
366
|
+
getYouTubeRegionAvailability(videoId: string, options?: {
|
|
367
|
+
country?: string;
|
|
368
|
+
viewer?: boolean;
|
|
369
|
+
}): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").YouTubeRegionAvailability>>;
|
|
364
370
|
search(source: string, query: string, limit?: number, pageToken?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").MediaSearchResponse>>;
|
|
365
371
|
searchYouTube(query: string, limit?: number, pageToken?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").MediaSearchResponse>>;
|
|
366
372
|
searchSoundCloud(query: string, limit?: number, pageToken?: string | null): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").MediaSearchResponse>>;
|
|
@@ -457,6 +463,7 @@ export declare function createApiClient(config: ApiClientConfig): {
|
|
|
457
463
|
}): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
458
464
|
equip(itemId: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
459
465
|
getInventory(): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").InventoryResponse>>;
|
|
466
|
+
getPurchaseHistory(options?: import("./types.js").PurchaseHistoryOptions): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").PurchaseHistoryResponse>>;
|
|
460
467
|
};
|
|
461
468
|
billing: {
|
|
462
469
|
getCheckoutSessionStatus(sessionId: string): Promise<import("./types.js").ApiSuccessResponse<{
|
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,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,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,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/room.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiLike, ApiSuccessResponse, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaValidationResponse, RoomGuestPresenceResponse, RoomPlaybackHistoryEntry, RoomQueueSnapshot, RoomQueueStatusResponse, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomCustomEmoji, RoomLinkFiltersUpdateInput, RoomSettingsUpdateInput, RoomSummary } from "../types.js";
|
|
1
|
+
import type { ApiLike, ApiSuccessResponse, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaValidationResponse, RoomGuestPresenceResponse, RoomPlaybackHistoryEntry, RoomQueueSnapshot, RoomQueueStatusResponse, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomCustomEmoji, RoomLinkFiltersUpdateInput, RoomSettingsUpdateInput, RoomSummary, RoomOwnershipTransferChallenge, RoomOwnershipTransferResult } from "../types.js";
|
|
2
2
|
export declare function createRoomResource(api: ApiLike): {
|
|
3
3
|
list(): Promise<ApiSuccessResponse<RoomSummary[]>>;
|
|
4
4
|
featured(): Promise<{
|
|
@@ -85,6 +85,10 @@ export declare function createRoomResource(api: ApiLike): {
|
|
|
85
85
|
room: Record<string, unknown>;
|
|
86
86
|
}>>;
|
|
87
87
|
setRole(roomId: string, userId: string, role: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
88
|
+
/** Only the current owner with a verified email can request this code. */
|
|
89
|
+
requestOwnershipTransfer(roomId: string, targetUserId: string): Promise<ApiSuccessResponse<RoomOwnershipTransferChallenge>>;
|
|
90
|
+
/** Explicit confirmation; the SDK never retries or requests a code automatically. */
|
|
91
|
+
confirmOwnershipTransfer(roomId: string, challengeId: string, code: string): Promise<ApiSuccessResponse<RoomOwnershipTransferResult>>;
|
|
88
92
|
setQueueAccess(roomId: string, userId: string, blocked: boolean, durationMs?: number): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
89
93
|
unban(roomId: string, userId: string): Promise<ApiSuccessResponse<Record<string, unknown>>>;
|
|
90
94
|
createEmoji(roomId: string, input: {
|
package/dist/resources/room.js
CHANGED
|
@@ -225,6 +225,14 @@ export function createRoomResource(api) {
|
|
|
225
225
|
setRole(roomId, userId, role) {
|
|
226
226
|
return api.put(`/rooms/${encodeURIComponent(roomId)}/roles/${encodeURIComponent(userId)}`, { role });
|
|
227
227
|
},
|
|
228
|
+
/** Only the current owner with a verified email can request this code. */
|
|
229
|
+
requestOwnershipTransfer(roomId, targetUserId) {
|
|
230
|
+
return api.post(`/rooms/${encodeURIComponent(roomId)}/ownership-transfer/request`, { targetUserId });
|
|
231
|
+
},
|
|
232
|
+
/** Explicit confirmation; the SDK never retries or requests a code automatically. */
|
|
233
|
+
confirmOwnershipTransfer(roomId, challengeId, code) {
|
|
234
|
+
return api.post(`/rooms/${encodeURIComponent(roomId)}/ownership-transfer/confirm`, { challengeId, code });
|
|
235
|
+
},
|
|
228
236
|
setQueueAccess(roomId, userId, blocked, durationMs) {
|
|
229
237
|
return api.put(`/rooms/${encodeURIComponent(roomId)}/queue-access/${encodeURIComponent(userId)}`, { blocked, ...(durationMs === undefined ? {} : { durationMs }) });
|
|
230
238
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"room.js","sourceRoot":"","sources":["../../src/resources/room.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/shop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiLike, InventoryResponse, MiscShopUserState, StoreCatalogResponse, WalletBalance } from "../types.js";
|
|
1
|
+
import type { ApiLike, InventoryResponse, MiscShopUserState, PurchaseHistoryOptions, PurchaseHistoryResponse, StoreCatalogResponse, WalletBalance } from "../types.js";
|
|
2
2
|
export declare function createShopResource(api: ApiLike): {
|
|
3
3
|
getCatalog(): Promise<import("../types.js").ApiSuccessResponse<StoreCatalogResponse>>;
|
|
4
4
|
getWallet(): Promise<import("../types.js").ApiSuccessResponse<WalletBalance>>;
|
|
@@ -17,4 +17,6 @@ export declare function createShopResource(api: ApiLike): {
|
|
|
17
17
|
}): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
18
18
|
equip(itemId: string): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
19
19
|
getInventory(): Promise<import("../types.js").ApiSuccessResponse<InventoryResponse>>;
|
|
20
|
+
/** Completed shop purchases, including repeated Extras; session-authenticated. */
|
|
21
|
+
getPurchaseHistory(options?: PurchaseHistoryOptions): Promise<import("../types.js").ApiSuccessResponse<PurchaseHistoryResponse>>;
|
|
20
22
|
};
|
package/dist/resources/shop.js
CHANGED
|
@@ -23,6 +23,14 @@ export function createShopResource(api) {
|
|
|
23
23
|
getInventory() {
|
|
24
24
|
return api.get("/inventory");
|
|
25
25
|
},
|
|
26
|
+
/** Completed shop purchases, including repeated Extras; session-authenticated. */
|
|
27
|
+
getPurchaseHistory(options) {
|
|
28
|
+
return api.get("/store/purchase-history", {
|
|
29
|
+
query: options ? { ...options } : undefined,
|
|
30
|
+
cache: "no-store",
|
|
31
|
+
authMode: "session",
|
|
32
|
+
});
|
|
33
|
+
},
|
|
26
34
|
};
|
|
27
35
|
}
|
|
28
36
|
//# sourceMappingURL=shop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop.js","sourceRoot":"","sources":["../../src/resources/shop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shop.js","sourceRoot":"","sources":["../../src/resources/shop.ts"],"names":[],"mappings":"AAUA,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,gBAAgB;YACZ,OAAO,GAAG,CAAC,GAAG,CAAoB,wBAAwB,CAAC,CAAC;QAChE,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;QAED,kFAAkF;QAClF,kBAAkB,CAAC,OAAgC;YAC/C,OAAO,GAAG,CAAC,GAAG,CAA0B,yBAAyB,EAAE;gBAC/D,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC3C,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,SAAS;aACtB,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import type { ApiLike, MediaSearchResponse } from "../types.js";
|
|
1
|
+
import type { ApiLike, MediaSearchResponse, YouTubeRegionAvailability } from "../types.js";
|
|
2
2
|
export declare function createSourceResource(api: ApiLike): {
|
|
3
|
+
/** Checks any saved or unsaved YouTube video without changing playlist metadata. */
|
|
4
|
+
getYouTubeRegionAvailability(videoId: string, options?: {
|
|
5
|
+
country?: string;
|
|
6
|
+
viewer?: boolean;
|
|
7
|
+
}): Promise<import("../types.js").ApiSuccessResponse<YouTubeRegionAvailability>>;
|
|
3
8
|
search(source: string, query: string, limit?: number, pageToken?: string | null): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResponse>>;
|
|
4
9
|
searchYouTube(query: string, limit?: number, pageToken?: string | null): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResponse>>;
|
|
5
10
|
searchSoundCloud(query: string, limit?: number, pageToken?: string | null): Promise<import("../types.js").ApiSuccessResponse<MediaSearchResponse>>;
|
package/dist/resources/source.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
export function createSourceResource(api) {
|
|
2
2
|
return {
|
|
3
|
+
/** Checks any saved or unsaved YouTube video without changing playlist metadata. */
|
|
4
|
+
getYouTubeRegionAvailability(videoId, options = {}) {
|
|
5
|
+
return api.get("/media/youtube/region-availability", {
|
|
6
|
+
query: {
|
|
7
|
+
videoId,
|
|
8
|
+
country: options.country,
|
|
9
|
+
viewer: options.viewer ? "1" : undefined,
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
},
|
|
3
13
|
search(source, query, limit = 8, pageToken) {
|
|
4
14
|
return api.get("/media/search", {
|
|
5
15
|
query: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/resources/source.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC7C,OAAO;QACH,MAAM,CACF,MAAc,EACd,KAAa,EACb,KAAK,GAAG,CAAC,EACT,SAAyB;YAEzB,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM;oBACN,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,aAAa,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC,EAAE,SAAyB;YAC7D,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM,EAAE,SAAS;oBACjB,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,gBAAgB,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC,EAAE,SAAyB;YAChE,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM,EAAE,YAAY;oBACpB,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC;YACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC5C,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;oBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBAChD,CAAC;gBACF,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;oBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBACnD,CAAC;aACL,CAAC,CAAC;YAEH,OAAO;gBACH,IAAI,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC9B;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/resources/source.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC7C,OAAO;QACH,oFAAoF;QACpF,4BAA4B,CAAC,OAAe,EAAE,OAAO,GAA2C,EAAE;YAC9F,OAAO,GAAG,CAAC,GAAG,CAA4B,oCAAoC,EAAE;gBAC5E,KAAK,EAAE;oBACH,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;iBAC3C;aACJ,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CACF,MAAc,EACd,KAAa,EACb,KAAK,GAAG,CAAC,EACT,SAAyB;YAEzB,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM;oBACN,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,aAAa,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC,EAAE,SAAyB;YAC7D,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM,EAAE,SAAS;oBACjB,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,gBAAgB,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC,EAAE,SAAyB;YAChE,OAAO,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;gBACjD,KAAK,EAAE;oBACH,MAAM,EAAE,YAAY;oBACpB,CAAC,EAAE,KAAK;oBACR,KAAK;oBACL,SAAS,EAAE,SAAS,IAAI,SAAS;iBACpC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC;YACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC5C,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;oBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBAChD,CAAC;gBACF,GAAG,CAAC,GAAG,CAAsB,eAAe,EAAE;oBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;iBACnD,CAAC;aACL,CAAC,CAAC;YAEH,OAAO;gBACH,IAAI,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,IAAI;oBACrB,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC9B;gBACD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -511,6 +511,29 @@ export interface MediaSearchResponse {
|
|
|
511
511
|
export interface ChatMediaPreviewResponse {
|
|
512
512
|
previewUrl: string | null;
|
|
513
513
|
}
|
|
514
|
+
/** A provider lookup can be partial or unavailable; null never means allowed. */
|
|
515
|
+
export interface YouTubeRegionAvailability {
|
|
516
|
+
videoId: string;
|
|
517
|
+
country: string;
|
|
518
|
+
blocked: boolean | null;
|
|
519
|
+
allowedCountries: string[] | null;
|
|
520
|
+
blockedCountries: string[] | null;
|
|
521
|
+
embeddable: boolean | null;
|
|
522
|
+
}
|
|
523
|
+
export interface RoomOwnershipTransferChallenge {
|
|
524
|
+
challengeId: string;
|
|
525
|
+
targetUserId: string;
|
|
526
|
+
maskedEmail: string;
|
|
527
|
+
expiresAt: string;
|
|
528
|
+
resendAfter: string;
|
|
529
|
+
codeLength: 6;
|
|
530
|
+
}
|
|
531
|
+
export interface RoomOwnershipTransferResult {
|
|
532
|
+
userId: string;
|
|
533
|
+
role: "host";
|
|
534
|
+
previousOwnerId: string;
|
|
535
|
+
ownerChanged: true;
|
|
536
|
+
}
|
|
514
537
|
/** Pending public chat message held for moderator approval. */
|
|
515
538
|
export interface ChatLinkReview {
|
|
516
539
|
id: string;
|
|
@@ -883,6 +906,37 @@ export interface RoomBotState {
|
|
|
883
906
|
snapshot: RoomStateSnapshot;
|
|
884
907
|
customEmojis: RoomCustomEmoji[];
|
|
885
908
|
}
|
|
909
|
+
export type PurchaseHistoryCategory = "avatar" | "background" | "badge" | "videoframe" | "misc" | "unknown";
|
|
910
|
+
export type PurchaseHistoryCurrency = "coins" | "diamonds" | "free" | "external";
|
|
911
|
+
export interface PurchaseHistoryOptions {
|
|
912
|
+
page?: number;
|
|
913
|
+
pageSize?: number;
|
|
914
|
+
q?: string;
|
|
915
|
+
category?: PurchaseHistoryCategory | "all";
|
|
916
|
+
}
|
|
917
|
+
export interface PurchaseHistoryItem {
|
|
918
|
+
id: string;
|
|
919
|
+
itemId: string | null;
|
|
920
|
+
name: string;
|
|
921
|
+
category: PurchaseHistoryCategory;
|
|
922
|
+
collection: string | null;
|
|
923
|
+
imageUrl: string | null;
|
|
924
|
+
frameCount?: number;
|
|
925
|
+
frameWidth?: number;
|
|
926
|
+
/** Absolute recorded wallet charge; external fiat amounts are not tracked here. */
|
|
927
|
+
amount: number;
|
|
928
|
+
/** Null means the historical purchase currency was not recorded. */
|
|
929
|
+
currency: PurchaseHistoryCurrency | null;
|
|
930
|
+
purchasedAt: string;
|
|
931
|
+
description: string;
|
|
932
|
+
}
|
|
933
|
+
export interface PurchaseHistoryResponse {
|
|
934
|
+
items: PurchaseHistoryItem[];
|
|
935
|
+
page: number;
|
|
936
|
+
pageSize: number;
|
|
937
|
+
total: number;
|
|
938
|
+
totalPages: number;
|
|
939
|
+
}
|
|
886
940
|
/** Extensible room snapshot returned by bot state and room realtime events. */
|
|
887
941
|
export interface RoomStateSnapshot extends Record<string, unknown> {
|
|
888
942
|
roomId?: string;
|
|
@@ -999,7 +1053,35 @@ export interface SystemDonationGoal {
|
|
|
999
1053
|
raisedCents: number;
|
|
1000
1054
|
[key: string]: unknown;
|
|
1001
1055
|
}
|
|
1056
|
+
export interface SystemProgressionXp {
|
|
1057
|
+
dailyLimit: {
|
|
1058
|
+
enabled: boolean;
|
|
1059
|
+
/** Shared equivalent reward hours; this is not a fixed XP amount. */
|
|
1060
|
+
hours: number;
|
|
1061
|
+
resetTimeUtc: "00:00";
|
|
1062
|
+
};
|
|
1063
|
+
globalCooldownMs: number;
|
|
1064
|
+
woot: {
|
|
1065
|
+
xp: number;
|
|
1066
|
+
cooldownMs: number;
|
|
1067
|
+
dailyXpCostMs: number;
|
|
1068
|
+
};
|
|
1069
|
+
dj: {
|
|
1070
|
+
xp: number;
|
|
1071
|
+
cooldownMs: number;
|
|
1072
|
+
replayCooldownMs: number;
|
|
1073
|
+
dailyXpCostMs: number;
|
|
1074
|
+
minDurationMs: number;
|
|
1075
|
+
minPlaybackMs: number;
|
|
1076
|
+
minPlaybackPercent: number;
|
|
1077
|
+
maxRequiredPlaybackMs: number;
|
|
1078
|
+
minWoots: number;
|
|
1079
|
+
minHumans: number;
|
|
1080
|
+
};
|
|
1081
|
+
}
|
|
1002
1082
|
export interface SystemStatus {
|
|
1083
|
+
/** Null when XP configuration is unavailable; omitted by older servers. */
|
|
1084
|
+
progressionXp?: SystemProgressionXp | null;
|
|
1003
1085
|
donationCurrencySelectionEnabled?: boolean;
|
|
1004
1086
|
customPronounsEnabled?: boolean;
|
|
1005
1087
|
teamPageEnabled?: boolean;
|