@wavezfm/api 0.7.15 → 0.7.16
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 +8 -0
- package/README.md +33 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.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/types.d.ts +59 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Public XP settings (October 2)
|
|
6
|
+
|
|
7
|
+
- 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.
|
|
8
|
+
|
|
9
|
+
### Purchase history (October 2)
|
|
10
|
+
|
|
11
|
+
- 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.
|
|
12
|
+
|
|
5
13
|
### API synchronization (October 1, after 0.7.14)
|
|
6
14
|
|
|
7
15
|
- 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, 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;
|
|
@@ -457,6 +457,7 @@ export declare function createApiClient(config: ApiClientConfig): {
|
|
|
457
457
|
}): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
458
458
|
equip(itemId: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
|
|
459
459
|
getInventory(): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").InventoryResponse>>;
|
|
460
|
+
getPurchaseHistory(options?: import("./types.js").PurchaseHistoryOptions): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").PurchaseHistoryResponse>>;
|
|
460
461
|
};
|
|
461
462
|
billing: {
|
|
462
463
|
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":"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;AAmJpE,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,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;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,eAAe,EAAE,6BAA6B,CAAC,GAAG,CAAC;QACnD,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,UAAU,EAAE,wBAAwB,CAAC,GAAG,CAAC;QACzC,SAAS,EAAE,uBAAuB,CAAC,GAAG,CAAC;QACvC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACnC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACjC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACtC,CAAC;AACN,CAAC"}
|
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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -883,6 +883,37 @@ export interface RoomBotState {
|
|
|
883
883
|
snapshot: RoomStateSnapshot;
|
|
884
884
|
customEmojis: RoomCustomEmoji[];
|
|
885
885
|
}
|
|
886
|
+
export type PurchaseHistoryCategory = "avatar" | "background" | "badge" | "videoframe" | "misc" | "unknown";
|
|
887
|
+
export type PurchaseHistoryCurrency = "coins" | "diamonds" | "free" | "external";
|
|
888
|
+
export interface PurchaseHistoryOptions {
|
|
889
|
+
page?: number;
|
|
890
|
+
pageSize?: number;
|
|
891
|
+
q?: string;
|
|
892
|
+
category?: PurchaseHistoryCategory | "all";
|
|
893
|
+
}
|
|
894
|
+
export interface PurchaseHistoryItem {
|
|
895
|
+
id: string;
|
|
896
|
+
itemId: string | null;
|
|
897
|
+
name: string;
|
|
898
|
+
category: PurchaseHistoryCategory;
|
|
899
|
+
collection: string | null;
|
|
900
|
+
imageUrl: string | null;
|
|
901
|
+
frameCount?: number;
|
|
902
|
+
frameWidth?: number;
|
|
903
|
+
/** Absolute recorded wallet charge; external fiat amounts are not tracked here. */
|
|
904
|
+
amount: number;
|
|
905
|
+
/** Null means the historical purchase currency was not recorded. */
|
|
906
|
+
currency: PurchaseHistoryCurrency | null;
|
|
907
|
+
purchasedAt: string;
|
|
908
|
+
description: string;
|
|
909
|
+
}
|
|
910
|
+
export interface PurchaseHistoryResponse {
|
|
911
|
+
items: PurchaseHistoryItem[];
|
|
912
|
+
page: number;
|
|
913
|
+
pageSize: number;
|
|
914
|
+
total: number;
|
|
915
|
+
totalPages: number;
|
|
916
|
+
}
|
|
886
917
|
/** Extensible room snapshot returned by bot state and room realtime events. */
|
|
887
918
|
export interface RoomStateSnapshot extends Record<string, unknown> {
|
|
888
919
|
roomId?: string;
|
|
@@ -999,7 +1030,35 @@ export interface SystemDonationGoal {
|
|
|
999
1030
|
raisedCents: number;
|
|
1000
1031
|
[key: string]: unknown;
|
|
1001
1032
|
}
|
|
1033
|
+
export interface SystemProgressionXp {
|
|
1034
|
+
dailyLimit: {
|
|
1035
|
+
enabled: boolean;
|
|
1036
|
+
/** Shared equivalent reward hours; this is not a fixed XP amount. */
|
|
1037
|
+
hours: number;
|
|
1038
|
+
resetTimeUtc: "00:00";
|
|
1039
|
+
};
|
|
1040
|
+
globalCooldownMs: number;
|
|
1041
|
+
woot: {
|
|
1042
|
+
xp: number;
|
|
1043
|
+
cooldownMs: number;
|
|
1044
|
+
dailyXpCostMs: number;
|
|
1045
|
+
};
|
|
1046
|
+
dj: {
|
|
1047
|
+
xp: number;
|
|
1048
|
+
cooldownMs: number;
|
|
1049
|
+
replayCooldownMs: number;
|
|
1050
|
+
dailyXpCostMs: number;
|
|
1051
|
+
minDurationMs: number;
|
|
1052
|
+
minPlaybackMs: number;
|
|
1053
|
+
minPlaybackPercent: number;
|
|
1054
|
+
maxRequiredPlaybackMs: number;
|
|
1055
|
+
minWoots: number;
|
|
1056
|
+
minHumans: number;
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1002
1059
|
export interface SystemStatus {
|
|
1060
|
+
/** Null when XP configuration is unavailable; omitted by older servers. */
|
|
1061
|
+
progressionXp?: SystemProgressionXp | null;
|
|
1003
1062
|
donationCurrencySelectionEnabled?: boolean;
|
|
1004
1063
|
customPronounsEnabled?: boolean;
|
|
1005
1064
|
teamPageEnabled?: boolean;
|