connectbase-client 3.34.0 → 3.35.1
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 +29 -0
- package/README.md +10 -7
- package/dist/connect-base.umd.js +5 -5
- package/dist/index.d.mts +48 -15
- package/dist/index.d.ts +48 -15
- package/dist/index.js +97 -44
- package/dist/index.mjs +97 -44
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -280,6 +280,13 @@ declare class HttpClient {
|
|
|
280
280
|
* Base URL 반환
|
|
281
281
|
*/
|
|
282
282
|
getBaseUrl(): string;
|
|
283
|
+
/**
|
|
284
|
+
* 이 클라이언트에 설정된 앱 ID 반환 (미설정 시 undefined).
|
|
285
|
+
*
|
|
286
|
+
* 콘솔(앱 소유자 JWT) 경로를 호출하기 전에 appId 유무를 확인하기 위한 public 접근자.
|
|
287
|
+
* private `config` 필드를 access-modifier 관통 cast 없이 노출한다.
|
|
288
|
+
*/
|
|
289
|
+
getAppId(): string | undefined;
|
|
283
290
|
private refreshAccessToken;
|
|
284
291
|
/**
|
|
285
292
|
* 새로고침/탭 재개 시 HttpOnly cookie 만으로 access token 을 복구한다.
|
|
@@ -633,7 +640,7 @@ declare class AnalyticsAPI {
|
|
|
633
640
|
* @example
|
|
634
641
|
* ```ts
|
|
635
642
|
* // 결제 완료 직후 이탈에 대비해 즉시 flush
|
|
636
|
-
* await cb.analytics.
|
|
643
|
+
* await cb.analytics.trackEvent('purchase_completed', { order_id: '123' })
|
|
637
644
|
* await cb.analytics.flush()
|
|
638
645
|
* window.location.href = '/thank-you'
|
|
639
646
|
* ```
|
|
@@ -3568,22 +3575,41 @@ interface ICEServer {
|
|
|
3568
3575
|
interface ICEServersResponse {
|
|
3569
3576
|
ice_servers: ICEServer[];
|
|
3570
3577
|
}
|
|
3571
|
-
/**
|
|
3572
|
-
|
|
3573
|
-
|
|
3578
|
+
/**
|
|
3579
|
+
* 채널별 통계 (룸 ID 의 `channel:room` 컨벤션 기준 집계).
|
|
3580
|
+
* server `GetStats` 의 `channel_stats` 맵 값과 일치.
|
|
3581
|
+
*/
|
|
3582
|
+
interface ChannelStats {
|
|
3583
|
+
rooms: number;
|
|
3584
|
+
peers: number;
|
|
3585
|
+
broadcasters: number;
|
|
3586
|
+
viewers: number;
|
|
3587
|
+
}
|
|
3588
|
+
/**
|
|
3589
|
+
* 룸 요약 정보 — server `GetAllRooms` (`GET /v1/apps/:appID/rooms`) 의 `rooms[]` 항목.
|
|
3590
|
+
* server `RoomInfo` struct 의 JSON 와이어 형태와 정확히 일치한다.
|
|
3591
|
+
*/
|
|
3592
|
+
interface RoomSummary {
|
|
3593
|
+
id: string;
|
|
3594
|
+
app_id: string;
|
|
3574
3595
|
peer_count: number;
|
|
3575
3596
|
broadcaster_count: number;
|
|
3576
|
-
|
|
3597
|
+
viewer_count: number;
|
|
3577
3598
|
}
|
|
3578
|
-
/**
|
|
3599
|
+
/**
|
|
3600
|
+
* 앱 통계 응답 — server `GetStats` (`GET /v1/apps/:appID/stats`) 의 와이어 형태.
|
|
3601
|
+
* `channel_stats` 는 채널명 → ChannelStats 맵.
|
|
3602
|
+
*/
|
|
3579
3603
|
interface AppStatsResponse {
|
|
3580
|
-
|
|
3604
|
+
room_count: number;
|
|
3581
3605
|
total_peers: number;
|
|
3582
|
-
|
|
3606
|
+
total_broadcasters: number;
|
|
3607
|
+
total_viewers: number;
|
|
3608
|
+
channel_stats: Record<string, ChannelStats>;
|
|
3583
3609
|
}
|
|
3584
|
-
/** 룸 목록 응답 */
|
|
3610
|
+
/** 룸 목록 응답 — server `GetAllRooms` 가 `{ rooms: RoomSummary[] }` 로 반환. */
|
|
3585
3611
|
interface RoomsResponse {
|
|
3586
|
-
rooms:
|
|
3612
|
+
rooms: RoomSummary[];
|
|
3587
3613
|
}
|
|
3588
3614
|
/** API 유효성 검증 응답 */
|
|
3589
3615
|
interface ValidateResponse {
|
|
@@ -4773,7 +4799,7 @@ declare class SubscriptionAPI {
|
|
|
4773
4799
|
* })
|
|
4774
4800
|
* ```
|
|
4775
4801
|
*/
|
|
4776
|
-
cancel(subscriptionId: string, data
|
|
4802
|
+
cancel(subscriptionId: string, data?: CancelSubscriptionRequest): Promise<SubscriptionResponse>;
|
|
4777
4803
|
/**
|
|
4778
4804
|
* 구독 결제 이력 조회
|
|
4779
4805
|
*
|
|
@@ -5144,10 +5170,14 @@ interface StreamURLResponse {
|
|
|
5144
5170
|
quality?: string;
|
|
5145
5171
|
}
|
|
5146
5172
|
interface InitUploadResponse {
|
|
5147
|
-
|
|
5148
|
-
video_id: string;
|
|
5173
|
+
upload_id: string;
|
|
5149
5174
|
chunk_size: number;
|
|
5150
5175
|
total_chunks: number;
|
|
5176
|
+
expires_at: string;
|
|
5177
|
+
}
|
|
5178
|
+
interface VideoCompleteUploadResponse {
|
|
5179
|
+
video_id: string;
|
|
5180
|
+
status: VideoStatus;
|
|
5151
5181
|
}
|
|
5152
5182
|
interface TranscodeStatus {
|
|
5153
5183
|
video_id: string;
|
|
@@ -5446,7 +5476,10 @@ declare class VideoAPI {
|
|
|
5446
5476
|
*/
|
|
5447
5477
|
getStreamUrl(videoId: string, quality?: string): Promise<StreamURLResponse>;
|
|
5448
5478
|
/**
|
|
5449
|
-
* Get available thumbnails for a video
|
|
5479
|
+
* Get available thumbnails for a video.
|
|
5480
|
+
*
|
|
5481
|
+
* 서버는 대표 썸네일 1개(`thumbnail_url`) + 선택적 추가 썸네일 목록(`thumbnail_urls`)을
|
|
5482
|
+
* 반환한다. 둘을 합쳐 중복 없는 URL 배열로 정규화해 돌려준다.
|
|
5450
5483
|
*/
|
|
5451
5484
|
getThumbnails(videoId: string): Promise<string[]>;
|
|
5452
5485
|
/**
|
|
@@ -8950,4 +8983,4 @@ declare class ConnectBase {
|
|
|
8950
8983
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8951
8984
|
}
|
|
8952
8985
|
|
|
8953
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type
|
|
8986
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChannelStats, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomSummary, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateDocumentRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type VideoCompleteUploadResponse, type VideoListOptions, type VideoListResponse, VideoProcessingError, type VideoQuality, type VideoStatus, type VideoStorage, type VideoStorageListResponse, type VideoVisibility, type VoiceChannel, type VoiceMember, type WaitOptions, type WatchHistoryItem, type WebPushSubscription, type WebRTCConnectOptions, type WebRTCConnectionState, type WebRTCMode, type WhereCondition, type WhereOperator, ConnectBase as default, detectInAppBrowser, escapeToExternalBrowser, isWebTransportSupported, toCreateRoomWire };
|
package/dist/index.d.ts
CHANGED
|
@@ -280,6 +280,13 @@ declare class HttpClient {
|
|
|
280
280
|
* Base URL 반환
|
|
281
281
|
*/
|
|
282
282
|
getBaseUrl(): string;
|
|
283
|
+
/**
|
|
284
|
+
* 이 클라이언트에 설정된 앱 ID 반환 (미설정 시 undefined).
|
|
285
|
+
*
|
|
286
|
+
* 콘솔(앱 소유자 JWT) 경로를 호출하기 전에 appId 유무를 확인하기 위한 public 접근자.
|
|
287
|
+
* private `config` 필드를 access-modifier 관통 cast 없이 노출한다.
|
|
288
|
+
*/
|
|
289
|
+
getAppId(): string | undefined;
|
|
283
290
|
private refreshAccessToken;
|
|
284
291
|
/**
|
|
285
292
|
* 새로고침/탭 재개 시 HttpOnly cookie 만으로 access token 을 복구한다.
|
|
@@ -633,7 +640,7 @@ declare class AnalyticsAPI {
|
|
|
633
640
|
* @example
|
|
634
641
|
* ```ts
|
|
635
642
|
* // 결제 완료 직후 이탈에 대비해 즉시 flush
|
|
636
|
-
* await cb.analytics.
|
|
643
|
+
* await cb.analytics.trackEvent('purchase_completed', { order_id: '123' })
|
|
637
644
|
* await cb.analytics.flush()
|
|
638
645
|
* window.location.href = '/thank-you'
|
|
639
646
|
* ```
|
|
@@ -3568,22 +3575,41 @@ interface ICEServer {
|
|
|
3568
3575
|
interface ICEServersResponse {
|
|
3569
3576
|
ice_servers: ICEServer[];
|
|
3570
3577
|
}
|
|
3571
|
-
/**
|
|
3572
|
-
|
|
3573
|
-
|
|
3578
|
+
/**
|
|
3579
|
+
* 채널별 통계 (룸 ID 의 `channel:room` 컨벤션 기준 집계).
|
|
3580
|
+
* server `GetStats` 의 `channel_stats` 맵 값과 일치.
|
|
3581
|
+
*/
|
|
3582
|
+
interface ChannelStats {
|
|
3583
|
+
rooms: number;
|
|
3584
|
+
peers: number;
|
|
3585
|
+
broadcasters: number;
|
|
3586
|
+
viewers: number;
|
|
3587
|
+
}
|
|
3588
|
+
/**
|
|
3589
|
+
* 룸 요약 정보 — server `GetAllRooms` (`GET /v1/apps/:appID/rooms`) 의 `rooms[]` 항목.
|
|
3590
|
+
* server `RoomInfo` struct 의 JSON 와이어 형태와 정확히 일치한다.
|
|
3591
|
+
*/
|
|
3592
|
+
interface RoomSummary {
|
|
3593
|
+
id: string;
|
|
3594
|
+
app_id: string;
|
|
3574
3595
|
peer_count: number;
|
|
3575
3596
|
broadcaster_count: number;
|
|
3576
|
-
|
|
3597
|
+
viewer_count: number;
|
|
3577
3598
|
}
|
|
3578
|
-
/**
|
|
3599
|
+
/**
|
|
3600
|
+
* 앱 통계 응답 — server `GetStats` (`GET /v1/apps/:appID/stats`) 의 와이어 형태.
|
|
3601
|
+
* `channel_stats` 는 채널명 → ChannelStats 맵.
|
|
3602
|
+
*/
|
|
3579
3603
|
interface AppStatsResponse {
|
|
3580
|
-
|
|
3604
|
+
room_count: number;
|
|
3581
3605
|
total_peers: number;
|
|
3582
|
-
|
|
3606
|
+
total_broadcasters: number;
|
|
3607
|
+
total_viewers: number;
|
|
3608
|
+
channel_stats: Record<string, ChannelStats>;
|
|
3583
3609
|
}
|
|
3584
|
-
/** 룸 목록 응답 */
|
|
3610
|
+
/** 룸 목록 응답 — server `GetAllRooms` 가 `{ rooms: RoomSummary[] }` 로 반환. */
|
|
3585
3611
|
interface RoomsResponse {
|
|
3586
|
-
rooms:
|
|
3612
|
+
rooms: RoomSummary[];
|
|
3587
3613
|
}
|
|
3588
3614
|
/** API 유효성 검증 응답 */
|
|
3589
3615
|
interface ValidateResponse {
|
|
@@ -4773,7 +4799,7 @@ declare class SubscriptionAPI {
|
|
|
4773
4799
|
* })
|
|
4774
4800
|
* ```
|
|
4775
4801
|
*/
|
|
4776
|
-
cancel(subscriptionId: string, data
|
|
4802
|
+
cancel(subscriptionId: string, data?: CancelSubscriptionRequest): Promise<SubscriptionResponse>;
|
|
4777
4803
|
/**
|
|
4778
4804
|
* 구독 결제 이력 조회
|
|
4779
4805
|
*
|
|
@@ -5144,10 +5170,14 @@ interface StreamURLResponse {
|
|
|
5144
5170
|
quality?: string;
|
|
5145
5171
|
}
|
|
5146
5172
|
interface InitUploadResponse {
|
|
5147
|
-
|
|
5148
|
-
video_id: string;
|
|
5173
|
+
upload_id: string;
|
|
5149
5174
|
chunk_size: number;
|
|
5150
5175
|
total_chunks: number;
|
|
5176
|
+
expires_at: string;
|
|
5177
|
+
}
|
|
5178
|
+
interface VideoCompleteUploadResponse {
|
|
5179
|
+
video_id: string;
|
|
5180
|
+
status: VideoStatus;
|
|
5151
5181
|
}
|
|
5152
5182
|
interface TranscodeStatus {
|
|
5153
5183
|
video_id: string;
|
|
@@ -5446,7 +5476,10 @@ declare class VideoAPI {
|
|
|
5446
5476
|
*/
|
|
5447
5477
|
getStreamUrl(videoId: string, quality?: string): Promise<StreamURLResponse>;
|
|
5448
5478
|
/**
|
|
5449
|
-
* Get available thumbnails for a video
|
|
5479
|
+
* Get available thumbnails for a video.
|
|
5480
|
+
*
|
|
5481
|
+
* 서버는 대표 썸네일 1개(`thumbnail_url`) + 선택적 추가 썸네일 목록(`thumbnail_urls`)을
|
|
5482
|
+
* 반환한다. 둘을 합쳐 중복 없는 URL 배열로 정규화해 돌려준다.
|
|
5450
5483
|
*/
|
|
5451
5484
|
getThumbnails(videoId: string): Promise<string[]>;
|
|
5452
5485
|
/**
|
|
@@ -8950,4 +8983,4 @@ declare class ConnectBase {
|
|
|
8950
8983
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8951
8984
|
}
|
|
8952
8985
|
|
|
8953
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type
|
|
8986
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChannelStats, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomSummary, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateDocumentRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type VideoCompleteUploadResponse, type VideoListOptions, type VideoListResponse, VideoProcessingError, type VideoQuality, type VideoStatus, type VideoStorage, type VideoStorageListResponse, type VideoVisibility, type VoiceChannel, type VoiceMember, type WaitOptions, type WatchHistoryItem, type WebPushSubscription, type WebRTCConnectOptions, type WebRTCConnectionState, type WebRTCMode, type WhereCondition, type WhereOperator, ConnectBase as default, detectInAppBrowser, escapeToExternalBrowser, isWebTransportSupported, toCreateRoomWire };
|
package/dist/index.js
CHANGED
|
@@ -380,6 +380,15 @@ var HttpClient = class {
|
|
|
380
380
|
getBaseUrl() {
|
|
381
381
|
return this.config.baseUrl;
|
|
382
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* 이 클라이언트에 설정된 앱 ID 반환 (미설정 시 undefined).
|
|
385
|
+
*
|
|
386
|
+
* 콘솔(앱 소유자 JWT) 경로를 호출하기 전에 appId 유무를 확인하기 위한 public 접근자.
|
|
387
|
+
* private `config` 필드를 access-modifier 관통 cast 없이 노출한다.
|
|
388
|
+
*/
|
|
389
|
+
getAppId() {
|
|
390
|
+
return this.config.appId;
|
|
391
|
+
}
|
|
383
392
|
async refreshAccessToken() {
|
|
384
393
|
if (this.isRefreshing) {
|
|
385
394
|
return this.refreshPromise;
|
|
@@ -712,12 +721,15 @@ var HttpClient = class {
|
|
|
712
721
|
}
|
|
713
722
|
async put(url, data, config) {
|
|
714
723
|
const headers = await this.prepareHeaders(config);
|
|
724
|
+
if (data instanceof FormData) {
|
|
725
|
+
headers.delete("Content-Type");
|
|
726
|
+
}
|
|
715
727
|
return this.doFetch(
|
|
716
728
|
url,
|
|
717
729
|
{
|
|
718
730
|
method: "PUT",
|
|
719
731
|
headers,
|
|
720
|
-
body: JSON.stringify(data)
|
|
732
|
+
body: data instanceof FormData ? data : JSON.stringify(data)
|
|
721
733
|
},
|
|
722
734
|
config
|
|
723
735
|
);
|
|
@@ -840,13 +852,14 @@ var AuthAPI = class {
|
|
|
840
852
|
return;
|
|
841
853
|
}
|
|
842
854
|
if (typeof window === "undefined") return;
|
|
855
|
+
const bridge = window;
|
|
843
856
|
if (memberId) {
|
|
844
|
-
if (typeof
|
|
845
|
-
|
|
857
|
+
if (typeof bridge.__cbSetMember === "function") {
|
|
858
|
+
bridge.__cbSetMember(memberId);
|
|
846
859
|
}
|
|
847
860
|
} else {
|
|
848
|
-
if (typeof
|
|
849
|
-
|
|
861
|
+
if (typeof bridge.__cbClearMember === "function") {
|
|
862
|
+
bridge.__cbClearMember();
|
|
850
863
|
}
|
|
851
864
|
}
|
|
852
865
|
}
|
|
@@ -892,6 +905,15 @@ var AuthAPI = class {
|
|
|
892
905
|
data,
|
|
893
906
|
{ skipAuth: true }
|
|
894
907
|
);
|
|
908
|
+
assertShape(
|
|
909
|
+
response,
|
|
910
|
+
{
|
|
911
|
+
access_token: { type: "string" },
|
|
912
|
+
refresh_token: { type: "string" },
|
|
913
|
+
member_id: { type: "string-or-number" }
|
|
914
|
+
},
|
|
915
|
+
"auth.signUpMember"
|
|
916
|
+
);
|
|
895
917
|
this.http.setTokens(response.access_token, response.refresh_token);
|
|
896
918
|
this.notifyVisitorTracker(response.member_id);
|
|
897
919
|
return response;
|
|
@@ -1122,6 +1144,14 @@ var AuthAPI = class {
|
|
|
1122
1144
|
{},
|
|
1123
1145
|
{ headers: { "Authorization": `Bearer ${storedData.refreshToken}` }, skipAuth: true }
|
|
1124
1146
|
);
|
|
1147
|
+
assertShape(
|
|
1148
|
+
refreshed,
|
|
1149
|
+
{
|
|
1150
|
+
access_token: { type: "string" },
|
|
1151
|
+
refresh_token: { type: "string" }
|
|
1152
|
+
},
|
|
1153
|
+
"auth.signInAsGuestMember.reissue"
|
|
1154
|
+
);
|
|
1125
1155
|
this.http.setTokens(refreshed.access_token, refreshed.refresh_token);
|
|
1126
1156
|
this.storeGuestMemberTokens(refreshed.access_token, refreshed.refresh_token, storedData.memberId);
|
|
1127
1157
|
this.notifyVisitorTracker(storedData.memberId);
|
|
@@ -1142,6 +1172,15 @@ var AuthAPI = class {
|
|
|
1142
1172
|
{},
|
|
1143
1173
|
{ skipAuth: true }
|
|
1144
1174
|
);
|
|
1175
|
+
assertShape(
|
|
1176
|
+
response,
|
|
1177
|
+
{
|
|
1178
|
+
access_token: { type: "string" },
|
|
1179
|
+
refresh_token: { type: "string" },
|
|
1180
|
+
member_id: { type: "string-or-number" }
|
|
1181
|
+
},
|
|
1182
|
+
"auth.signInAsGuestMember.new"
|
|
1183
|
+
);
|
|
1145
1184
|
this.http.setTokens(response.access_token, response.refresh_token);
|
|
1146
1185
|
this.storeGuestMemberTokens(response.access_token, response.refresh_token, response.member_id);
|
|
1147
1186
|
this.notifyVisitorTracker(response.member_id);
|
|
@@ -1328,7 +1367,7 @@ var DatabaseAPI = class {
|
|
|
1328
1367
|
* appId 가 설정되어 있어야 콘솔 경로를 호출할 수 있습니다 (validation_schema set/delete).
|
|
1329
1368
|
*/
|
|
1330
1369
|
requireAppId() {
|
|
1331
|
-
const appId = this.http.
|
|
1370
|
+
const appId = this.http.getAppId();
|
|
1332
1371
|
if (!appId) {
|
|
1333
1372
|
throw new Error(
|
|
1334
1373
|
"setValidationSchema/deleteValidationSchema \uB294 \uCF58\uC194 (JWT) \uC778\uC99D\uC774 \uD544\uC694\uD558\uBA70 ConnectBase config \uC5D0 appId \uAC00 \uC124\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4."
|
|
@@ -5855,9 +5894,13 @@ var SubscriptionAPI = class {
|
|
|
5855
5894
|
* })
|
|
5856
5895
|
* ```
|
|
5857
5896
|
*/
|
|
5858
|
-
async cancel(subscriptionId, data) {
|
|
5897
|
+
async cancel(subscriptionId, data = {}) {
|
|
5859
5898
|
const prefix = this.getPublicPrefix();
|
|
5860
|
-
|
|
5899
|
+
const body = {
|
|
5900
|
+
reason: data.reason,
|
|
5901
|
+
cancel_at_end: !data.immediate
|
|
5902
|
+
};
|
|
5903
|
+
return this.http.post(`${prefix}/subscriptions/${subscriptionId}/cancel`, body);
|
|
5861
5904
|
}
|
|
5862
5905
|
// =====================
|
|
5863
5906
|
// Subscription Payment APIs
|
|
@@ -6257,12 +6300,8 @@ var VideoAPI = class {
|
|
|
6257
6300
|
`/v1/public/storages/videos/${storageId}/uploads/init`,
|
|
6258
6301
|
{
|
|
6259
6302
|
filename: file.name,
|
|
6260
|
-
|
|
6261
|
-
mime_type: file.type
|
|
6262
|
-
title: options.title,
|
|
6263
|
-
description: options.description,
|
|
6264
|
-
visibility: options.visibility || "private",
|
|
6265
|
-
tags: options.tags
|
|
6303
|
+
file_size: file.size,
|
|
6304
|
+
mime_type: file.type
|
|
6266
6305
|
}
|
|
6267
6306
|
);
|
|
6268
6307
|
const chunkSize = session.chunk_size || DEFAULT_CHUNK_SIZE;
|
|
@@ -6276,9 +6315,8 @@ var VideoAPI = class {
|
|
|
6276
6315
|
const chunk = file.slice(start, end);
|
|
6277
6316
|
const formData = new FormData();
|
|
6278
6317
|
formData.append("chunk", chunk);
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
`/v1/public/storages/videos/${storageId}/uploads/${session.session_id}/chunk`,
|
|
6318
|
+
await this.http.put(
|
|
6319
|
+
`/v1/public/storages/videos/${storageId}/uploads/${session.upload_id}/chunk?chunk_index=${i}`,
|
|
6282
6320
|
formData
|
|
6283
6321
|
);
|
|
6284
6322
|
uploadedChunks++;
|
|
@@ -6300,10 +6338,15 @@ var VideoAPI = class {
|
|
|
6300
6338
|
}
|
|
6301
6339
|
}
|
|
6302
6340
|
const result = await this.http.post(
|
|
6303
|
-
`/v1/public/storages/videos/${storageId}/uploads/${session.
|
|
6304
|
-
{
|
|
6341
|
+
`/v1/public/storages/videos/${storageId}/uploads/${session.upload_id}/complete`,
|
|
6342
|
+
{
|
|
6343
|
+
title: options.title,
|
|
6344
|
+
description: options.description,
|
|
6345
|
+
visibility: options.visibility || "private",
|
|
6346
|
+
tags: options.tags
|
|
6347
|
+
}
|
|
6305
6348
|
);
|
|
6306
|
-
return result.
|
|
6349
|
+
return this.storage.getVideo(storageId, result.video_id);
|
|
6307
6350
|
},
|
|
6308
6351
|
/**
|
|
6309
6352
|
* List videos in a specific storage
|
|
@@ -6420,15 +6463,10 @@ var VideoAPI = class {
|
|
|
6420
6463
|
*/
|
|
6421
6464
|
async upload(file, options) {
|
|
6422
6465
|
const prefix = this.getPublicPrefix();
|
|
6423
|
-
const session = await this.videoFetch("POST", `${prefix}/uploads`, {
|
|
6466
|
+
const session = await this.videoFetch("POST", `${prefix}/uploads/init`, {
|
|
6424
6467
|
filename: file.name,
|
|
6425
|
-
|
|
6426
|
-
mime_type: file.type
|
|
6427
|
-
title: options.title,
|
|
6428
|
-
description: options.description,
|
|
6429
|
-
visibility: options.visibility || "private",
|
|
6430
|
-
tags: options.tags,
|
|
6431
|
-
channel_id: options.channel_id
|
|
6468
|
+
file_size: file.size,
|
|
6469
|
+
mime_type: file.type
|
|
6432
6470
|
});
|
|
6433
6471
|
const chunkSize = session.chunk_size || DEFAULT_CHUNK_SIZE;
|
|
6434
6472
|
const totalChunks = Math.ceil(file.size / chunkSize);
|
|
@@ -6442,10 +6480,9 @@ var VideoAPI = class {
|
|
|
6442
6480
|
const chunk = file.slice(start, end);
|
|
6443
6481
|
const formData = new FormData();
|
|
6444
6482
|
formData.append("chunk", chunk);
|
|
6445
|
-
formData.append("chunk_index", String(i));
|
|
6446
6483
|
await this.videoFetch(
|
|
6447
|
-
"
|
|
6448
|
-
`${prefix}/uploads/${session.
|
|
6484
|
+
"PUT",
|
|
6485
|
+
`${prefix}/uploads/${session.upload_id}/chunk?chunk_index=${i}`,
|
|
6449
6486
|
formData
|
|
6450
6487
|
);
|
|
6451
6488
|
uploadedChunks++;
|
|
@@ -6468,10 +6505,15 @@ var VideoAPI = class {
|
|
|
6468
6505
|
}
|
|
6469
6506
|
const result = await this.videoFetch(
|
|
6470
6507
|
"POST",
|
|
6471
|
-
`${prefix}/uploads/${session.
|
|
6472
|
-
{
|
|
6508
|
+
`${prefix}/uploads/${session.upload_id}/complete`,
|
|
6509
|
+
{
|
|
6510
|
+
title: options.title,
|
|
6511
|
+
description: options.description,
|
|
6512
|
+
visibility: options.visibility || "private",
|
|
6513
|
+
tags: options.tags
|
|
6514
|
+
}
|
|
6473
6515
|
);
|
|
6474
|
-
return result.
|
|
6516
|
+
return this.get(result.video_id);
|
|
6475
6517
|
}
|
|
6476
6518
|
/**
|
|
6477
6519
|
* Wait for video processing to complete
|
|
@@ -6583,15 +6625,23 @@ var VideoAPI = class {
|
|
|
6583
6625
|
return this.videoFetch("GET", `${prefix}/videos/${videoId}/stream-url${params}`);
|
|
6584
6626
|
}
|
|
6585
6627
|
/**
|
|
6586
|
-
* Get available thumbnails for a video
|
|
6628
|
+
* Get available thumbnails for a video.
|
|
6629
|
+
*
|
|
6630
|
+
* 서버는 대표 썸네일 1개(`thumbnail_url`) + 선택적 추가 썸네일 목록(`thumbnail_urls`)을
|
|
6631
|
+
* 반환한다. 둘을 합쳐 중복 없는 URL 배열로 정규화해 돌려준다.
|
|
6587
6632
|
*/
|
|
6588
6633
|
async getThumbnails(videoId) {
|
|
6589
6634
|
const prefix = this.getPublicPrefix();
|
|
6590
6635
|
const response = await this.videoFetch(
|
|
6591
6636
|
"GET",
|
|
6592
|
-
`${prefix}/videos/${videoId}/
|
|
6637
|
+
`${prefix}/videos/${videoId}/thumbnail`
|
|
6593
6638
|
);
|
|
6594
|
-
|
|
6639
|
+
const urls = /* @__PURE__ */ new Set();
|
|
6640
|
+
if (response.thumbnail_url) urls.add(response.thumbnail_url);
|
|
6641
|
+
for (const u of response.thumbnail_urls ?? []) {
|
|
6642
|
+
if (u) urls.add(u);
|
|
6643
|
+
}
|
|
6644
|
+
return [...urls];
|
|
6595
6645
|
}
|
|
6596
6646
|
/**
|
|
6597
6647
|
* Get transcode status
|
|
@@ -7591,7 +7641,8 @@ var GameAPI = class {
|
|
|
7591
7641
|
"GAME_GET_ROOM_FAILED"
|
|
7592
7642
|
);
|
|
7593
7643
|
}
|
|
7594
|
-
|
|
7644
|
+
const data = await response.json();
|
|
7645
|
+
return data.room;
|
|
7595
7646
|
}
|
|
7596
7647
|
/**
|
|
7597
7648
|
* 룸 생성 (HTTP, gRPC 대안)
|
|
@@ -9643,13 +9694,14 @@ var AnalyticsAPI = class {
|
|
|
9643
9694
|
setMemberId(memberId) {
|
|
9644
9695
|
this.memberId = memberId || null;
|
|
9645
9696
|
if (typeof window !== "undefined") {
|
|
9697
|
+
const bridge = window;
|
|
9646
9698
|
if (memberId) {
|
|
9647
|
-
if (typeof
|
|
9648
|
-
|
|
9699
|
+
if (typeof bridge.__cbSetMember === "function") {
|
|
9700
|
+
bridge.__cbSetMember(memberId);
|
|
9649
9701
|
}
|
|
9650
9702
|
} else {
|
|
9651
|
-
if (typeof
|
|
9652
|
-
|
|
9703
|
+
if (typeof bridge.__cbClearMember === "function") {
|
|
9704
|
+
bridge.__cbClearMember();
|
|
9653
9705
|
}
|
|
9654
9706
|
}
|
|
9655
9707
|
}
|
|
@@ -9773,7 +9825,7 @@ var AnalyticsAPI = class {
|
|
|
9773
9825
|
* @example
|
|
9774
9826
|
* ```ts
|
|
9775
9827
|
* // 결제 완료 직후 이탈에 대비해 즉시 flush
|
|
9776
|
-
* await cb.analytics.
|
|
9828
|
+
* await cb.analytics.trackEvent('purchase_completed', { order_id: '123' })
|
|
9777
9829
|
* await cb.analytics.flush()
|
|
9778
9830
|
* window.location.href = '/thank-you'
|
|
9779
9831
|
* ```
|
|
@@ -9914,7 +9966,8 @@ var AnalyticsAPI = class {
|
|
|
9914
9966
|
}
|
|
9915
9967
|
isDNT() {
|
|
9916
9968
|
if (typeof navigator === "undefined") return false;
|
|
9917
|
-
|
|
9969
|
+
const gpc = navigator.globalPrivacyControl;
|
|
9970
|
+
return navigator.doNotTrack === "1" || gpc === true;
|
|
9918
9971
|
}
|
|
9919
9972
|
createBaseEvent(type) {
|
|
9920
9973
|
return {
|