connectbase-client 6.12.0 → 6.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/README.md +8 -1
- package/dist/cli.js +1 -1
- package/dist/connect-base.umd.js +5 -5
- package/dist/index.d.mts +259 -67
- package/dist/index.d.ts +259 -67
- package/dist/index.js +441 -79
- package/dist/index.mjs +440 -79
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -166,8 +166,11 @@ declare class GameError extends Error {
|
|
|
166
166
|
* | `forbidden` | 다른 앱의 경로로 접속 | 불가 | 설정 확인 |
|
|
167
167
|
* | `invalid_user_id` | 공개 키 연결에 UUID 형식 `userId` | 불가 | `accessToken` 을 쓰거나 UUID 가 아닌 식별자 사용 |
|
|
168
168
|
* | `internal_error` | 서버 설정 오류 | 가능 | 잠시 후 재시도 |
|
|
169
|
+
* | `invalid_ws_ticket` | 1회용 연결 티켓이 만료됐거나 이미 쓰였다 | 가능 | `connect()` 가 새 티켓으로 스스로 다시 붙는다 |
|
|
170
|
+
* | `ws_ticket_unavailable` | 서버의 티켓 저장소 일시 장애 | 가능 | `connect()` 가 다시 시도하고, 티켓을 못 받으면 예전 방식으로 붙는다 |
|
|
171
|
+
* | `query_credential_rejected` | 서버가 URL 쿼리 자격증명을 받지 않도록 설정됐다 | 불가 | 1회용 티켓으로 붙는 SDK 로 올린다 |
|
|
169
172
|
*/
|
|
170
|
-
type RealtimeConnectionErrorCode = "connection_limit_exceeded" | "quota_exceeded" | "server_at_capacity" | "rate_limited" | "auth_unavailable" | "unauthorized" | "forbidden" | "invalid_user_id" | "internal_error" | (string & {});
|
|
173
|
+
type RealtimeConnectionErrorCode = "connection_limit_exceeded" | "quota_exceeded" | "server_at_capacity" | "rate_limited" | "auth_unavailable" | "unauthorized" | "forbidden" | "invalid_user_id" | "internal_error" | "invalid_ws_ticket" | "ws_ticket_unavailable" | "query_credential_rejected" | (string & {});
|
|
171
174
|
/**
|
|
172
175
|
* 서버가 이유를 밝히고 실시간 연결을 거부했을 때 `cb.realtime.connect()` 가 던지는 에러.
|
|
173
176
|
*
|
|
@@ -3710,6 +3713,12 @@ declare class DatabaseAPI {
|
|
|
3710
3713
|
* 토큰으로 붙으면 서버가 거부해 재연결이 멈춘다. 앱이 다른 곳에서 받은 토큰은 건드리지 않는다.
|
|
3711
3714
|
*/
|
|
3712
3715
|
private connectRealtimeSocket;
|
|
3716
|
+
/**
|
|
3717
|
+
* 연결 시도 한 번에 쓸 1회용 티켓을 받는다(core/ws-ticket.ts). 브라우저 WebSocket 은 헤더를 못 붙여 예전에는 멤버 토큰을
|
|
3718
|
+
* URL(`?access_token=`)에 실었다 — 이제 헤더로 티켓을 받아 `?ticket=` 만 싣는다. 서버가 티켓을 모르거나(구버전) 잠시 못
|
|
3719
|
+
* 주면 null 이고 예전처럼 붙는다. cross-app OAuth 토큰도 같은 경로다(서버가 티켓에서 토큰을 되살려 같은 검증을 한다).
|
|
3720
|
+
*/
|
|
3721
|
+
private realtimeTicket;
|
|
3713
3722
|
private doRealtimeConnect;
|
|
3714
3723
|
/**
|
|
3715
3724
|
* 서버에 subscribe 메시지를 보내고 서버 subscription_id를 반환하는 Promise
|
|
@@ -5040,6 +5049,13 @@ declare class GameRoom {
|
|
|
5040
5049
|
* 게임 서버에 연결
|
|
5041
5050
|
*/
|
|
5042
5051
|
connect(roomId?: string): Promise<void>;
|
|
5052
|
+
/**
|
|
5053
|
+
* 연결 시도 한 번에 쓸 1회용 티켓을 받는다(core/ws-ticket.ts). 브라우저 WebSocket 은 헤더를 못 붙여 예전에는 멤버
|
|
5054
|
+
* 토큰(`?token=`)과 공개 키(`?public_key=`)를 URL 에 실었다 — 이제 헤더로 티켓을 받아 `?ticket=` 만 싣는다. 서버가
|
|
5055
|
+
* 티켓을 모르거나(구버전) 잠시 못 주면 null 이고 예전처럼 붙는다. 발급이 자격증명을 거부하면 {@link GameError} 로 던진다.
|
|
5056
|
+
*/
|
|
5057
|
+
private connectionTicket;
|
|
5058
|
+
private openSocket;
|
|
5043
5059
|
/**
|
|
5044
5060
|
* 연결 해제
|
|
5045
5061
|
*/
|
|
@@ -9027,6 +9043,15 @@ declare class RealtimeAPI {
|
|
|
9027
9043
|
* 마지막 거부를 그대로 던진다(`retryAfterMs` 가 있으면 앱이 그 시각에 다시 부를 수 있다).
|
|
9028
9044
|
*/
|
|
9029
9045
|
private connectWithRetry;
|
|
9046
|
+
/**
|
|
9047
|
+
* 연결 시도 한 번에 쓸 1회용 티켓을 받는다(core/ws-ticket.ts). 브라우저 WebSocket 은 헤더를 못 붙여 예전에는 멤버
|
|
9048
|
+
* 토큰과 공개 키를 URL 에 실었다 — 이제 헤더로 티켓을 받아 `?ticket=` 만 싣는다. 티켓은 한 번만 쓰이므로 시도마다
|
|
9049
|
+
* 새로 받는다.
|
|
9050
|
+
*
|
|
9051
|
+
* 서버가 티켓을 모르거나(구버전) 잠시 못 주면 null 이고, doConnect 가 예전처럼 자격증명을 URL 에 싣는다. 발급이
|
|
9052
|
+
* 자격증명을 거부하면 업그레이드 거부와 같은 {@link RealtimeConnectionError} 로 던진다 — 재시도 규칙이 같다.
|
|
9053
|
+
*/
|
|
9054
|
+
private connectTicket;
|
|
9030
9055
|
private doConnect;
|
|
9031
9056
|
/**
|
|
9032
9057
|
* 연결(재연결)에 쓸 토큰을 준비한다 — SDK 세션의 멤버 토큰인데 곧(1분 안) 만료되면 붙기 전에 새로 받는다. 만료된 토큰으로
|
|
@@ -9782,7 +9807,17 @@ interface DeleteBillingKeyResponse {
|
|
|
9782
9807
|
}
|
|
9783
9808
|
type BillingCycle = "daily" | "weekly" | "monthly" | "yearly";
|
|
9784
9809
|
type SubscriptionStatus = "active" | "paused" | "canceled" | "past_due" | "expired" | "trial";
|
|
9785
|
-
|
|
9810
|
+
/**
|
|
9811
|
+
* `create()` 의 두 형태에 공통인 옵션.
|
|
9812
|
+
*
|
|
9813
|
+
* 무엇을 얼마에 청구할지는 둘 중 하나로 정한다:
|
|
9814
|
+
* - {@link CreateSubscriptionWithProduct} — 콘솔 가격표의 정기 상품 `product_id` 만 보낸다. 금액, 통화, 주기,
|
|
9815
|
+
* 플랜명, 무료 체험, MoR PG 가격 ref 는 **서버가 상품에서 정한다.** 브라우저에서 부르는 구독은 이 형태를 쓴다.
|
|
9816
|
+
* - {@link CreateSubscriptionWithAmount} — 금액과 요금제를 직접 보낸다(레거시). 결제 설정의 금액 출처가 `client`
|
|
9817
|
+
* 인 앱이거나 서버(시크릿 키, service_role 함수)에서 부를 때만 받는다. 가격표 전용 앱(`catalog`, 새 앱의 기본값)에서
|
|
9818
|
+
* 브라우저가 보내면 403 `client_amount_not_allowed` 다.
|
|
9819
|
+
*/
|
|
9820
|
+
interface CreateSubscriptionOptions {
|
|
9786
9821
|
/** 빌링키 ID (toss/stripe 필수, payapp 미사용 — payurl 모델) */
|
|
9787
9822
|
billing_key_id?: string;
|
|
9788
9823
|
/**
|
|
@@ -9793,34 +9828,19 @@ interface CreateSubscriptionRequest {
|
|
|
9793
9828
|
*/
|
|
9794
9829
|
subscription_id?: string;
|
|
9795
9830
|
/**
|
|
9796
|
-
* true 면 구독 생성 즉시 1회차를 청구한다(빌링키 모델).
|
|
9797
|
-
*
|
|
9831
|
+
* true 면 구독 생성 즉시 1회차를 청구한다(빌링키 모델). 생략하면 가격표 구독은 즉시, 금액 직접 지정은 다음
|
|
9832
|
+
* 결제일부터 청구한다. 체험 기간이 있으면 즉시 청구하지 않는다(체험 종료 후 첫 청구).
|
|
9833
|
+
*
|
|
9834
|
+
* 가격표 전용 앱의 브라우저 호출은 `false` 를 보낼 수 없다(403 `client_schedule_not_allowed`) — 한 주기를 내지 않고
|
|
9835
|
+
* 쓰게 된다. 무료 체험은 가격표 상품의 `trial_days` 로 정한다.
|
|
9798
9836
|
*
|
|
9799
9837
|
* MoR(paddle/dodo)은 결제창에서 1회차를 받으므로 이 값을 쓰지 않는다.
|
|
9800
9838
|
*/
|
|
9801
9839
|
start_now?: boolean;
|
|
9802
|
-
/** 플랜 이름 */
|
|
9803
|
-
plan_name: string;
|
|
9804
|
-
/** 플랜 설명 */
|
|
9805
|
-
plan_description?: string;
|
|
9806
|
-
/** 결제 금액 */
|
|
9807
|
-
amount: number;
|
|
9808
|
-
/** 통화 (기본: KRW) */
|
|
9809
|
-
currency?: string;
|
|
9810
|
-
/** 결제 주기 */
|
|
9811
|
-
billing_cycle: BillingCycle;
|
|
9812
|
-
/** 결제일 (monthly: 1-28일, weekly: 0-6 요일) */
|
|
9813
|
-
billing_day?: number;
|
|
9814
9840
|
/**
|
|
9815
|
-
*
|
|
9816
|
-
*
|
|
9817
|
-
* 빌링키 모델(toss/stripe)에서는 ConnectBase 스케줄러가 체험 종료일에 첫 청구를 건다.
|
|
9818
|
-
* MoR 은 PG 가 정기청구를 소유하므로 결제창 생성 시 체험 일수를 함께 보낸다:
|
|
9819
|
-
* - **Dodo**: 구독마다 지정 가능(0~10000일)
|
|
9820
|
-
* - **Paddle**: 트라이얼이 요금제(price)에 붙는 속성이라 구독마다 지정할 수 없다 →
|
|
9821
|
-
* 400 `trial_days_unsupported`. 체험이 설정된 price 를 Paddle 대시보드에서 따로 만들어 쓴다.
|
|
9841
|
+
* 결제일 (monthly: 1-28일, weekly: 0-6 요일). 가격표 전용 앱의 브라우저 호출은 지정할 수 없다(첫 주기가 길어진다).
|
|
9822
9842
|
*/
|
|
9823
|
-
|
|
9843
|
+
billing_day?: number;
|
|
9824
9844
|
/**
|
|
9825
9845
|
* 첫 결제에 적용할 할인/쿠폰 코드(MoR 전용, 선택).
|
|
9826
9846
|
*
|
|
@@ -9852,8 +9872,6 @@ interface CreateSubscriptionRequest {
|
|
|
9852
9872
|
customer_phone?: string;
|
|
9853
9873
|
/** payapp 정기결제 만료일 yyyy-mm-dd (미입력시 +10년) */
|
|
9854
9874
|
expire_date?: string;
|
|
9855
|
-
/** MoR 필수: PG 카탈로그의 recurring price/product ref (Paddle `pri_*` / Dodo `pdt_*`) */
|
|
9856
|
-
provider_price_ref?: string;
|
|
9857
9875
|
/**
|
|
9858
9876
|
* 사용할 자격증명 모드 오버라이드 (test|live). 단건결제 `prepare()` 의 `payment_mode` 와
|
|
9859
9877
|
* 적용 조건이 **완전히 동일**하다 — 서버 시크릿 키(`cb_sk_*`)로 승격된 호출에서만 적용되고,
|
|
@@ -9865,9 +9883,48 @@ interface CreateSubscriptionRequest {
|
|
|
9865
9883
|
* 구독은 생성 시점 모드가 고정되므로 이후 갱신 청구·해지도 같은 키로 처리된다.
|
|
9866
9884
|
*/
|
|
9867
9885
|
payment_mode?: "test" | "live";
|
|
9868
|
-
/** 메타데이터 */
|
|
9886
|
+
/** 메타데이터 (클라이언트 값이라 권한 지급의 근거로 쓰지 않는다 — 구독의 `product_id` 를 본다) */
|
|
9869
9887
|
metadata?: Record<string, unknown>;
|
|
9870
9888
|
}
|
|
9889
|
+
/** 가격표 정기 상품으로 구독한다 — 금액, 통화, 주기, 플랜명, 체험 기간, PG 가격 ref 를 서버가 정한다. */
|
|
9890
|
+
interface CreateSubscriptionWithProduct extends CreateSubscriptionOptions {
|
|
9891
|
+
/** 콘솔 가격표의 정기 상품 ID (예: `premium_month`). 단건 상품이면 400 `product_not_recurring`. */
|
|
9892
|
+
product_id: string;
|
|
9893
|
+
plan_name?: never;
|
|
9894
|
+
plan_description?: never;
|
|
9895
|
+
amount?: never;
|
|
9896
|
+
currency?: never;
|
|
9897
|
+
billing_cycle?: never;
|
|
9898
|
+
trial_days?: never;
|
|
9899
|
+
provider_price_ref?: never;
|
|
9900
|
+
}
|
|
9901
|
+
/** 금액과 요금제를 직접 정한다(레거시 앱, 서버 호출). */
|
|
9902
|
+
interface CreateSubscriptionWithAmount extends CreateSubscriptionOptions {
|
|
9903
|
+
/** 플랜 이름 */
|
|
9904
|
+
plan_name: string;
|
|
9905
|
+
/** 플랜 설명 */
|
|
9906
|
+
plan_description?: string;
|
|
9907
|
+
/** 결제 금액 */
|
|
9908
|
+
amount: number;
|
|
9909
|
+
/** 통화 (기본: KRW) */
|
|
9910
|
+
currency?: string;
|
|
9911
|
+
/** 결제 주기 */
|
|
9912
|
+
billing_cycle: BillingCycle;
|
|
9913
|
+
/**
|
|
9914
|
+
* 트라이얼(무료 체험) 기간 (일).
|
|
9915
|
+
*
|
|
9916
|
+
* 빌링키 모델(toss/stripe)에서는 ConnectBase 스케줄러가 체험 종료일에 첫 청구를 건다.
|
|
9917
|
+
* MoR 은 PG 가 정기청구를 소유하므로 결제창 생성 시 체험 일수를 함께 보낸다:
|
|
9918
|
+
* - **Dodo**: 구독마다 지정 가능(0~10000일)
|
|
9919
|
+
* - **Paddle**: 트라이얼이 요금제(price)에 붙는 속성이라 구독마다 지정할 수 없다 →
|
|
9920
|
+
* 400 `trial_days_unsupported`. 체험이 설정된 price 를 Paddle 대시보드에서 따로 만들어 쓴다.
|
|
9921
|
+
*/
|
|
9922
|
+
trial_days?: number;
|
|
9923
|
+
/** MoR 필수: PG 카탈로그의 recurring price/product ref (Paddle `pri_*` / Dodo `pdt_*`) */
|
|
9924
|
+
provider_price_ref?: string;
|
|
9925
|
+
product_id?: never;
|
|
9926
|
+
}
|
|
9927
|
+
type CreateSubscriptionRequest = CreateSubscriptionWithProduct | CreateSubscriptionWithAmount;
|
|
9871
9928
|
interface SubscriptionResponse {
|
|
9872
9929
|
/** 구독 ID (UUID) */
|
|
9873
9930
|
id: string;
|
|
@@ -9890,6 +9947,11 @@ interface SubscriptionResponse {
|
|
|
9890
9947
|
launch_mode?: "overlay" | "redirect";
|
|
9891
9948
|
/** paddle: 현재 구독이 물린 recurring price ID (pri_*) */
|
|
9892
9949
|
provider_price_ref?: string;
|
|
9950
|
+
/**
|
|
9951
|
+
* 가격표 정기 상품으로 만든 구독이면 그 상품 ID. 서버가 정한 값이라 **권한 지급의 근거로 쓴다**. 금액을 직접
|
|
9952
|
+
* 바꾸거나 PG 가 가격표에 없는 가격으로 바꾸면 비워진다.
|
|
9953
|
+
*/
|
|
9954
|
+
product_id?: string;
|
|
9893
9955
|
/** 플랜 이름 */
|
|
9894
9956
|
plan_name: string;
|
|
9895
9957
|
/** 플랜 설명 */
|
|
@@ -9957,11 +10019,20 @@ interface SubscriptionResponse {
|
|
|
9957
10019
|
interface UpdateSubscriptionRequest {
|
|
9958
10020
|
/** 새 빌링키 ID */
|
|
9959
10021
|
billing_key_id?: string;
|
|
9960
|
-
/**
|
|
10022
|
+
/**
|
|
10023
|
+
* 다른 가격표 정기 상품으로 바꾼다(빌링키 구독만, 다음 청구부터 새 금액). 금액, 통화, 주기, 플랜명을 상품에서 정한다.
|
|
10024
|
+
* 정산이 없어 가격표 전용 앱에서는 서버 호출만 쓸 수 있다(브라우저는 403 `client_plan_change_not_allowed`).
|
|
10025
|
+
* MoR 구독은 {@link SubscriptionAPI.changePlan} 을 쓴다. 빈 문자열이면 가격표 연결만 끊는다.
|
|
10026
|
+
*/
|
|
10027
|
+
product_id?: string;
|
|
10028
|
+
/** 플랜 이름 (가격표 전용 앱에서는 서버 호출만) */
|
|
9961
10029
|
plan_name?: string;
|
|
9962
10030
|
/** 플랜 설명 */
|
|
9963
10031
|
plan_description?: string;
|
|
9964
|
-
/**
|
|
10032
|
+
/**
|
|
10033
|
+
* 결제 금액 (빌링키 구독만, 가격표 전용 앱에서는 서버 호출만). 바꾸면 `product_id` 가 비워진다.
|
|
10034
|
+
* PG 가 청구 금액을 정하는 구독(payapp, paypal, MoR)은 400 `subscription_amount_update_unsupported`.
|
|
10035
|
+
*/
|
|
9965
10036
|
amount?: number;
|
|
9966
10037
|
/** 메타데이터 */
|
|
9967
10038
|
metadata?: Record<string, unknown>;
|
|
@@ -10046,8 +10117,30 @@ type OnPaymentFailure = "prevent_change" | "apply_change";
|
|
|
10046
10117
|
* toss/stripe/payapp/paypal 구독은 PG 네이티브 proration 이 없어 400
|
|
10047
10118
|
* `plan_change_unsupported` 다.
|
|
10048
10119
|
*/
|
|
10049
|
-
interface
|
|
10050
|
-
/**
|
|
10120
|
+
interface ChangePlanOptions {
|
|
10121
|
+
/**
|
|
10122
|
+
* 정산 방식 (기본: prorated_immediately). 가격표 전용 앱의 브라우저 호출은 지금 정산하는 모드
|
|
10123
|
+
* (`prorated_immediately`, `full_immediately`, `difference_immediately`)만 쓸 수 있다
|
|
10124
|
+
* (403 `proration_mode_not_allowed`) — 다음 주기로 미루면 돈을 내기 전에 비싼 요금제를 쓴다.
|
|
10125
|
+
*/
|
|
10126
|
+
proration_mode?: ProrationMode;
|
|
10127
|
+
/** 즉시청구 실패 시 처리 (기본: prevent_change). 가격표 전용 앱의 브라우저 호출은 `prevent_change` 만. */
|
|
10128
|
+
on_payment_failure?: OnPaymentFailure;
|
|
10129
|
+
/** 메타데이터 병합 (선택) */
|
|
10130
|
+
metadata?: Record<string, unknown>;
|
|
10131
|
+
}
|
|
10132
|
+
/** 가격표 정기 상품으로 바꾼다 — 새 PG 가격 ref 와 플랜명을 서버가 상품에서 정한다. */
|
|
10133
|
+
interface ChangePlanWithProduct extends ChangePlanOptions {
|
|
10134
|
+
/** 콘솔 가격표의 정기 상품 ID. 상품에 이 구독의 프로바이더와 모드용 PG 가격 ref 가 있어야 한다. */
|
|
10135
|
+
product_id: string;
|
|
10136
|
+
provider_price_ref?: never;
|
|
10137
|
+
plan_name?: never;
|
|
10138
|
+
plan_description?: never;
|
|
10139
|
+
amount?: never;
|
|
10140
|
+
}
|
|
10141
|
+
/** PG 가격 ref 를 직접 지정한다(레거시 앱, 서버 호출). */
|
|
10142
|
+
interface ChangePlanWithPriceRef extends ChangePlanOptions {
|
|
10143
|
+
/** 새 recurring price/product ref (Paddle `pri_*` / Dodo `pdt_*`) */
|
|
10051
10144
|
provider_price_ref: string;
|
|
10052
10145
|
/** 우리 표시용 플랜명 (선택) */
|
|
10053
10146
|
plan_name?: string;
|
|
@@ -10055,13 +10148,9 @@ interface ChangePlanRequest {
|
|
|
10055
10148
|
plan_description?: string;
|
|
10056
10149
|
/** 우리 기록용 정기 금액 (선택 — 미지정 시 PG 값으로 자동 수렴) */
|
|
10057
10150
|
amount?: number;
|
|
10058
|
-
|
|
10059
|
-
proration_mode?: ProrationMode;
|
|
10060
|
-
/** 즉시청구 실패 시 처리 (기본: prevent_change) */
|
|
10061
|
-
on_payment_failure?: OnPaymentFailure;
|
|
10062
|
-
/** 메타데이터 병합 (선택) */
|
|
10063
|
-
metadata?: Record<string, unknown>;
|
|
10151
|
+
product_id?: never;
|
|
10064
10152
|
}
|
|
10153
|
+
type ChangePlanRequest = ChangePlanWithProduct | ChangePlanWithPriceRef;
|
|
10065
10154
|
/**
|
|
10066
10155
|
* 요금제 스왑 미리보기 응답 — 실제 적용 없이 정산 결과만 계산.
|
|
10067
10156
|
*
|
|
@@ -10167,14 +10256,12 @@ interface ListSubscriptionPaymentsResponse {
|
|
|
10167
10256
|
limit: number;
|
|
10168
10257
|
offset: number;
|
|
10169
10258
|
}
|
|
10170
|
-
interface
|
|
10259
|
+
interface ChargeWithBillingKeyOptions {
|
|
10171
10260
|
/** 빌링키 ID */
|
|
10172
10261
|
billing_key_id: string;
|
|
10173
|
-
/**
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
order_name: string;
|
|
10177
|
-
/** 주문 ID (선택) */
|
|
10262
|
+
/**
|
|
10263
|
+
* 주문 ID (선택). 재시도는 같은 내용이어야 한다 — 같은 주문 ID 로 다른 금액이나 상품을 보내면 409 `order_id_conflict`.
|
|
10264
|
+
*/
|
|
10178
10265
|
order_id?: string;
|
|
10179
10266
|
/** 고객 이메일 */
|
|
10180
10267
|
customer_email?: string;
|
|
@@ -10183,6 +10270,24 @@ interface ChargeWithBillingKeyRequest {
|
|
|
10183
10270
|
/** 메타데이터 */
|
|
10184
10271
|
metadata?: Record<string, unknown>;
|
|
10185
10272
|
}
|
|
10273
|
+
/** 가격표 단건 상품으로 청구한다 — 금액과 상품명을 서버가 정한다. */
|
|
10274
|
+
interface ChargeWithBillingKeyProduct extends ChargeWithBillingKeyOptions {
|
|
10275
|
+
product_id: string;
|
|
10276
|
+
/** 수량 (1~1000, 기본 1) */
|
|
10277
|
+
quantity?: number;
|
|
10278
|
+
amount?: never;
|
|
10279
|
+
order_name?: never;
|
|
10280
|
+
}
|
|
10281
|
+
/** 금액을 직접 정한다(레거시 앱, 서버 호출). KRW. */
|
|
10282
|
+
interface ChargeWithBillingKeyAmount extends ChargeWithBillingKeyOptions {
|
|
10283
|
+
/** 결제 금액 */
|
|
10284
|
+
amount: number;
|
|
10285
|
+
/** 상품명 */
|
|
10286
|
+
order_name: string;
|
|
10287
|
+
product_id?: never;
|
|
10288
|
+
quantity?: never;
|
|
10289
|
+
}
|
|
10290
|
+
type ChargeWithBillingKeyRequest = ChargeWithBillingKeyProduct | ChargeWithBillingKeyAmount;
|
|
10186
10291
|
interface ChargeWithBillingKeyResponse {
|
|
10187
10292
|
/** 토스 결제 키 */
|
|
10188
10293
|
payment_key: string;
|
|
@@ -10190,6 +10295,11 @@ interface ChargeWithBillingKeyResponse {
|
|
|
10190
10295
|
order_id: string;
|
|
10191
10296
|
/** 결제 금액 */
|
|
10192
10297
|
amount: number;
|
|
10298
|
+
/** `amount` 의 통화 (ISO 4217) */
|
|
10299
|
+
currency?: string;
|
|
10300
|
+
/** 가격표 결제면 상품 ID 와 수량 */
|
|
10301
|
+
product_id?: string;
|
|
10302
|
+
quantity?: number;
|
|
10193
10303
|
/** 결제 상태 */
|
|
10194
10304
|
status: string;
|
|
10195
10305
|
/** 영수증 URL */
|
|
@@ -10316,32 +10426,41 @@ declare class SubscriptionAPI {
|
|
|
10316
10426
|
* 구독 생성
|
|
10317
10427
|
* 정기결제 구독을 생성합니다.
|
|
10318
10428
|
*
|
|
10319
|
-
*
|
|
10320
|
-
*
|
|
10429
|
+
* **금액과 요금제는 서버가 정합니다.** 브라우저에서는 콘솔 가격표의 정기 상품 `product_id` 만 보내고, 서버가
|
|
10430
|
+
* 금액, 통화, 주기, 플랜명, 무료 체험, MoR PG 가격 ref 를 상품에서 정합니다. 금액을 직접 보내는 형태(레거시)는
|
|
10431
|
+
* 결제 설정의 금액 출처가 `client` 인 앱이거나 서버(시크릿 키, service_role 함수)에서 부를 때만 받습니다.
|
|
10432
|
+
*
|
|
10433
|
+
* @param data - 가격표 정기 상품(`product_id`) 또는 금액과 요금제, 빌링키, 고객 정보 등
|
|
10434
|
+
* @returns 생성된 구독 정보 (`product_id` 포함)
|
|
10321
10435
|
*
|
|
10322
10436
|
* @example
|
|
10323
10437
|
* ```typescript
|
|
10438
|
+
* // 가격표 구독 (권장) — 금액, 주기, 체험 기간은 콘솔 가격표의 premium_month 가 정한다
|
|
10324
10439
|
* const subscription = await client.subscription.create({
|
|
10325
10440
|
* billing_key_id: 'bk_xxxxx',
|
|
10326
|
-
*
|
|
10327
|
-
* amount: 9900,
|
|
10328
|
-
* billing_cycle: 'monthly',
|
|
10329
|
-
* billing_day: 15, // 매월 15일 결제
|
|
10330
|
-
* trial_days: 7 // 7일 무료 체험
|
|
10441
|
+
* product_id: 'premium_month',
|
|
10331
10442
|
* })
|
|
10332
10443
|
*
|
|
10333
|
-
* // MoR(dodo/paddle) 구독 + 할인 코드
|
|
10444
|
+
* // MoR(dodo/paddle) 구독 + 할인 코드 — PG 가격 ref 도 상품의 provider_price_refs 에서 서버가 고른다
|
|
10334
10445
|
* const promo = await client.subscription.create({
|
|
10446
|
+
* product_id: 'premium_month',
|
|
10447
|
+
* discount_code: 'LAUNCH50', // 첫 결제에 적용 (몇 주기까지인지는 PG 쿠폰 설정이 결정)
|
|
10448
|
+
* })
|
|
10449
|
+
*
|
|
10450
|
+
* // 금액 직접 지정 (레거시 앱, 서버 호출) — 가격표 전용 앱에서 브라우저가 보내면 403 client_amount_not_allowed
|
|
10451
|
+
* const legacy = await client.subscription.create({
|
|
10452
|
+
* billing_key_id: 'bk_xxxxx',
|
|
10335
10453
|
* plan_name: '프리미엄 플랜',
|
|
10336
10454
|
* amount: 9900,
|
|
10337
10455
|
* billing_cycle: 'monthly',
|
|
10338
|
-
* provider_price_ref: 'pdt_xxxxx', // PG 카탈로그의 recurring 상품
|
|
10339
|
-
* discount_code: 'LAUNCH50', // 첫 결제에 적용 (몇 주기까지인지는 PG 쿠폰 설정이 결정)
|
|
10340
|
-
* trial_days: 14, // Dodo 만 지원 — Paddle 은 400 trial_days_unsupported
|
|
10341
10456
|
* })
|
|
10342
10457
|
* ```
|
|
10343
10458
|
*
|
|
10344
10459
|
* @remarks
|
|
10460
|
+
* 권한은 구독의 `product_id` 로 지급합니다(`metadata` 는 클라이언트 값). 가격표 전용 앱의 브라우저 호출은
|
|
10461
|
+
* `start_now: false` 와 `billing_day` 를 쓸 수 없습니다(403 `client_schedule_not_allowed`) — 둘 다 한 번 낸 돈으로 쓰는
|
|
10462
|
+
* 기간을 늘립니다. 무료 체험은 상품의 `trial_days` 가 정합니다.
|
|
10463
|
+
*
|
|
10345
10464
|
* 할인 코드(`discount_code`)와 `trial_days` 의 프로바이더 지원 범위가 다릅니다:
|
|
10346
10465
|
* - **Dodo**: 할인 코드 O, 결제창 쿠폰 입력 토글 O, 구독별 체험 일수 O
|
|
10347
10466
|
* - **Paddle**: 할인 코드 O(코드→내부 ID 자동 해소), 쿠폰 입력칸은 항상 노출(숨김 불가),
|
|
@@ -10383,9 +10502,9 @@ declare class SubscriptionAPI {
|
|
|
10383
10502
|
*
|
|
10384
10503
|
* @example
|
|
10385
10504
|
* ```typescript
|
|
10505
|
+
* // 서버(시크릿 키, service_role 함수)에서 다른 가격표 상품으로 바꾸기 — 다음 청구부터 새 금액
|
|
10386
10506
|
* await client.subscription.update(subscriptionId, {
|
|
10387
|
-
*
|
|
10388
|
-
* amount: 29900
|
|
10507
|
+
* product_id: 'enterprise_month',
|
|
10389
10508
|
* })
|
|
10390
10509
|
*
|
|
10391
10510
|
* // 다음 결제일을 특정 날짜로 옮기기 (기간권·보상)
|
|
@@ -10537,11 +10656,10 @@ declare class SubscriptionAPI {
|
|
|
10537
10656
|
*
|
|
10538
10657
|
* @example
|
|
10539
10658
|
* ```typescript
|
|
10659
|
+
* // 가격표 정기 상품으로 바꾼다 — 새 PG 가격 ref 와 플랜명은 서버가 상품에서 정한다
|
|
10540
10660
|
* await client.subscription.changePlan(subscriptionId, {
|
|
10541
|
-
*
|
|
10542
|
-
*
|
|
10543
|
-
* amount: 24900,
|
|
10544
|
-
* proration_mode: 'prorated_immediately',
|
|
10661
|
+
* product_id: 'family_month',
|
|
10662
|
+
* proration_mode: 'prorated_immediately', // 브라우저는 지금 정산하는 모드만
|
|
10545
10663
|
* })
|
|
10546
10664
|
* ```
|
|
10547
10665
|
*/
|
|
@@ -10568,7 +10686,7 @@ declare class SubscriptionAPI {
|
|
|
10568
10686
|
* @example
|
|
10569
10687
|
* ```typescript
|
|
10570
10688
|
* const preview = await client.subscription.previewChangePlan(subscriptionId, {
|
|
10571
|
-
*
|
|
10689
|
+
* product_id: 'family_month',
|
|
10572
10690
|
* })
|
|
10573
10691
|
* // 통화를 함께 포맷한다 — 금액만 쓰면 다통화에서 거짓 금액이 된다
|
|
10574
10692
|
* format(preview.immediate_charge_amount, preview.currency)
|
|
@@ -10600,10 +10718,11 @@ declare class SubscriptionAPI {
|
|
|
10600
10718
|
*
|
|
10601
10719
|
* @example
|
|
10602
10720
|
* ```typescript
|
|
10721
|
+
* // 가격표 단건 상품으로 청구 — 금액과 상품명은 서버가 정한다
|
|
10603
10722
|
* const result = await client.subscription.chargeWithBillingKey({
|
|
10604
10723
|
* billing_key_id: 'bk_xxxxx',
|
|
10605
|
-
*
|
|
10606
|
-
*
|
|
10724
|
+
* product_id: 'gem_100',
|
|
10725
|
+
* quantity: 2,
|
|
10607
10726
|
* })
|
|
10608
10727
|
*
|
|
10609
10728
|
* if (result.status === 'done') {
|
|
@@ -11631,6 +11750,19 @@ interface WebRTCConnectOptions {
|
|
|
11631
11750
|
isBroadcaster?: boolean;
|
|
11632
11751
|
/** 로컬 미디어 스트림 */
|
|
11633
11752
|
localStream?: MediaStream;
|
|
11753
|
+
/**
|
|
11754
|
+
* 비공개 룸으로 열 때 함께 들어올 회원 ID 목록 (최대 50개, 로그인 회원 연결만).
|
|
11755
|
+
*
|
|
11756
|
+
* 이 연결이 룸을 새로 열면 목록의 회원과 자신만 들어오는 비공개 룸이 된다. 이미 열린 룸이면 그 룸이
|
|
11757
|
+
* 비공개이고 내가 목록에 있어야 들어간다(공개 룸이면 `이미 공개 룸으로 열려 있습니다` 오류).
|
|
11758
|
+
* 참가자 모두가 같은 목록을 보내면 누가 먼저 오든 비공개로 열린다. 룸 ID 는 추측할 수 없는 값을 쓴다.
|
|
11759
|
+
*/
|
|
11760
|
+
allowedMemberIds?: string[];
|
|
11761
|
+
}
|
|
11762
|
+
/** 서버가 join 요청을 바꿨을 때의 알림 (예: `broadcaster_requires_auth`, `broadcaster_role_required`) */
|
|
11763
|
+
interface WebRTCWarning {
|
|
11764
|
+
code: string;
|
|
11765
|
+
message: string;
|
|
11634
11766
|
}
|
|
11635
11767
|
/** 피어 정보 */
|
|
11636
11768
|
interface PeerInfo {
|
|
@@ -11640,8 +11772,6 @@ interface PeerInfo {
|
|
|
11640
11772
|
user_id?: string;
|
|
11641
11773
|
/** 방송자 여부 */
|
|
11642
11774
|
is_broadcaster?: boolean;
|
|
11643
|
-
/** 참가 시간 */
|
|
11644
|
-
joined_at?: string;
|
|
11645
11775
|
}
|
|
11646
11776
|
/** 룸 정보 */
|
|
11647
11777
|
interface RoomInfo {
|
|
@@ -11704,6 +11834,8 @@ interface RoomSummary {
|
|
|
11704
11834
|
peer_count: number;
|
|
11705
11835
|
broadcaster_count: number;
|
|
11706
11836
|
viewer_count: number;
|
|
11837
|
+
/** 회원 허용 목록이 있는 비공개 룸이면 true (목록의 회원에게만 보인다) */
|
|
11838
|
+
private?: boolean;
|
|
11707
11839
|
}
|
|
11708
11840
|
/**
|
|
11709
11841
|
* 앱 통계 응답 — server `GetStats` (`GET /v1/apps/:appID/stats`) 의 와이어 형태.
|
|
@@ -11730,6 +11862,8 @@ interface JoinRoomRequest {
|
|
|
11730
11862
|
room_id: string;
|
|
11731
11863
|
/** 방송자 요청. 서버가 정한다(`JoinRoomResponse.is_broadcaster`). */
|
|
11732
11864
|
is_broadcaster?: boolean;
|
|
11865
|
+
/** 비공개 룸 회원 허용 목록 (`WebRTCConnectOptions.allowedMemberIds` 와 같은 규칙) */
|
|
11866
|
+
allowed_member_ids?: string[];
|
|
11733
11867
|
}
|
|
11734
11868
|
/** 참가 응답 (`POST /rooms/join`) */
|
|
11735
11869
|
interface JoinRoomResponse {
|
|
@@ -11739,6 +11873,8 @@ interface JoinRoomResponse {
|
|
|
11739
11873
|
peers: PeerInfo[];
|
|
11740
11874
|
/** 서버가 정한 역할 */
|
|
11741
11875
|
is_broadcaster: boolean;
|
|
11876
|
+
/** 들어간 룸이 비공개 룸이면 true */
|
|
11877
|
+
private?: boolean;
|
|
11742
11878
|
/** 참가는 됐지만 요청대로 되지 않은 사항 (예: `broadcaster_requires_auth`) */
|
|
11743
11879
|
warning?: {
|
|
11744
11880
|
code: string;
|
|
@@ -11777,7 +11913,14 @@ declare class WebRTCAPI {
|
|
|
11777
11913
|
private currentRoomId;
|
|
11778
11914
|
private currentPeerId;
|
|
11779
11915
|
private currentUserId;
|
|
11780
|
-
|
|
11916
|
+
/** connect 가 요청한 방송자 역할 (switchRoom 이 이어받는다) */
|
|
11917
|
+
private broadcasterRequested;
|
|
11918
|
+
/** 서버가 정한 방송자 역할 (`joined` 의 is_broadcaster) */
|
|
11919
|
+
private broadcasterGranted;
|
|
11920
|
+
/** 비공개 룸 허용 목록 요청 (이 연결에서만 쓴다) */
|
|
11921
|
+
private allowedMemberIds;
|
|
11922
|
+
private privateRoom;
|
|
11923
|
+
private warningListeners;
|
|
11781
11924
|
private localStream;
|
|
11782
11925
|
private channelType;
|
|
11783
11926
|
private peerConnections;
|
|
@@ -11810,6 +11953,13 @@ declare class WebRTCAPI {
|
|
|
11810
11953
|
*/
|
|
11811
11954
|
connect(options: WebRTCConnectOptions): Promise<void>;
|
|
11812
11955
|
private connectWebSocket;
|
|
11956
|
+
/**
|
|
11957
|
+
* 연결 시도 한 번에 쓸 1회용 티켓을 받는다(core/ws-ticket.ts). 브라우저 WebSocket 은 헤더를 못 붙여 예전에는 멤버 토큰
|
|
11958
|
+
* (`?access_token=`)과 공개 키(`?public_key=`)를 URL 에 실었다 — 이제 헤더로 티켓을 받아 `?ticket=` 만 싣는다. 서버가
|
|
11959
|
+
* 티켓을 모르거나(구버전) 잠시 못 주면 null 이고 예전처럼 붙는다. 발급이 자격증명을 거부하면 그 이유로 던진다.
|
|
11960
|
+
*/
|
|
11961
|
+
private signalingTicket;
|
|
11962
|
+
private openSignalingSocket;
|
|
11813
11963
|
/**
|
|
11814
11964
|
* 소켓에 붙은 핸들러를 전부 떼어낸다.
|
|
11815
11965
|
*
|
|
@@ -11825,6 +11975,11 @@ declare class WebRTCAPI {
|
|
|
11825
11975
|
private handleAnswer;
|
|
11826
11976
|
private handleICECandidate;
|
|
11827
11977
|
private closePeerConnection;
|
|
11978
|
+
/**
|
|
11979
|
+
* 서버 error 메시지의 data 에서 안내 문구를 꺼낸다. 대부분은 문자열이지만 할당량, 동시접속 초과는
|
|
11980
|
+
* `{ error, message, ... }` 객체로 온다.
|
|
11981
|
+
*/
|
|
11982
|
+
private static signalingErrorMessage;
|
|
11828
11983
|
private sendSignaling;
|
|
11829
11984
|
private handleDisconnect;
|
|
11830
11985
|
private attemptReconnect;
|
|
@@ -11886,6 +12041,15 @@ declare class WebRTCAPI {
|
|
|
11886
12041
|
* 현재 채널 타입 조회
|
|
11887
12042
|
*/
|
|
11888
12043
|
getChannelType(): WebRTCMode;
|
|
12044
|
+
/**
|
|
12045
|
+
* 서버가 정한 방송자 역할인지 조회한다. 요청(`isBroadcaster: true`)과 다를 수 있다 — 익명 연결이나
|
|
12046
|
+
* 채널의 방송자 역할이 없는 회원은 시청자로 참가한다(`onWarning` 으로 이유가 온다).
|
|
12047
|
+
*/
|
|
12048
|
+
isBroadcaster(): boolean;
|
|
12049
|
+
/**
|
|
12050
|
+
* 지금 룸이 회원 허용 목록이 있는 비공개 룸인지 조회한다.
|
|
12051
|
+
*/
|
|
12052
|
+
isPrivateRoom(): boolean;
|
|
11889
12053
|
/**
|
|
11890
12054
|
* 원격 스트림 조회
|
|
11891
12055
|
*/
|
|
@@ -11914,6 +12078,17 @@ declare class WebRTCAPI {
|
|
|
11914
12078
|
* 에러 이벤트
|
|
11915
12079
|
*/
|
|
11916
12080
|
onError(callback: (error: Error) => void): () => void;
|
|
12081
|
+
/**
|
|
12082
|
+
* 서버가 join 요청을 바꿨다는 알림 이벤트 (예: 방송자 요청을 시청자로 낮춤)
|
|
12083
|
+
*
|
|
12084
|
+
* @example
|
|
12085
|
+
* ```typescript
|
|
12086
|
+
* cb.webrtc.onWarning(({ code, message }) => {
|
|
12087
|
+
* if (code === 'broadcaster_role_required') showToast(message)
|
|
12088
|
+
* })
|
|
12089
|
+
* ```
|
|
12090
|
+
*/
|
|
12091
|
+
onWarning(callback: (warning: WebRTCWarning) => void): () => void;
|
|
11917
12092
|
/**
|
|
11918
12093
|
* 피어 참가 이벤트
|
|
11919
12094
|
*/
|
|
@@ -11928,6 +12103,7 @@ declare class WebRTCAPI {
|
|
|
11928
12103
|
onRemoteStream(callback: (peerId: string, stream: MediaStream) => void): () => void;
|
|
11929
12104
|
private setState;
|
|
11930
12105
|
private emitError;
|
|
12106
|
+
private emitWarning;
|
|
11931
12107
|
private emitPeerJoined;
|
|
11932
12108
|
private emitPeerLeft;
|
|
11933
12109
|
private emitRemoteStream;
|
|
@@ -12101,6 +12277,22 @@ declare class GameRoomTransport {
|
|
|
12101
12277
|
private stopPingInterval;
|
|
12102
12278
|
}
|
|
12103
12279
|
|
|
12280
|
+
/** 발급 엔드포인트가 자격증명을 거부했다(4xx). 같은 자격증명을 URL 에 실어도 거부되므로 예전 방식으로 넘어가지 않는다. */
|
|
12281
|
+
declare class WsTicketError extends Error {
|
|
12282
|
+
/** 발급 응답의 HTTP 상태. */
|
|
12283
|
+
readonly status: number;
|
|
12284
|
+
/** 서버의 거부 코드(`error`). 없으면 `ws_ticket_rejected`. */
|
|
12285
|
+
readonly code: string;
|
|
12286
|
+
/** 서버가 알려 준 재시도 대기(ms, `retry_after_ms`). */
|
|
12287
|
+
readonly retryAfterMs?: number;
|
|
12288
|
+
constructor(init: {
|
|
12289
|
+
status: number;
|
|
12290
|
+
code?: string;
|
|
12291
|
+
message?: string;
|
|
12292
|
+
retryAfterMs?: number;
|
|
12293
|
+
});
|
|
12294
|
+
}
|
|
12295
|
+
|
|
12104
12296
|
interface ConnectBaseConfig {
|
|
12105
12297
|
/**
|
|
12106
12298
|
* Connect Base API 서버 URL (선택사항)
|
|
@@ -12424,4 +12616,4 @@ declare class ConnectBase {
|
|
|
12424
12616
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
12425
12617
|
}
|
|
12426
12618
|
|
|
12427
|
-
export { AIAPI, type AIChatOptions, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, AIError, type AIErrorCode, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AcceptInvitationResponse, 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 AppMemberDetail, type AppMemberIdentityDetail, type AppMemberIdentitySummary, type AppMemberList, type AppMemberListItem, type AppMemberProviderType, AppMembersAPI, 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 ChangePlanPreview, type ChangePlanRequest, 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 CreateCheckoutSessionOptions, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateCheckoutSessionWithAmount, type CreateCheckoutSessionWithProduct, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateInvitationRequest, type CreateInvitationResponse, type CreateLobbyRequest, type CreateOrganizationRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRolePayload, type CreateRoleResult, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTopicOptions, 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 DeleteBillingKeyResponse, 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 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 ListAppMembersOptions, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListPaymentsOptions, 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 MemberChangePasswordRequest, type MemberCredentialMessageResponse, type MemberEmailVerificationConfirmRequest, type MemberEmailVerificationConfirmResponse, type MemberEmailVerificationRequest, type MemberInfoResponse, type MemberPasswordResetConfirmRequest, type MemberPasswordResetRequest, type MemberRedirectOption, type MemberSession, type MemberSessionList, type MemberSessionRevokeResponse, 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 OnPaymentFailure, type OpenDialogOptions, type OpenDialogResult, type Organization, type OrganizationContext, type OrganizationInvitation, type OrganizationMember, type OrganizationMemberList, type OrganizationRole, OrganizationsAPI, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentListItem, type PaymentListResult, type PaymentMode, 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 PostponeBillingRequest, type PreparePaymentOptions, type PreparePaymentRequest, type PreparePaymentResponse, type PreparePaymentWithAmount, type PreparePaymentWithProduct, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type ProrationMode, type PublicKeyItem, type PublicKeyPaymentMode, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type PushStatsResult, type PushTopicInfo, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, RealtimeConnectionError, type RealtimeConnectionErrorCode, type RealtimeMessage, RealtimeRequestError, type RealtimeSendPolicy, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoleDetail, type RoleList, type RoleListItem, type RolePermissionItem, type RoleUserItem, RolesAPI, type RoomInfo, type RoomStaleMessage, type RoomSummary, type RoomsResponse, type RotatePublicKeyRequest, type RotatePublicKeyResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptLogEntry, type ScriptLogsResponse, type ScriptMeta, type ScriptMetricsResponse, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type SendSuperChatOptions, type SendSuperChatResponse, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type SpeechRecognizeOptions, type SpeechResult, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StorageUploadProgress, 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 SuperChatType, type SuspendAppMemberOptions, type SuspendAppMemberResult, type SyncLostMessage, 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 UnsuspendAppMemberResult, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateDocumentRequest, type UpdateLobbyRequest, type UpdateOrganizationRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateRolePayload, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileOptions, 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 VideoStorageAccessLevel, 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, toAIError, toCreateRoomWire };
|
|
12619
|
+
export { AIAPI, type AIChatOptions, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, AIError, type AIErrorCode, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AcceptInvitationResponse, 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 AppMemberDetail, type AppMemberIdentityDetail, type AppMemberIdentitySummary, type AppMemberList, type AppMemberListItem, type AppMemberProviderType, AppMembersAPI, 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 ChangePlanOptions, type ChangePlanPreview, type ChangePlanRequest, type ChangePlanWithPriceRef, type ChangePlanWithProduct, type Channel, type ChannelMembership, type ChannelStats, type ChargeWithBillingKeyAmount, type ChargeWithBillingKeyOptions, type ChargeWithBillingKeyProduct, 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 CreateCheckoutSessionOptions, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateCheckoutSessionWithAmount, type CreateCheckoutSessionWithProduct, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateInvitationRequest, type CreateInvitationResponse, type CreateLobbyRequest, type CreateOrganizationRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRolePayload, type CreateRoleResult, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionOptions, type CreateSubscriptionRequest, type CreateSubscriptionWithAmount, type CreateSubscriptionWithProduct, type CreateTableRequest, type CreateTopicOptions, 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 DeleteBillingKeyResponse, 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 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 ListAppMembersOptions, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListPaymentsOptions, 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 MemberChangePasswordRequest, type MemberCredentialMessageResponse, type MemberEmailVerificationConfirmRequest, type MemberEmailVerificationConfirmResponse, type MemberEmailVerificationRequest, type MemberInfoResponse, type MemberPasswordResetConfirmRequest, type MemberPasswordResetRequest, type MemberRedirectOption, type MemberSession, type MemberSessionList, type MemberSessionRevokeResponse, 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 OnPaymentFailure, type OpenDialogOptions, type OpenDialogResult, type Organization, type OrganizationContext, type OrganizationInvitation, type OrganizationMember, type OrganizationMemberList, type OrganizationRole, OrganizationsAPI, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentListItem, type PaymentListResult, type PaymentMode, 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 PostponeBillingRequest, type PreparePaymentOptions, type PreparePaymentRequest, type PreparePaymentResponse, type PreparePaymentWithAmount, type PreparePaymentWithProduct, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type ProrationMode, type PublicKeyItem, type PublicKeyPaymentMode, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type PushStatsResult, type PushTopicInfo, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, RealtimeConnectionError, type RealtimeConnectionErrorCode, type RealtimeMessage, RealtimeRequestError, type RealtimeSendPolicy, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoleDetail, type RoleList, type RoleListItem, type RolePermissionItem, type RoleUserItem, RolesAPI, type RoomInfo, type RoomStaleMessage, type RoomSummary, type RoomsResponse, type RotatePublicKeyRequest, type RotatePublicKeyResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptLogEntry, type ScriptLogsResponse, type ScriptMeta, type ScriptMetricsResponse, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type SendSuperChatOptions, type SendSuperChatResponse, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type SpeechRecognizeOptions, type SpeechResult, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StorageUploadProgress, 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 SuperChatType, type SuspendAppMemberOptions, type SuspendAppMemberResult, type SyncLostMessage, 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 UnsuspendAppMemberResult, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateDocumentRequest, type UpdateLobbyRequest, type UpdateOrganizationRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateRolePayload, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileOptions, 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 VideoStorageAccessLevel, type VideoStorageListResponse, type VideoVisibility, type VoiceChannel, type VoiceMember, type WaitOptions, type WatchHistoryItem, type WebPushSubscription, type WebRTCConnectOptions, type WebRTCConnectionState, type WebRTCMode, type WebRTCWarning, type WhereCondition, type WhereOperator, WsTicketError, ConnectBase as default, detectInAppBrowser, escapeToExternalBrowser, isWebTransportSupported, toAIError, toCreateRoomWire };
|