@wavezfm/api 0.7.23 → 0.7.24

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
@@ -2,6 +2,15 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ### October 10 contract synchronization
6
+
7
+ - Added typed `billingCheckoutPolicy`, eight supported fiat currencies and donation currency maps, checkout payment modes, returned payment mode/amount/currency, and `subscriptionPaymentMode` plus announcement options to subscription checkout. Prepaid Stripe Pix remains BRL-only and does not renew automatically.
8
+ - Added admin-session `adminMedia` listing, multipart upload and folder/asset management helpers and types. Moving or renaming an image changes its direct URL; folder rename/delete requires an empty folder.
9
+ - Added session-authenticated bot appearance/access and deletion helpers, bot list `canEdit`/`canDelete`, and the `delete_protected_messages` permission to types and creation validation.
10
+ - Typed effective private-command sender role, assigned room badge and platform role without changing raw event delivery. Documented platform staff hierarchy, protected bot targets, inline private replies and target-aware ephemeral visibility with local dismissal.
11
+ - Typed per-room `guestAccessEnabled` in details, settings updates and snapshots, and included the existing `vip` role in `RoomRoleName`.
12
+ - Existing helper names and string currency inputs remain compatible. No automatic retries, provider selection, payment conversion or bot authorization are performed by the SDK.
13
+
5
14
  ### Room action events (October 5)
6
15
 
7
16
  - Added typed `track_skipped` and `queue_reordered` actors while retaining legacy `actorUserId`. Documented consistent canonical human usernames, bot names, matching authorizing-account moderator fields, and no-op role assignments.
@@ -51,7 +60,7 @@
51
60
  - Typed room-bot chat embeds for HTTP and realtime messages, with `RoomBotChatEmbed` and `RoomBotRealtimeSendMessageInput` exported from the package root. Realtime `sendChat()` now forwards the card; staff-channel bot replies remain HTTP-only.
52
61
  - Added bot-authenticated `client.roomBot.uploadImage()` for multipart chat image uploads, including optional dimensions and a typed upload response. Room-bot message history now returns typed `ChatMessage[]` with embeds.
53
62
  - Private user-to-bot commands via the `bot_private_command` realtime event, with the exported `BotPrivateCommand` payload type and `onPrivateCommand()` subscription helper.
54
- - `replyToPrivateCommand(command, content)` sends a private bot response back to the original user's `/bot` dialog, with long replies supported in multiple chunks.
63
+ - `replyToPrivateCommand(command, content)` sends a correlated private reply to the original user: dialog commands display it in the dialog; inline commands display it in local chat. Long replies support multiple chunks.
55
64
  - Documentation and examples for multiline prompts, server-provided sender identity, authorization, deduplication, and dialog replies. The command limit defaults to 8,000 characters and requires the updated server and web deployment. Existing SDK consumers can subscribe through the generic `on()` method.
56
65
 
57
66
  - Bot-authenticated `client.roomBot.renameSelf(roomId, botName)` for owner-enabled personalities. Added `allowSelfRename` to owner settings; self-renaming has a five-minute cooldown and cannot change permissions or prefix.
package/README.md CHANGED
@@ -54,7 +54,7 @@ if (bots.data[0]) {
54
54
  }
55
55
  ```
56
56
 
57
- These methods manage only the caller's active bots and require room bot creation access. Updates preserve the token and expiration; subsequent bot API requests use the saved settings. Existing messages are unchanged. Legacy discovery requires the creation audit record. The server must have migration `0127_room_bot_settings.sql` applied. See [editing bots](https://docs.wavez.fm/docs/room-bots/edit-bot).
57
+ The server returns each bot's `canEdit` and `canDelete`; visibility does not imply editing or deletion access. Owners can list room bots, and creators can still list their own when new bot creation is disabled. Platform admins may edit every active bot in the room; other users edit their own bots with current creation/management eligibility. Deletion is limited to the bot creator or room owner, including for administrators. `client.room.deleteBot(roomId, tokenId)` revokes the token and disconnects the bot. Updates preserve the token and expiration; subsequent bot API requests use the saved settings. Existing messages are unchanged. Legacy discovery requires the creation audit record. The server must have migration `0127_room_bot_settings.sql` applied. See [editing bots](https://docs.wavez.fm/docs/room-bots/edit-bot).
58
58
 
59
59
  ```ts
60
60
  import { createApiClient } from '@wavezfm/api';
@@ -78,6 +78,39 @@ the current `chatMaxLength` (255 by default) as a fallback; the web chat display
78
78
  the card instead. The same card can be sent through realtime `sendChat()`, but
79
79
  staff-channel replies must use HTTP `client.roomBot.sendMessage()`.
80
80
 
81
+ `ephemeral: true` means live-only, not necessarily private. Without targets it is
82
+ sent to the room; `targetUserId` or `targetUserIds` restricts it to connected
83
+ recipients. The website shows a tinted message, its actual visibility and a
84
+ **Dismiss** action that only removes that local copy.
85
+
86
+ Human users in bot HTTP/realtime snapshots expose effective authorization roles
87
+ in `role`/`roomRole`: Admin and Developer have at least Host access; Ambassador
88
+ has at least Manager access. `assignedRoomRole` preserves the room badge. These
89
+ floors do not grant room ownership. Bots cannot change Admin, Developer or
90
+ Ambassador room roles, queue access or unban them, including with an admin-owned
91
+ token. Authorize each command from its server-supplied sender; a privileged token
92
+ owner does not prove who invoked an external bot command.
93
+
94
+ Bot appearance is managed through the **user-session** room resource:
95
+
96
+ ```ts
97
+ const { data: access } = await client.room.getBotAppearanceAccess(roomId);
98
+ if (access.canEdit) {
99
+ const { data: appearance } = await client.room.getBotAppearance(tokenId);
100
+ await client.room.updateBotAppearance(roomId, tokenId, {
101
+ ...appearance,
102
+ icon: 'https://cdn.wavez.fm/admin-media/bot-icon.png',
103
+ });
104
+ }
105
+ ```
106
+
107
+ `icon` accepts a Tabler identifier or HTTPS image URL for the badge beside the
108
+ name and is the chat-avatar fallback when `chatImageUrl` is unset. `photoUrl`
109
+ is the profile photo and fallback when neither chat image nor icon is set.
110
+ Image artwork retains its own colors. Send the full appearance when preserving
111
+ other fields: the server replaces all four fields and omitted fields reset to
112
+ `null`. `setBotAppearanceAccess(roomId, enabled)` is platform-admin-only.
113
+
81
114
  ```ts
82
115
  await client.roomBot.sendMessage('room-id', {
83
116
  content: 'Queue status: 5 listeners waiting',
@@ -342,6 +375,68 @@ is `false`; administrator exclusions are applied by the server.
342
375
  flag. Browser opt-in is a local website preference rather than a settings API
343
376
  field.
344
377
 
378
+ Room details and snapshots expose `guestAccessEnabled`. Authorized human or bot
379
+ room managers may send it through `updateSettings()`; `false` requires a login
380
+ to enter the room. This controls guest entry, not registered-user permissions.
381
+
382
+ ## Billing currencies and BRL/Pix policy
383
+
384
+ Subscriber, diamonds, their gifts and donations support **USD, BRL, EUR, CZK,
385
+ JPY, PLN, KRW and NOK**. Real-money Extras use the currency configured on each
386
+ item. The server rejects unsupported currencies rather than defaulting to USD.
387
+ Prices are configured values; selecting a currency does not request a live FX
388
+ conversion. Existing checkout helpers retain their string currency inputs.
389
+
390
+ ```ts
391
+ const { data: status } = await client.system.status();
392
+ if (status.billingCheckoutPolicy?.stripeBrlEnabled) {
393
+ const { data: checkout } = await client.billing.createSubscriptionCheckout({
394
+ currency: 'brl', provider: 'stripe', cycle: 'monthly',
395
+ subscriptionPaymentMode: 'prepaid', locale: 'pt-BR', uiMode: 'hosted',
396
+ });
397
+ // Hosted Stripe Pix: a one-time month or year, without automatic renewal.
398
+ if (checkout.checkoutUrl) console.log(checkout.checkoutUrl);
399
+ }
400
+ ```
401
+
402
+ `billingCheckoutPolicy.stripeBrlPixOnly` disables card for new Stripe BRL
403
+ payments and prevents new recurring BRL Stripe checkout. Existing renewals are
404
+ unchanged. Explicit `subscriptionPaymentMode: 'recurring'` requires card support;
405
+ Stripe prepaid Pix is BRL-only. Mercado Pago remains the default BRL provider.
406
+ Check payment status before treating a purchase as fulfilled: pending Pix
407
+ payments do not grant access. `getCheckoutSessionStatus()` exposes the payment
408
+ mode, amount and currency along with the Stripe session status.
409
+
410
+ Donation input `amountCents`, goal maps and recorded `amount` use **hundredths of
411
+ a major currency unit for every currency**, including JPY/KRW. For example,
412
+ 1,000 JPY is represented as `100000`. Stripe checkout converts JPY/KRW to
413
+ whole-unit minor amounts. Format them without fractional currency digits.
414
+
415
+ ## Admin CDN images
416
+
417
+ `client.adminMedia` uses an administrator **user session** and CSRF protection;
418
+ bot tokens cannot manage these assets. It lists only the manager's collection.
419
+
420
+ ```ts
421
+ const { data: listing } = await client.adminMedia.list({ folder: '' });
422
+ if (listing.enabled) {
423
+ await client.adminMedia.createFolder('Bots');
424
+ const { data } = await client.adminMedia.upload(imageBlob, {
425
+ fileName: 'robot.png', folder: 'Bots',
426
+ });
427
+ console.log(data.asset.url); // Direct HTTPS CDN link.
428
+ }
429
+ ```
430
+
431
+ Uploads accept PNG, JPEG, GIF and WebP, including animations, up to 10 MiB per
432
+ file. Pass `nextCursor` back to `list({ folder, cursor })` for the next page;
433
+ do not manually set multipart Content-Type. `moveAsset(key, { name, folder })`
434
+ returns a new key and URL; update references that used the previous URL.
435
+ `renameFolder()` and `deleteFolder()` require an empty folder. Deletion is
436
+ permanent; obtain any needed confirmation in your application before calling
437
+ `deleteAsset()` or `deleteFolder()`. Storage availability comes from server R2
438
+ configuration, not a setting supplied by an SDK consumer.
439
+
345
440
  ## Room action events
346
441
 
347
442
  The realtime client forwards raw WebSocket packets without renaming or combining events. The updated server broadcasts `user_kicked`, `user_banned`, `user_unbanned`, and `queue_removed` with an `actor`. Bot actions identify the bot in `actor.userId` and its authorizing owner in `actor.ownerUserId`. For humans, `actor.username` consistently contains the stored account username rather than the display name; for room bots, it contains the bot name. Legacy `moderatorId` and `moderatorUsername` both identify the authorizing account.
@@ -410,6 +505,6 @@ bot.onPrivateCommand((command) => {
410
505
  await bot.connect();
411
506
  ```
412
507
 
413
- The wire event is `bot_private_command`. Its payload includes `id`, `requestId`, `roomId`, `botUserId`, `content`, `private: true`, `persisted: false`, `timestamp`, and a server-supplied `sender` with `userId`, `username`, `displayUsername`, `roomRole`, `platformRoles`, and `isRoomOwner`. Existing SDK versions can use `bot.on('bot_private_command', packet => { /* packet.payload */ })`; `onPrivateCommand` is a convenience wrapper in the updated SDK.
508
+ The website sends `/bot @botname ping` inline; `/bot` and `/bot @botname` open the multiline command dialog. The wire event is `bot_private_command`. Its payload includes `id`, `requestId`, `roomId`, `botUserId`, `content`, `private: true`, `persisted: false`, `timestamp`, and a server-supplied `sender` with `userId`, `username`, `displayUsername`, `role`, `roomRole`, `assignedRoomRole`, `platformRole`, `platformRoles`, and `isRoomOwner`. `role`/`roomRole` are effective authorization roles; `assignedRoomRole` is the assigned room badge. Existing SDK versions can use `bot.on('bot_private_command', packet => { /* packet.payload */ })`; `onPrivateCommand` is a convenience wrapper in the updated SDK.
414
509
 
415
- The website acknowledgement means **forwarded**, not processed or saved. The bot's private reply appears in the `/bot` dialog, including multiline prompts, without adding a public or ephemeral chat message. `replyToPrivateCommand` sends `send_bot_private_reply` with the original command ID. Replies require the bot's `send_chat` permission and are limited to 8,000 UTF-16 code units each, up to eight chunks within ten minutes of the original command. The requester must still be present and allowed to chat. Your bot must authorize configuration changes using the supplied identity and its own access policy. Commands require the user's room chat permission and respect room mutes and rate limits. Delivery is not durable or exactly once; deduplicate IDs and do not blindly retry a configuration change after a timeout. Multiple connections for the same bot can receive the same command. Targeted ephemeral `sendChat()` remains available when you want a private chat notification instead of a dialog response.
510
+ The website acknowledgement means **forwarded**, not processed or saved. Dialog commands display replies in that dialog; inline commands display correlated replies as private, dismissible local chat messages. Neither path broadcasts replies or stores them in public history. `replyToPrivateCommand` sends `send_bot_private_reply` with the original command ID. Replies require the bot's `send_chat` permission and are limited to 8,000 UTF-16 code units each, up to eight chunks within ten minutes of the original command. The requester must still be present and allowed to chat. Your bot must authorize configuration changes using the supplied identity and its own access policy. Commands require the user's room chat permission and respect room mutes and rate limits. Delivery is not durable or exactly once; deduplicate IDs and do not blindly retry a configuration change after a timeout. Multiple connections for the same bot can receive the same command. Targeted ephemeral `sendChat()` remains available for an independent live notification.
package/dist/index.d.ts CHANGED
@@ -16,10 +16,11 @@ export { createBillingResource } from "./resources/billing.js";
16
16
  export { createSystemResource } from "./resources/system.js";
17
17
  export { createEventsResource } from "./resources/events.js";
18
18
  export { createRoomBotResource } from "./resources/roomBot.js";
19
+ export { createAdminMediaResource } from "./resources/adminMedia.js";
19
20
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
20
21
  export { formatMentionText } from "./utils/chat.js";
21
22
  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, 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, RoomActionActor, RoomBotUserKickedPayload, RoomBotUserBannedPayload, RoomBotUserUnbannedPayload, RoomBotQueueRemovalReason, RoomBotQueueRemovedPayload, RoomBotQueueLeftPayload, RoomBotTrackSkippedPayload, RoomBotQueueReorderedPayload, RoomBotMessageDeletedPayload, RoomBotChatClearedPayload, RoomBotUserUpdatedPayload, RoomBotRoomSettingsUpdatedPayload, RoomBotRealtimeEventPayloads, RoomBotRealtimeEventName, 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, SystemAlertCustomEmoji, SystemAlertInput, SystemAlertResponse, SystemHealth, SystemPublicStats, SystemProgressionXp, SystemStatus, TwoFactorStatus, UserSettings, UserSystemAlert, UserProfile, UserBlockState, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
23
+ export type { BotPrivateCommand, AdminMediaAsset, AdminMediaFolder, AdminMediaListing, BillingCurrency, BillingCheckoutPolicy, SubscriptionPaymentMode, CheckoutSessionStatus, RoomBotAppearance, RoomBotAppearanceAccess, 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, RoomActionActor, RoomBotUserKickedPayload, RoomBotUserBannedPayload, RoomBotUserUnbannedPayload, RoomBotQueueRemovalReason, RoomBotQueueRemovedPayload, RoomBotQueueLeftPayload, RoomBotTrackSkippedPayload, RoomBotQueueReorderedPayload, RoomBotMessageDeletedPayload, RoomBotChatClearedPayload, RoomBotUserUpdatedPayload, RoomBotRoomSettingsUpdatedPayload, RoomBotRealtimeEventPayloads, RoomBotRealtimeEventName, 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, SystemAlertCustomEmoji, SystemAlertInput, SystemAlertResponse, SystemHealth, SystemPublicStats, SystemProgressionXp, SystemStatus, TwoFactorStatus, UserSettings, UserSystemAlert, UserProfile, UserBlockState, WalletBalance, WebSocketLike, WsPacket, } from "./types.js";
23
24
  import type { ApiClientConfig } from "./types.js";
24
25
  export declare function createApiClient(config: ApiClientConfig): {
25
26
  api: import("./core/api.js").WavezApi;
@@ -236,6 +237,13 @@ export declare function createApiClient(config: ApiClientConfig): {
236
237
  expiresInHours?: number;
237
238
  }): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotToken>>;
238
239
  listBots(roomId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotSettings[]>>;
240
+ deleteBot(roomId: string, tokenId: string): Promise<import("./types.js").ApiSuccessResponse<{
241
+ success: true;
242
+ }>>;
243
+ getBotAppearance(tokenId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotAppearance>>;
244
+ getBotAppearanceAccess(roomId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotAppearanceAccess>>;
245
+ setBotAppearanceAccess(roomId: string, enabled: boolean): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotAppearanceAccess>>;
246
+ updateBotAppearance(roomId: string, tokenId: string, input: Partial<import("./types.js").RoomBotAppearance>): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotAppearance>>;
239
247
  updateBot(roomId: string, tokenId: string, input: import("./types.js").RoomBotSettingsUpdateInput): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomBotSettings>>;
240
248
  listEmojis(roomId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").RoomCustomEmoji[]>>;
241
249
  listAuditLogs(roomId: string, limit?: number, page?: number): Promise<import("./types.js").ApiSuccessResponse<{
@@ -468,13 +476,7 @@ export declare function createApiClient(config: ApiClientConfig): {
468
476
  getPurchaseHistory(options?: import("./types.js").PurchaseHistoryOptions): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").PurchaseHistoryResponse>>;
469
477
  };
470
478
  billing: {
471
- getCheckoutSessionStatus(sessionId: string): Promise<import("./types.js").ApiSuccessResponse<{
472
- sessionId: string;
473
- status: string | null;
474
- paymentStatus: string | null;
475
- kind: string | null;
476
- cycle: "monthly" | "annual" | null;
477
- }>>;
479
+ getCheckoutSessionStatus(sessionId: string): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").CheckoutSessionStatus>>;
478
480
  cancelSubscription(): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
479
481
  resumeSubscription(): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
480
482
  upgradeSubscription(input?: {
@@ -482,6 +484,9 @@ export declare function createApiClient(config: ApiClientConfig): {
482
484
  }): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
483
485
  listSubscriptionPaymentHistory(): Promise<import("./types.js").ApiSuccessResponse<unknown[]>>;
484
486
  createSubscriptionCheckout(input?: {
487
+ subscriptionPaymentMode?: import("./types.js").SubscriptionPaymentMode | null;
488
+ announceInRoom?: boolean;
489
+ announceRoomSlug?: string | null;
485
490
  cycle?: string | null;
486
491
  currency?: string | null;
487
492
  locale?: string | null;
@@ -591,6 +596,36 @@ export declare function createApiClient(config: ApiClientConfig): {
591
596
  listPendingGifts(): Promise<import("./types.js").ApiSuccessResponse<unknown[]>>;
592
597
  markGiftSeen(giftId: string): Promise<import("./types.js").ApiSuccessResponse<Record<string, unknown>>>;
593
598
  };
599
+ adminMedia: {
600
+ list(options?: {
601
+ folder?: string;
602
+ cursor?: string;
603
+ }): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").AdminMediaListing>>;
604
+ upload(file: Blob | FormData, options?: {
605
+ folder?: string;
606
+ fileName?: string;
607
+ }): Promise<import("./types.js").ApiSuccessResponse<{
608
+ asset: import("./types.js").AdminMediaAsset;
609
+ }>>;
610
+ createFolder(name: string, folder?: string): Promise<import("./types.js").ApiSuccessResponse<{
611
+ folder: import("./types.js").AdminMediaFolder;
612
+ }>>;
613
+ renameFolder(path: string, name: string): Promise<import("./types.js").ApiSuccessResponse<{
614
+ folder: import("./types.js").AdminMediaFolder;
615
+ }>>;
616
+ deleteFolder(path: string): Promise<import("./types.js").ApiSuccessResponse<{
617
+ success: true;
618
+ }>>;
619
+ moveAsset(key: string, input: {
620
+ name?: string;
621
+ folder?: string;
622
+ }): Promise<import("./types.js").ApiSuccessResponse<{
623
+ asset: import("./types.js").AdminMediaAsset;
624
+ }>>;
625
+ deleteAsset(key: string): Promise<import("./types.js").ApiSuccessResponse<{
626
+ success: true;
627
+ }>>;
628
+ };
594
629
  system: {
595
630
  createGlobalAlert(input: import("./types.js").SystemAlertInput): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").SystemAlertResponse<import("./types.js").SystemAlert>>>;
596
631
  createRoomAlert(roomId: string, input: import("./types.js").SystemAlertInput): Promise<import("./types.js").ApiSuccessResponse<import("./types.js").SystemAlertResponse<import("./types.js").RoomSystemAlert>>>;
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ export { createBillingResource } from "./resources/billing.js";
16
16
  export { createSystemResource } from "./resources/system.js";
17
17
  export { createEventsResource } from "./resources/events.js";
18
18
  export { createRoomBotResource } from "./resources/roomBot.js";
19
+ export { createAdminMediaResource } from "./resources/adminMedia.js";
19
20
  export { parseRoomQueueSnapshot } from "./utils/roomQueue.js";
20
21
  export { formatMentionText } from "./utils/chat.js";
21
22
  export { createRoomBotRealtimeClient } from "./realtime/roomBot.js";
@@ -33,6 +34,7 @@ import { createUserBlocksResource } from "./resources/userBlocks.js";
33
34
  import { createGiveawaysResource } from "./resources/giveaways.js";
34
35
  import { createShopResource } from "./resources/shop.js";
35
36
  import { createBillingResource } from "./resources/billing.js";
37
+ import { createAdminMediaResource } from "./resources/adminMedia.js";
36
38
  import { createSystemResource } from "./resources/system.js";
37
39
  import { createEventsResource } from "./resources/events.js";
38
40
  import { createRoomBotResource } from "./resources/roomBot.js";
@@ -53,6 +55,7 @@ export function createApiClient(config) {
53
55
  giveaways: createGiveawaysResource(api),
54
56
  shop: createShopResource(api),
55
57
  billing: createBillingResource(api),
58
+ adminMedia: createAdminMediaResource(api),
56
59
  system: createSystemResource(api),
57
60
  events: createEventsResource(api),
58
61
  roomBot: createRoomBotResource(api),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { AdminMediaAsset, AdminMediaFolder, AdminMediaListing, ApiLike } from "../types.js";
2
+ /** Admin-session CDN image management. Writes require the site's CSRF token. */
3
+ export declare function createAdminMediaResource(api: ApiLike): {
4
+ list(options?: {
5
+ folder?: string;
6
+ cursor?: string;
7
+ }): Promise<import("../types.js").ApiSuccessResponse<AdminMediaListing>>;
8
+ upload(file: Blob | FormData, options?: {
9
+ folder?: string;
10
+ fileName?: string;
11
+ }): Promise<import("../types.js").ApiSuccessResponse<{
12
+ asset: AdminMediaAsset;
13
+ }>>;
14
+ createFolder(name: string, folder?: string): Promise<import("../types.js").ApiSuccessResponse<{
15
+ folder: AdminMediaFolder;
16
+ }>>;
17
+ /** Only empty folders can be renamed. */
18
+ renameFolder(path: string, name: string): Promise<import("../types.js").ApiSuccessResponse<{
19
+ folder: AdminMediaFolder;
20
+ }>>;
21
+ /** Only empty folders can be deleted. */
22
+ deleteFolder(path: string): Promise<import("../types.js").ApiSuccessResponse<{
23
+ success: true;
24
+ }>>;
25
+ /** Moving or renaming an asset changes its key and direct URL. */
26
+ moveAsset(key: string, input: {
27
+ name?: string;
28
+ folder?: string;
29
+ }): Promise<import("../types.js").ApiSuccessResponse<{
30
+ asset: AdminMediaAsset;
31
+ }>>;
32
+ deleteAsset(key: string): Promise<import("../types.js").ApiSuccessResponse<{
33
+ success: true;
34
+ }>>;
35
+ };
@@ -0,0 +1,43 @@
1
+ /** Admin-session CDN image management. Writes require the site's CSRF token. */
2
+ export function createAdminMediaResource(api) {
3
+ return {
4
+ list(options) {
5
+ return api.get("/admin/media", {
6
+ query: options,
7
+ cache: "no-store",
8
+ });
9
+ },
10
+ upload(file, options) {
11
+ if (typeof FormData === "undefined") {
12
+ throw new Error("FormData is unavailable. Provide a runtime with native FormData support.");
13
+ }
14
+ if (file instanceof FormData) {
15
+ return api.post("/admin/media", file);
16
+ }
17
+ const body = new FormData();
18
+ body.append("file", file, options?.fileName ?? "image");
19
+ if (options?.folder !== undefined)
20
+ body.append("folder", options.folder);
21
+ return api.post("/admin/media", body);
22
+ },
23
+ createFolder(name, folder = "") {
24
+ return api.post("/admin/media/folders", { name, folder });
25
+ },
26
+ /** Only empty folders can be renamed. */
27
+ renameFolder(path, name) {
28
+ return api.patch("/admin/media/folders", { path, name });
29
+ },
30
+ /** Only empty folders can be deleted. */
31
+ deleteFolder(path) {
32
+ return api.delete("/admin/media/folders", { body: { path } });
33
+ },
34
+ /** Moving or renaming an asset changes its key and direct URL. */
35
+ moveAsset(key, input) {
36
+ return api.patch("/admin/media/assets", { key, ...input });
37
+ },
38
+ deleteAsset(key) {
39
+ return api.delete("/admin/media/assets", { body: { key } });
40
+ },
41
+ };
42
+ }
43
+ //# sourceMappingURL=adminMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminMedia.js","sourceRoot":"","sources":["../../src/resources/adminMedia.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACjD,OAAO;QACH,IAAI,CAAC,OAA8C;YAC/C,OAAO,GAAG,CAAC,GAAG,CAAoB,cAAc,EAAE;gBAC9C,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;QACP,CAAC;QAED,MAAM,CAAC,IAAqB,EAAE,OAAgD;YAC1E,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,IAAI,CAAuC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,OAAO,GAAG,CAAC,IAAI,CAAuC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;QAED,YAAY,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;YAClC,OAAO,GAAG,CAAC,IAAI,CAA+B,sBAAsB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,yCAAyC;QACzC,YAAY,CAAC,IAAY,EAAE,IAAY;YACnC,OAAO,GAAG,CAAC,KAAK,CAA+B,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,yCAAyC;QACzC,YAAY,CAAC,IAAY;YACrB,OAAO,GAAG,CAAC,MAAM,CAAoB,sBAAsB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,kEAAkE;QAClE,SAAS,CAAC,GAAW,EAAE,KAAyC;YAC5D,OAAO,GAAG,CAAC,KAAK,CAA6B,qBAAqB,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,WAAW,CAAC,GAAW;YACnB,OAAO,GAAG,CAAC,MAAM,CAAoB,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,12 +1,6 @@
1
- import type { ApiLike, CheckoutSessionResponse } from "../types.js";
1
+ import type { ApiLike, CheckoutSessionResponse, CheckoutSessionStatus, SubscriptionPaymentMode } from "../types.js";
2
2
  export declare function createBillingResource(api: ApiLike): {
3
- getCheckoutSessionStatus(sessionId: string): Promise<import("../types.js").ApiSuccessResponse<{
4
- sessionId: string;
5
- status: string | null;
6
- paymentStatus: string | null;
7
- kind: string | null;
8
- cycle: "monthly" | "annual" | null;
9
- }>>;
3
+ getCheckoutSessionStatus(sessionId: string): Promise<import("../types.js").ApiSuccessResponse<CheckoutSessionStatus>>;
10
4
  cancelSubscription(): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
11
5
  resumeSubscription(): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
12
6
  upgradeSubscription(input?: {
@@ -14,6 +8,10 @@ export declare function createBillingResource(api: ApiLike): {
14
8
  }): Promise<import("../types.js").ApiSuccessResponse<Record<string, unknown>>>;
15
9
  listSubscriptionPaymentHistory(): Promise<import("../types.js").ApiSuccessResponse<unknown[]>>;
16
10
  createSubscriptionCheckout(input?: {
11
+ /** Prepaid Stripe Pix is available only for BRL; recurring requires card support. */
12
+ subscriptionPaymentMode?: SubscriptionPaymentMode | null;
13
+ announceInRoom?: boolean;
14
+ announceRoomSlug?: string | null;
17
15
  cycle?: string | null;
18
16
  currency?: string | null;
19
17
  locale?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/resources/billing.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAC9C,OAAO;QACH,wBAAwB,CAAC,SAAiB;YACtC,OAAO,GAAG,CAAC,GAAG,CAMX,kCAAkC,EAAE;gBACnC,KAAK,EAAE,EAAE,SAAS,EAAE;aACvB,CAAC,CAAC;QACP,CAAC;QAED,kBAAkB;YACd,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,EAAE,CACL,CAAC;QACN,CAAC;QAED,kBAAkB;YACd,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,EAAE,CACL,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,KAAkC;YAClD,OAAO,GAAG,CAAC,IAAI,CACX,+BAA+B,EAC/B,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,8BAA8B;YAC1B,OAAO,GAAG,CAAC,GAAG,CACV,uCAAuC,CAC1C,CAAC;QACN,CAAC;QAED,0BAA0B,CAAC,KAO1B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,gCAAgC,EAChC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,qBAAqB,CAAC,KAOrB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,4BAA4B,EAC5B,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,sBAAsB,CAAC,KAStB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,0BAA0B,CACtB,MAAc,EACd,KAOC;YAED,OAAO,GAAG,CAAC,IAAI,CACX,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAChE,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,4BAA4B,CAAC,KAO5B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,yBAAyB,CAAC,KAWzB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,8BAA8B,CAAC,KAa9B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,qCAAqC,EACrC,KAAK,CACR,CAAC;QACN,CAAC;QAED,kCAAkC,CAAC,KAWlC;YACG,OAAO,GAAG,CAAC,IAAI,CACX,0CAA0C,EAC1C,KAAK,CACR,CAAC;QACN,CAAC;QAED,wBAAwB,CAAC,KAmBxB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B,CAAC,SAAiB;YACzC,OAAO,GAAG,CAAC,GAAG,CACV,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CACzE,CAAC;QACN,CAAC;QAED,6BAA6B,CAAC,KAK7B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,GAAG,CAAY,wBAAwB,CAAC,CAAC;QACxD,CAAC;QAED,YAAY,CAAC,MAAc;YACvB,OAAO,GAAG,CAAC,IAAI,CACX,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,OAAO,EACnD,EAAE,CACL,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/resources/billing.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAC9C,OAAO;QACH,wBAAwB,CAAC,SAAiB;YACtC,OAAO,GAAG,CAAC,GAAG,CAAwB,kCAAkC,EAAE;gBACtE,KAAK,EAAE,EAAE,SAAS,EAAE;aACvB,CAAC,CAAC;QACP,CAAC;QAED,kBAAkB;YACd,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,EAAE,CACL,CAAC;QACN,CAAC;QAED,kBAAkB;YACd,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,EAAE,CACL,CAAC;QACN,CAAC;QAED,mBAAmB,CAAC,KAAkC;YAClD,OAAO,GAAG,CAAC,IAAI,CACX,+BAA+B,EAC/B,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,8BAA8B;YAC1B,OAAO,GAAG,CAAC,GAAG,CACV,uCAAuC,CAC1C,CAAC;QACN,CAAC;QAED,0BAA0B,CAAC,KAW1B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,gCAAgC,EAChC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,qBAAqB,CAAC,KAOrB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,4BAA4B,EAC5B,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,sBAAsB,CAAC,KAStB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,0BAA0B,CACtB,MAAc,EACd,KAOC;YAED,OAAO,GAAG,CAAC,IAAI,CACX,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAChE,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,4BAA4B,CAAC,KAO5B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,yBAAyB,CAAC,KAWzB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,iCAAiC,EACjC,KAAK,CACR,CAAC;QACN,CAAC;QAED,8BAA8B,CAAC,KAa9B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,qCAAqC,EACrC,KAAK,CACR,CAAC;QACN,CAAC;QAED,kCAAkC,CAAC,KAWlC;YACG,OAAO,GAAG,CAAC,IAAI,CACX,0CAA0C,EAC1C,KAAK,CACR,CAAC;QACN,CAAC;QAED,wBAAwB,CAAC,KAmBxB;YACG,OAAO,GAAG,CAAC,IAAI,CACX,8BAA8B,EAC9B,KAAK,CACR,CAAC;QACN,CAAC;QAED,2BAA2B,CAAC,SAAiB;YACzC,OAAO,GAAG,CAAC,GAAG,CACV,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CACzE,CAAC;QACN,CAAC;QAED,6BAA6B,CAAC,KAK7B;YACG,OAAO,GAAG,CAAC,IAAI,CACX,mCAAmC,EACnC,KAAK,IAAI,EAAE,CACd,CAAC;QACN,CAAC;QAED,gBAAgB;YACZ,OAAO,GAAG,CAAC,GAAG,CAAY,wBAAwB,CAAC,CAAC;QACxD,CAAC;QAED,YAAY,CAAC,MAAc;YACvB,OAAO,GAAG,CAAC,IAAI,CACX,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,OAAO,EACnD,EAAE,CACL,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ApiLike, ApiSuccessResponse, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaValidationResponse, RoomGuestPresenceResponse, RoomPlaybackHistoryEntry, RoomQueueSnapshot, RoomQueueStatusResponse, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomCustomEmoji, RoomLinkFiltersUpdateInput, RoomSettingsUpdateInput, RoomSummary, RoomOwnershipTransferChallenge, RoomOwnershipTransferResult } from "../types.js";
1
+ import type { ApiLike, ApiSuccessResponse, RoomBotPermission, RoomExternalMediaMetadataResponse, RoomExternalMediaValidationResponse, RoomGuestPresenceResponse, RoomPlaybackHistoryEntry, RoomQueueSnapshot, RoomQueueStatusResponse, RoomBotToken, RoomBotSettings, RoomBotSettingsUpdateInput, RoomBotAppearance, RoomBotAppearanceAccess, 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<{
@@ -67,6 +67,13 @@ export declare function createRoomResource(api: ApiLike): {
67
67
  expiresInHours?: number;
68
68
  }): Promise<ApiSuccessResponse<RoomBotToken>>;
69
69
  listBots(roomId: string): Promise<ApiSuccessResponse<RoomBotSettings[]>>;
70
+ deleteBot(roomId: string, tokenId: string): Promise<ApiSuccessResponse<{
71
+ success: true;
72
+ }>>;
73
+ getBotAppearance(tokenId: string): Promise<ApiSuccessResponse<RoomBotAppearance>>;
74
+ getBotAppearanceAccess(roomId: string): Promise<ApiSuccessResponse<RoomBotAppearanceAccess>>;
75
+ setBotAppearanceAccess(roomId: string, enabled: boolean): Promise<ApiSuccessResponse<RoomBotAppearanceAccess>>;
76
+ updateBotAppearance(roomId: string, tokenId: string, input: Partial<RoomBotAppearance>): Promise<ApiSuccessResponse<RoomBotAppearance>>;
70
77
  updateBot(roomId: string, tokenId: string, input: RoomBotSettingsUpdateInput): Promise<ApiSuccessResponse<RoomBotSettings>>;
71
78
  listEmojis(roomId: string): Promise<ApiSuccessResponse<RoomCustomEmoji[]>>;
72
79
  listAuditLogs(roomId: string, limit?: number, page?: number): Promise<ApiSuccessResponse<{
@@ -11,6 +11,7 @@ const ROOM_BOT_PERMISSION_SET = new Set([
11
11
  "kick_user",
12
12
  "ban_user",
13
13
  "clear_chat",
14
+ "delete_protected_messages",
14
15
  "manage_room",
15
16
  ]);
16
17
  function createValidationError(api, messageKey, code) {
@@ -196,6 +197,25 @@ export function createRoomResource(api) {
196
197
  listBots(roomId) {
197
198
  return api.get(`/rooms/${encodeURIComponent(roomId)}/bot-tokens`);
198
199
  },
200
+ deleteBot(roomId, tokenId) {
201
+ return api.delete(`/rooms/${encodeURIComponent(roomId)}/bot-tokens/${encodeURIComponent(tokenId)}`);
202
+ },
203
+ getBotAppearance(tokenId) {
204
+ return api.get(`/bot-appearance/${encodeURIComponent(tokenId)}`, {
205
+ authMode: "none",
206
+ cache: "no-store",
207
+ });
208
+ },
209
+ getBotAppearanceAccess(roomId) {
210
+ return api.get(`/rooms/${encodeURIComponent(roomId)}/bot-appearance-access`);
211
+ },
212
+ setBotAppearanceAccess(roomId, enabled) {
213
+ return api.put(`/rooms/${encodeURIComponent(roomId)}/bot-appearance-access`, { enabled });
214
+ },
215
+ updateBotAppearance(roomId, tokenId, input) {
216
+ // The server replaces all four appearance fields; omitted fields reset to null.
217
+ return api.put(`/rooms/${encodeURIComponent(roomId)}/bot-tokens/${encodeURIComponent(tokenId)}/appearance`, input);
218
+ },
199
219
  updateBot(roomId, tokenId, input) {
200
220
  validateCreateBotTokenInput(api, input);
201
221
  return api.patch(`/rooms/${encodeURIComponent(roomId)}/bot-tokens/${encodeURIComponent(tokenId)}`, input);
@@ -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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"}
package/dist/types.d.ts CHANGED
@@ -105,6 +105,8 @@ export interface AuthUser {
105
105
  autoOpenIncomingWhispers?: boolean;
106
106
  sfwMode?: boolean;
107
107
  sfwModeAudioEnabled?: boolean;
108
+ /** A prepaid Stripe/Pix purchase still uses the stripe provider; status is prepaid. */
109
+ subscriptionProvider?: string | null;
108
110
  subscriptionStatus?: string | null;
109
111
  subscriptionCycle?: string | null;
110
112
  subscriptionCurrentPeriodStartAt?: string | null;
@@ -208,6 +210,9 @@ export interface RoomActiveUser {
208
210
  avatarFrameCount?: number;
209
211
  guest?: boolean;
210
212
  role?: RoomRoleName | string;
213
+ /** Bot snapshots expose effective authorization roles; website badges may use assignedRoomRole. */
214
+ roomRole?: RoomRoleName | string;
215
+ assignedRoomRole?: RoomRoleName | string;
211
216
  platformRole?: string | null;
212
217
  platformRoles?: string[];
213
218
  customGlobalRoles?: unknown[];
@@ -232,6 +237,8 @@ export interface RoomSummary {
232
237
  slug: string;
233
238
  name: string;
234
239
  description?: string;
240
+ /** False means guests must authenticate before entering this room. */
241
+ guestAccessEnabled?: boolean;
235
242
  activeUsersCount?: number;
236
243
  activeUsers?: RoomActiveUser[];
237
244
  population?: number;
@@ -261,10 +268,11 @@ export interface RoomSummary {
261
268
  } | null;
262
269
  [key: string]: unknown;
263
270
  }
264
- export type RoomRoleName = "user" | "resident_dj" | "bouncer" | "manager" | "cohost" | "host";
271
+ export type RoomRoleName = "user" | "vip" | "resident_dj" | "bouncer" | "manager" | "cohost" | "host";
265
272
  export type RoomPermission = "send_chat" | "attach_chat_media" | "post_chat_links" | "join_queue" | "bypass_queue_lock" | "vote" | "skip_self" | "skip_others" | "mute_user" | "ban_user" | "kick_user" | "clear_chat" | "manage_queue" | "manage_external_media" | "manage_custom_theme" | "manage_polls" | "create_events" | "manage_emojis" | "manage_links" | "mention_room" | "manage_roles" | "manage_room" | "create_room_bot" | "view_audit_logs" | "delete_room";
266
273
  export type RoomPermissionOverrideMap = Partial<Record<RoomRoleName, RoomPermission[]>>;
267
274
  export interface RoomSettingsUpdateInput {
275
+ guestAccessEnabled?: boolean;
268
276
  roomBannerUrl?: string | null;
269
277
  /** Per-user image/GIF cooldown, an integer from 0 to 3600 seconds. */
270
278
  chatMediaCooldownSeconds?: number;
@@ -778,7 +786,15 @@ export interface StoreCatalogResponse {
778
786
  miscShopEnabled?: boolean;
779
787
  [key: string]: unknown;
780
788
  }
781
- export type MiscStoreCurrency = "coins" | "diamonds" | "coins_diamonds" | "usd" | "brl" | "eur" | (string & {});
789
+ /** Supported fiat currencies. JPY and KRW have zero-decimal Stripe checkout amounts. */
790
+ export type BillingCurrency = "usd" | "brl" | "eur" | "czk" | "jpy" | "pln" | "krw" | "nok";
791
+ export type SubscriptionPaymentMode = "recurring" | "prepaid";
792
+ export interface BillingCheckoutPolicy {
793
+ stripeBrlEnabled: boolean;
794
+ /** Applies to new Stripe BRL checkouts, not existing recurring renewals. */
795
+ stripeBrlPixOnly: boolean;
796
+ }
797
+ export type MiscStoreCurrency = "coins" | "diamonds" | "coins_diamonds" | BillingCurrency | (string & {});
782
798
  export type MiscStoreItemKind = "xp_boost" | "display_name_change" | "username_change" | "room_custom_theme_permanent" | "room_custom_theme_monthly" | "room_external_media_permanent" | "room_external_media_monthly" | (string & {});
783
799
  export type MiscStoreRenderMode = "icon" | "image";
784
800
  export interface MiscStoreItem {
@@ -855,8 +871,23 @@ export interface RoomBotSettings {
855
871
  botName: string;
856
872
  commandPrefix: string;
857
873
  permissions: RoomBotPermission[];
874
+ canEdit?: boolean;
875
+ canDelete?: boolean;
858
876
  }
859
877
  export type RoomBotSettingsUpdateInput = Pick<RoomBotSettings, "botName" | "commandPrefix" | "permissions" | "allowSelfRename">;
878
+ export interface RoomBotAppearance {
879
+ photoUrl: string | null;
880
+ color: string | null;
881
+ /** Tabler identifier or HTTPS image URL for the badge beside the name. */
882
+ icon: string | null;
883
+ /** HTTPS image URL for the chat avatar. */
884
+ chatImageUrl: string | null;
885
+ }
886
+ export interface RoomBotAppearanceAccess {
887
+ enabled: boolean;
888
+ isAdmin: boolean;
889
+ canEdit: boolean;
890
+ }
860
891
  export interface RoomBotToken {
861
892
  token: string;
862
893
  tokenId: string;
@@ -871,7 +902,7 @@ export interface RoomBotToken {
871
902
  actorRole?: string;
872
903
  [key: string]: unknown;
873
904
  }
874
- export type RoomBotPermission = "read_state" | "read_chat" | "send_chat" | "manage_queue" | "skip_others" | "mute_user" | "kick_user" | "ban_user" | "clear_chat" | "manage_room";
905
+ export type RoomBotPermission = "read_state" | "read_chat" | "send_chat" | "manage_queue" | "skip_others" | "mute_user" | "kick_user" | "ban_user" | "clear_chat" | "delete_protected_messages" | "manage_room";
875
906
  export interface RoomBotState {
876
907
  bot: {
877
908
  id: string;
@@ -952,6 +983,7 @@ export interface PurchaseHistoryResponse {
952
983
  /** Extensible room snapshot returned by bot state and room realtime events. */
953
984
  export interface RoomStateSnapshot extends Record<string, unknown> {
954
985
  roomId?: string;
986
+ guestAccessEnabled?: boolean;
955
987
  backgroundId?: string | null;
956
988
  backgroundUrl?: string | null;
957
989
  adminBackgroundUrl?: string | null;
@@ -1060,8 +1092,9 @@ export interface SystemDonationGoal {
1060
1092
  descriptionPtBr?: string;
1061
1093
  descriptionEnUs?: string;
1062
1094
  localizedCurrencyEnabled?: boolean;
1063
- targetByCurrency?: Partial<Record<"brl" | "usd" | "eur", number>>;
1064
- raisedByCurrency?: Partial<Record<"brl" | "usd" | "eur", number>>;
1095
+ /** Amounts use hundredths of a major unit even for JPY and KRW. */
1096
+ targetByCurrency?: Partial<Record<BillingCurrency, number>>;
1097
+ raisedByCurrency?: Partial<Record<BillingCurrency, number>>;
1065
1098
  currency: string;
1066
1099
  targetCents: number;
1067
1100
  raisedCents: number;
@@ -1094,6 +1127,8 @@ export interface SystemProgressionXp {
1094
1127
  };
1095
1128
  }
1096
1129
  export interface SystemStatus {
1130
+ /** Server-owned checkout availability; omitted by older deployments. */
1131
+ billingCheckoutPolicy?: BillingCheckoutPolicy;
1097
1132
  /** Null when XP configuration is unavailable; omitted by older servers. */
1098
1133
  progressionXp?: SystemProgressionXp | null;
1099
1134
  donationCurrencySelectionEnabled?: boolean;
@@ -1119,12 +1154,44 @@ export interface AdminSystemStatus extends SystemStatus {
1119
1154
  runtimeStartup?: Record<string, unknown> | null;
1120
1155
  }
1121
1156
  export interface CheckoutSessionResponse {
1157
+ subscriptionPaymentMode?: SubscriptionPaymentMode;
1122
1158
  uiMode?: "hosted" | "elements" | "mercadopago" | string;
1123
1159
  checkoutUrl: string | null;
1124
1160
  clientSecret?: string | null;
1125
1161
  publishableKey?: string | null;
1126
1162
  [key: string]: unknown;
1127
1163
  }
1164
+ export interface CheckoutSessionStatus {
1165
+ sessionId: string;
1166
+ status: string | null;
1167
+ paymentStatus: string | null;
1168
+ kind: string | null;
1169
+ cycle: "monthly" | "annual" | null;
1170
+ subscriptionPaymentMode?: SubscriptionPaymentMode | null;
1171
+ /** Recorded amount in hundredths of the major currency unit. */
1172
+ amount?: number | null;
1173
+ currency?: Uppercase<BillingCurrency> | null;
1174
+ }
1175
+ export interface AdminMediaFolder {
1176
+ name: string;
1177
+ path: string;
1178
+ }
1179
+ export interface AdminMediaAsset {
1180
+ key: string;
1181
+ name: string;
1182
+ url: string;
1183
+ size: number;
1184
+ contentType: string;
1185
+ lastModified: string | null;
1186
+ }
1187
+ export interface AdminMediaListing {
1188
+ enabled: boolean;
1189
+ maxUploadBytes: number;
1190
+ folder: string;
1191
+ folders: AdminMediaFolder[];
1192
+ assets: AdminMediaAsset[];
1193
+ nextCursor: string | null;
1194
+ }
1128
1195
  export interface NotificationCenterStatus {
1129
1196
  clearedAt: string | null;
1130
1197
  }
@@ -1464,7 +1531,12 @@ export interface BotPrivateCommand {
1464
1531
  userId: string;
1465
1532
  username: string;
1466
1533
  displayUsername: string;
1534
+ /** Effective authorization role: Admin/Developer >= Host; Ambassador >= Manager. */
1467
1535
  roomRole: string;
1536
+ /** Effective role alias supplied by the current server; omitted by older deployments. */
1537
+ role?: string;
1538
+ assignedRoomRole?: string;
1539
+ platformRole?: string;
1468
1540
  platformRoles: string[];
1469
1541
  isRoomOwner: boolean;
1470
1542
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavezfm/api",
3
- "version": "0.7.23",
3
+ "version": "0.7.24",
4
4
  "description": "Official JavaScript/TypeScript API client for WavezFM.",
5
5
  "homepage": "https://docs.wavez.fm/docs",
6
6
  "repository": {
@@ -89,6 +89,10 @@
89
89
  "types": "./dist/resources/billing.d.ts",
90
90
  "import": "./dist/resources/billing.js"
91
91
  },
92
+ "./resources/admin-media": {
93
+ "types": "./dist/resources/adminMedia.d.ts",
94
+ "import": "./dist/resources/adminMedia.js"
95
+ },
92
96
  "./resources/system": {
93
97
  "types": "./dist/resources/system.d.ts",
94
98
  "import": "./dist/resources/system.js"