connectbase-client 4.1.0 → 4.3.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 +84 -0
- package/dist/connect-base.umd.js +5 -5
- package/dist/index.d.mts +253 -34
- package/dist/index.d.ts +253 -34
- package/dist/index.js +153 -9
- package/dist/index.mjs +153 -9
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4440,6 +4440,27 @@ declare global {
|
|
|
4440
4440
|
}
|
|
4441
4441
|
interface NativeBridgeInterface {
|
|
4442
4442
|
platform?: "electron" | "react-native" | "ios" | "android";
|
|
4443
|
+
/** 실행 OS (react-native: 'ios' | 'android', electron: process.platform) */
|
|
4444
|
+
os?: string;
|
|
4445
|
+
/** 네이티브 셸에서 실행 중인지 (패키징 앱이면 항상 true) */
|
|
4446
|
+
isNative?: boolean;
|
|
4447
|
+
/** 브릿지 원시 호출 (문서화되지 않은 타입 호출용) */
|
|
4448
|
+
call?: (type: string, payload?: unknown, options?: {
|
|
4449
|
+
timeoutMs?: number;
|
|
4450
|
+
}) => Promise<unknown>;
|
|
4451
|
+
app?: {
|
|
4452
|
+
getVersion?: () => Promise<string>;
|
|
4453
|
+
getName?: () => Promise<string>;
|
|
4454
|
+
getInfo?: () => Promise<NativeAppInfo>;
|
|
4455
|
+
getPath?: (name: string) => Promise<string | null>;
|
|
4456
|
+
reload?: () => Promise<void>;
|
|
4457
|
+
quit?: () => Promise<void>;
|
|
4458
|
+
};
|
|
4459
|
+
browser?: {
|
|
4460
|
+
openExternal: (url: string) => Promise<{
|
|
4461
|
+
success: boolean;
|
|
4462
|
+
}>;
|
|
4463
|
+
};
|
|
4443
4464
|
camera?: {
|
|
4444
4465
|
takePicture: (options?: CameraOptions) => Promise<ImageResult>;
|
|
4445
4466
|
pickImage: (options?: PickImageOptions) => Promise<ImageResult[]>;
|
|
@@ -4455,6 +4476,9 @@ interface NativeBridgeInterface {
|
|
|
4455
4476
|
scheduleLocal: (options: LocalNotificationOptions) => Promise<{
|
|
4456
4477
|
notificationId: string;
|
|
4457
4478
|
}>;
|
|
4479
|
+
setBadgeCount?: (count: number) => Promise<{
|
|
4480
|
+
success: boolean;
|
|
4481
|
+
}>;
|
|
4458
4482
|
};
|
|
4459
4483
|
speech?: {
|
|
4460
4484
|
recognize: (options?: SpeechRecognizeOptions) => Promise<SpeechResult>;
|
|
@@ -4497,12 +4521,6 @@ interface NativeBridgeInterface {
|
|
|
4497
4521
|
rewarded: boolean;
|
|
4498
4522
|
}>;
|
|
4499
4523
|
};
|
|
4500
|
-
app?: {
|
|
4501
|
-
getVersion: () => Promise<string>;
|
|
4502
|
-
getName: () => Promise<string>;
|
|
4503
|
-
getPath: (name: string) => Promise<string | null>;
|
|
4504
|
-
quit: () => Promise<void>;
|
|
4505
|
-
};
|
|
4506
4524
|
system?: {
|
|
4507
4525
|
getInfo: () => Promise<SystemInfo>;
|
|
4508
4526
|
getMemory: () => Promise<MemoryInfo>;
|
|
@@ -4592,10 +4610,34 @@ interface NativeBridgeInterface {
|
|
|
4592
4610
|
saveToGallery?: (uri: string) => Promise<{
|
|
4593
4611
|
uri: string;
|
|
4594
4612
|
}>;
|
|
4613
|
+
/** 모바일: 앱 문서/캐시 디렉터리 URI */
|
|
4614
|
+
getDirectories?: () => Promise<{
|
|
4615
|
+
document: string | null;
|
|
4616
|
+
cache: string | null;
|
|
4617
|
+
}>;
|
|
4618
|
+
/** 데스크톱: 접근이 허용된 앱 전용 데이터 폴더 */
|
|
4619
|
+
getAppDir?: () => Promise<string>;
|
|
4595
4620
|
};
|
|
4596
4621
|
onDeepLink?: (callback: (url: string) => void) => () => void;
|
|
4597
4622
|
}
|
|
4598
4623
|
type Platform = "web" | "mobile" | "desktop";
|
|
4624
|
+
/** 패키징 앱 정보 (`cb.native.getAppInfo()`) */
|
|
4625
|
+
interface NativeAppInfo {
|
|
4626
|
+
platform: string;
|
|
4627
|
+
os?: string;
|
|
4628
|
+
osVersion?: string;
|
|
4629
|
+
arch?: string;
|
|
4630
|
+
appVersion?: string;
|
|
4631
|
+
electronVersion?: string;
|
|
4632
|
+
webUrl?: string;
|
|
4633
|
+
}
|
|
4634
|
+
/** 위치 추적 핸들 (`cb.native.location.watchPosition()`) */
|
|
4635
|
+
interface LocationWatch {
|
|
4636
|
+
/** 네이티브 watch 식별자 (웹 폴백에서는 geolocation watch id) */
|
|
4637
|
+
watchId: string;
|
|
4638
|
+
/** 추적 중지 */
|
|
4639
|
+
clear: () => Promise<void>;
|
|
4640
|
+
}
|
|
4599
4641
|
interface CameraOptions {
|
|
4600
4642
|
quality?: number;
|
|
4601
4643
|
base64?: boolean;
|
|
@@ -4748,6 +4790,20 @@ declare class NativeAPI {
|
|
|
4748
4790
|
* 현재 플랫폼 감지
|
|
4749
4791
|
*/
|
|
4750
4792
|
getPlatform(): Platform;
|
|
4793
|
+
/**
|
|
4794
|
+
* 패키징 앱(네이티브 셸) 안에서 실행 중인지
|
|
4795
|
+
*/
|
|
4796
|
+
isNativeApp(): boolean;
|
|
4797
|
+
/**
|
|
4798
|
+
* 패키징 앱 정보 조회 (웹에서는 null)
|
|
4799
|
+
*
|
|
4800
|
+
* @example
|
|
4801
|
+
* ```typescript
|
|
4802
|
+
* const info = await cb.native.getAppInfo()
|
|
4803
|
+
* // { platform: 'react-native', os: 'ios', appVersion: '1.0.0', webUrl: '...' }
|
|
4804
|
+
* ```
|
|
4805
|
+
*/
|
|
4806
|
+
getAppInfo(): Promise<NativeAppInfo | null>;
|
|
4751
4807
|
/**
|
|
4752
4808
|
* 특정 네이티브 기능 지원 여부 확인
|
|
4753
4809
|
*/
|
|
@@ -4835,6 +4891,42 @@ declare class NativeAPI {
|
|
|
4835
4891
|
* 현재 위치 가져오기
|
|
4836
4892
|
*/
|
|
4837
4893
|
getCurrentPosition: (options?: LocationOptions) => Promise<Position>;
|
|
4894
|
+
/**
|
|
4895
|
+
* 위치 추적 시작.
|
|
4896
|
+
*
|
|
4897
|
+
* 패키징 앱(모바일)에서는 네이티브가 `nativeLocationUpdate` 이벤트로 갱신을 보내고,
|
|
4898
|
+
* 웹/데스크톱에서는 Geolocation `watchPosition` 을 사용한다.
|
|
4899
|
+
*
|
|
4900
|
+
* @example
|
|
4901
|
+
* ```typescript
|
|
4902
|
+
* const watch = await cb.native.location.watchPosition((pos) => console.log(pos))
|
|
4903
|
+
* // 나중에
|
|
4904
|
+
* await watch.clear()
|
|
4905
|
+
* ```
|
|
4906
|
+
*/
|
|
4907
|
+
watchPosition: (onUpdate: (position: Position) => void, options?: LocationOptions) => Promise<LocationWatch>;
|
|
4908
|
+
};
|
|
4909
|
+
/**
|
|
4910
|
+
* 모바일 전용 푸시 API
|
|
4911
|
+
*
|
|
4912
|
+
* 패키징 앱은 raw 디바이스 토큰(iOS=APNS, Android=FCM)을 발급받아
|
|
4913
|
+
* `cb.push.registerDevice()` 로 등록해야 서버 발송이 가능하다.
|
|
4914
|
+
*/
|
|
4915
|
+
push: {
|
|
4916
|
+
/**
|
|
4917
|
+
* 네이티브 디바이스 푸시 토큰 조회.
|
|
4918
|
+
* 웹(패키징 앱이 아닌 경우)에서는 null 을 반환한다.
|
|
4919
|
+
*/
|
|
4920
|
+
getToken: () => Promise<{
|
|
4921
|
+
token: string;
|
|
4922
|
+
platform?: string;
|
|
4923
|
+
} | null>;
|
|
4924
|
+
/** 알림 권한 요청 (웹은 Web Notification 권한) */
|
|
4925
|
+
requestPermission: () => Promise<boolean>;
|
|
4926
|
+
/** 로컬 알림 예약 (패키징 앱 전용) */
|
|
4927
|
+
scheduleLocal: (options: LocalNotificationOptions) => Promise<string | null>;
|
|
4928
|
+
/** 앱 아이콘 배지 숫자 설정 (미지원 플랫폼에서는 무시) */
|
|
4929
|
+
setBadgeCount: (count: number) => Promise<boolean>;
|
|
4838
4930
|
};
|
|
4839
4931
|
/**
|
|
4840
4932
|
* 크로스 플랫폼 알림 API
|
|
@@ -5183,11 +5275,15 @@ type PaymentStatus = "pending" | "ready" | "in_progress" | "done" | "canceled" |
|
|
|
5183
5275
|
interface PreparePaymentRequest {
|
|
5184
5276
|
payment_provider?: PaymentProvider;
|
|
5185
5277
|
/**
|
|
5186
|
-
* 사용할 자격증명 모드 오버라이드(선택).
|
|
5278
|
+
* 사용할 자격증명 모드 오버라이드(선택).
|
|
5187
5279
|
*
|
|
5188
5280
|
* **서버에서 시크릿 키(`cb_sk_*`)로 호출할 때만 적용된다.** 브라우저에 실리는 공개 키
|
|
5189
5281
|
* (`cb_pk_*`) 호출에서는 무시된다 — 클라이언트가 test 를 골라 실제 돈 없이 "결제 성공"을
|
|
5190
5282
|
* 만들 수 있으면 결제 성공에 걸린 권한 부여가 통째로 우회되기 때문이다.
|
|
5283
|
+
*
|
|
5284
|
+
* 모드 결정 우선순위: 이 오버라이드 → **퍼블릭 키에 고정된 모드**(콘솔에서 키마다 지정) →
|
|
5285
|
+
* 콘솔의 프로바이더 모드 → test. 브라우저 앱에서 QA/프로덕션 결제를 나누려면 이 필드가 아니라
|
|
5286
|
+
* 키 단위 `payment_mode` 를 쓴다(`cb.publicKey` 참조).
|
|
5191
5287
|
*/
|
|
5192
5288
|
payment_mode?: PaymentMode;
|
|
5193
5289
|
/**
|
|
@@ -5282,8 +5378,21 @@ interface PaymentDetail {
|
|
|
5282
5378
|
payment_id: string;
|
|
5283
5379
|
order_id: string;
|
|
5284
5380
|
order_name: string;
|
|
5381
|
+
/** 고객이 실제 청구받은 금액 — `currency` 기준 최소단위 */
|
|
5285
5382
|
amount: number;
|
|
5383
|
+
/** `amount` 의 통화 (ISO 4217) */
|
|
5286
5384
|
currency: string;
|
|
5385
|
+
/**
|
|
5386
|
+
* 정산통화 환산액 (MoR 프로바이더가 제공할 때만).
|
|
5387
|
+
*
|
|
5388
|
+
* Paddle/Dodo 는 고객에게 표시통화로 청구하고 머천트에게는 환산된 정산통화로 지급한다.
|
|
5389
|
+
* 실제 입금액 대사에 쓰고, **고객에게 보여줄 금액은 언제나 `amount`/`currency`** 다.
|
|
5390
|
+
*/
|
|
5391
|
+
settlement_amount?: number;
|
|
5392
|
+
/** `settlement_amount` 의 통화 (ISO 4217) */
|
|
5393
|
+
settlement_currency?: string;
|
|
5394
|
+
/** 청구 국가 ISO 3166-1 alpha-2 (MoR 제공 시) */
|
|
5395
|
+
country?: string;
|
|
5287
5396
|
status: PaymentStatus;
|
|
5288
5397
|
payment_provider?: PaymentProvider;
|
|
5289
5398
|
/** 이 결제가 사용한 자격증명 모드 (test | live). */
|
|
@@ -5322,7 +5431,10 @@ interface PaymentListItem {
|
|
|
5322
5431
|
payment_id: string;
|
|
5323
5432
|
order_id: string;
|
|
5324
5433
|
order_name: string;
|
|
5434
|
+
/** 고객이 실제 청구받은 금액 — `currency` 기준 최소단위 */
|
|
5325
5435
|
amount: number;
|
|
5436
|
+
/** `amount` 의 통화 (ISO 4217). 다통화 결제에서 앱 기본 통화를 가정하면 거짓 금액이 된다 */
|
|
5437
|
+
currency: string;
|
|
5326
5438
|
status: PaymentStatus;
|
|
5327
5439
|
method?: string;
|
|
5328
5440
|
/** toss | stripe 등 */
|
|
@@ -5499,6 +5611,22 @@ declare class PaymentAPI {
|
|
|
5499
5611
|
/**
|
|
5500
5612
|
* Public Key 관련 타입 정의
|
|
5501
5613
|
*/
|
|
5614
|
+
/**
|
|
5615
|
+
* 이 키로 들어온 결제가 쓸 자격증명 모드.
|
|
5616
|
+
*
|
|
5617
|
+
* - `inherit`(기본): 앱 결제 설정의 프로바이더 모드를 따른다.
|
|
5618
|
+
* - `test`: 이 키의 결제는 항상 테스트 키로 처리된다.
|
|
5619
|
+
* - `live`: 이 키의 결제는 항상 라이브 키로 처리된다.
|
|
5620
|
+
*
|
|
5621
|
+
* 앱 하나로 QA 빌드와 프로덕션 빌드를 함께 운영할 때 쓴다 — QA 빌드에 `test` 키를 심으면
|
|
5622
|
+
* 앱 설정이 라이브여도 그 키의 결제만 테스트로 처리되므로, 라이브 전환 이후에도 안전하게
|
|
5623
|
+
* 결제 회귀 테스트를 할 수 있다.
|
|
5624
|
+
*
|
|
5625
|
+
* 모드를 정하는 주체가 **서버에 저장된 키 설정**이라 클라이언트는 고를 수 없다. QA 키가
|
|
5626
|
+
* 유출돼도 만들 수 있는 건 테스트 결제뿐이다(권한 지급 로직이 결제의 `payment_mode` 를 함께
|
|
5627
|
+
* 검사하도록 만드는 것을 권장한다).
|
|
5628
|
+
*/
|
|
5629
|
+
type PublicKeyPaymentMode = "inherit" | "test" | "live";
|
|
5502
5630
|
/**
|
|
5503
5631
|
* Public Key 아이템
|
|
5504
5632
|
*/
|
|
@@ -5511,6 +5639,8 @@ interface PublicKeyItem {
|
|
|
5511
5639
|
key_prefix: string;
|
|
5512
5640
|
/** 활성화 상태 */
|
|
5513
5641
|
is_active: boolean;
|
|
5642
|
+
/** 이 키로 들어온 결제의 자격증명 모드 */
|
|
5643
|
+
payment_mode: PublicKeyPaymentMode;
|
|
5514
5644
|
/** 마지막 사용 시간 */
|
|
5515
5645
|
last_used_at?: string;
|
|
5516
5646
|
/** 만료일 (null이면 무제한) */
|
|
@@ -5524,6 +5654,8 @@ interface PublicKeyItem {
|
|
|
5524
5654
|
interface CreatePublicKeyRequest {
|
|
5525
5655
|
/** Public Key 이름 (예: Production, Development) */
|
|
5526
5656
|
name: string;
|
|
5657
|
+
/** 이 키로 들어온 결제의 자격증명 모드 (기본: inherit) */
|
|
5658
|
+
payment_mode?: PublicKeyPaymentMode;
|
|
5527
5659
|
/** 만료일 (옵션) */
|
|
5528
5660
|
expires_at?: string;
|
|
5529
5661
|
}
|
|
@@ -5541,6 +5673,8 @@ interface CreatePublicKeyResponse {
|
|
|
5541
5673
|
key_prefix: string;
|
|
5542
5674
|
/** 활성화 상태 */
|
|
5543
5675
|
is_active: boolean;
|
|
5676
|
+
/** 이 키로 들어온 결제의 자격증명 모드 */
|
|
5677
|
+
payment_mode: PublicKeyPaymentMode;
|
|
5544
5678
|
/** 만료일 */
|
|
5545
5679
|
expires_at?: string;
|
|
5546
5680
|
/** 생성일 */
|
|
@@ -5560,6 +5694,8 @@ interface UpdatePublicKeyRequest {
|
|
|
5560
5694
|
name?: string;
|
|
5561
5695
|
/** 활성화/비활성화 */
|
|
5562
5696
|
is_active?: boolean;
|
|
5697
|
+
/** 이 키로 들어온 결제의 자격증명 모드 변경 */
|
|
5698
|
+
payment_mode?: PublicKeyPaymentMode;
|
|
5563
5699
|
}
|
|
5564
5700
|
/**
|
|
5565
5701
|
* Public Key 수정 응답
|
|
@@ -5569,6 +5705,7 @@ interface UpdatePublicKeyResponse {
|
|
|
5569
5705
|
name: string;
|
|
5570
5706
|
key_prefix: string;
|
|
5571
5707
|
is_active: boolean;
|
|
5708
|
+
payment_mode: PublicKeyPaymentMode;
|
|
5572
5709
|
expires_at?: string;
|
|
5573
5710
|
created_at: string;
|
|
5574
5711
|
}
|
|
@@ -7318,8 +7455,19 @@ interface CreateSubscriptionRequest {
|
|
|
7318
7455
|
customer_phone?: string;
|
|
7319
7456
|
/** payapp 정기결제 만료일 yyyy-mm-dd (미입력시 +10년) */
|
|
7320
7457
|
expire_date?: string;
|
|
7321
|
-
/**
|
|
7458
|
+
/** MoR 필수: PG 카탈로그의 recurring price/product ref (Paddle `pri_*` / Dodo `pdt_*`) */
|
|
7322
7459
|
provider_price_ref?: string;
|
|
7460
|
+
/**
|
|
7461
|
+
* 사용할 자격증명 모드 오버라이드 (test|live). 단건결제 `prepare()` 의 `payment_mode` 와
|
|
7462
|
+
* 적용 조건이 **완전히 동일**하다 — 서버 시크릿 키(`cb_sk_*`)로 승격된 호출에서만 적용되고,
|
|
7463
|
+
* 브라우저 공개 키(`cb_pk_*`) 호출에서는 무시된다.
|
|
7464
|
+
*
|
|
7465
|
+
* 모드 결정 우선순위: 이 오버라이드 → 퍼블릭 키에 고정된 모드 → 앱 결제 설정의 프로바이더 모드
|
|
7466
|
+
* → test. 브라우저 앱에서 QA/프로덕션을 나누려면 이 필드가 아니라 키 단위 모드를 쓴다.
|
|
7467
|
+
*
|
|
7468
|
+
* 구독은 생성 시점 모드가 고정되므로 이후 갱신 청구·해지도 같은 키로 처리된다.
|
|
7469
|
+
*/
|
|
7470
|
+
payment_mode?: "test" | "live";
|
|
7323
7471
|
/** 메타데이터 */
|
|
7324
7472
|
metadata?: Record<string, unknown>;
|
|
7325
7473
|
}
|
|
@@ -7349,10 +7497,26 @@ interface SubscriptionResponse {
|
|
|
7349
7497
|
plan_name: string;
|
|
7350
7498
|
/** 플랜 설명 */
|
|
7351
7499
|
plan_description: string;
|
|
7352
|
-
/**
|
|
7500
|
+
/**
|
|
7501
|
+
* 이 구독이 고정한 자격증명 모드 (test=테스트 키 | live=실결제).
|
|
7502
|
+
*
|
|
7503
|
+
* 생성 시점 값이 박히므로 이후 앱 모드를 바꿔도 갱신 청구는 원래 키로 처리된다.
|
|
7504
|
+
* **프로바이더 중립 필드**라 목록에서 테스트 구독과 실구독을 가르는 데 이 필드를 쓴다
|
|
7505
|
+
* (`environment` 는 Paddle 의 sandbox|production 이라 다른 프로바이더에서는 기대할 수 없다).
|
|
7506
|
+
*/
|
|
7507
|
+
payment_mode?: "test" | "live";
|
|
7508
|
+
/**
|
|
7509
|
+
* 정기 청구 단가 (`currency` 기준 최소단위).
|
|
7510
|
+
*
|
|
7511
|
+
* MoR(Paddle/Dodo)은 상품 통화와 고객 표시통화가 다를 수 있으므로(adaptive currency),
|
|
7512
|
+
* 이 값을 해석할 때는 반드시 `currency` 를 함께 봐야 한다. 앱의 기본 통화를 가정하면
|
|
7513
|
+
* 거짓 금액이 된다(예: $10.10 을 ₩1,010 으로 표기).
|
|
7514
|
+
*/
|
|
7353
7515
|
amount: number;
|
|
7354
|
-
/** 통화 */
|
|
7516
|
+
/** `amount` 의 통화 (ISO 4217) */
|
|
7355
7517
|
currency: string;
|
|
7518
|
+
/** 청구 국가 ISO 3166-1 alpha-2 (MoR 프로바이더가 제공할 때만) */
|
|
7519
|
+
country?: string;
|
|
7356
7520
|
/** 결제 주기 */
|
|
7357
7521
|
billing_cycle: BillingCycle;
|
|
7358
7522
|
/** 결제일 */
|
|
@@ -7373,7 +7537,10 @@ interface SubscriptionResponse {
|
|
|
7373
7537
|
ended_at: string | null;
|
|
7374
7538
|
/** 트라이얼 종료일 */
|
|
7375
7539
|
trial_end_at: string | null;
|
|
7376
|
-
/**
|
|
7540
|
+
/**
|
|
7541
|
+
* 총 결제 금액 — 결제 이력 금액의 합이며 **각 결제의 표시통화** 기준이다.
|
|
7542
|
+
* 위 `currency` 와 다를 수 있으므로, 통화별 정확한 집계는 결제 이력의 `currency` 로 그룹핑할 것.
|
|
7543
|
+
*/
|
|
7377
7544
|
total_paid: number;
|
|
7378
7545
|
/** 결제 횟수 */
|
|
7379
7546
|
payment_count: number;
|
|
@@ -7421,7 +7588,23 @@ interface CancelSubscriptionRequest {
|
|
|
7421
7588
|
* - `full_next_billing_period`: 새 플랜 전액을 다음 청구일에 부과.
|
|
7422
7589
|
* - `do_not_bill`: 전환만 하고 청구하지 않음.
|
|
7423
7590
|
*/
|
|
7424
|
-
|
|
7591
|
+
/**
|
|
7592
|
+
* 요금제 스왑 시 남은 금액 정산 방식.
|
|
7593
|
+
*
|
|
7594
|
+
* **프로바이더별 지원 범위가 다르다.** 미지원 값은 근사 대체 없이 400
|
|
7595
|
+
* `invalid_proration_mode` 로 거절된다 — "다음 청구일에 부과"를 조용히 "지금 청구"로 바꾸면
|
|
7596
|
+
* 요청하지 않은 즉시 출금이 발생하기 때문이다.
|
|
7597
|
+
*
|
|
7598
|
+
* | 값 | Paddle | Dodo |
|
|
7599
|
+
* | --- | --- | --- |
|
|
7600
|
+
* | `prorated_immediately` (기본) | ✅ | ✅ |
|
|
7601
|
+
* | `full_immediately` | ✅ | ✅ |
|
|
7602
|
+
* | `do_not_bill` | ✅ | ✅ |
|
|
7603
|
+
* | `prorated_next_billing_period` | ✅ | ❌ |
|
|
7604
|
+
* | `full_next_billing_period` | ✅ | ❌ |
|
|
7605
|
+
* | `difference_immediately` | ❌ | ✅ |
|
|
7606
|
+
*/
|
|
7607
|
+
type ProrationMode = "prorated_immediately" | "prorated_next_billing_period" | "full_immediately" | "full_next_billing_period" | "difference_immediately" | "do_not_bill";
|
|
7425
7608
|
/**
|
|
7426
7609
|
* 즉시청구(prorated/full_immediately) 실패 시 플랜 변경을 적용할지.
|
|
7427
7610
|
*
|
|
@@ -7430,19 +7613,22 @@ type ProrationMode = "prorated_immediately" | "prorated_next_billing_period" | "
|
|
|
7430
7613
|
*/
|
|
7431
7614
|
type OnPaymentFailure = "prevent_change" | "apply_change";
|
|
7432
7615
|
/**
|
|
7433
|
-
* 요금제 스왑(플랜 변경) 요청 — Paddle
|
|
7616
|
+
* 요금제 스왑(플랜 변경) 요청 — MoR(Paddle/Dodo) 구독 전용.
|
|
7434
7617
|
*
|
|
7435
|
-
* 하나의 구독을 유지한 채(id 동일) 다른 recurring price 로 갈아타고 남은 금액을
|
|
7436
|
-
* 정산한다. 예) 혼자→가족 in-place 업그레이드.
|
|
7618
|
+
* 하나의 구독을 유지한 채(id 동일) 다른 recurring price/product 로 갈아타고 남은 금액을 PG 의
|
|
7619
|
+
* proration 으로 정산한다. 예) 혼자→가족 in-place 업그레이드.
|
|
7620
|
+
*
|
|
7621
|
+
* toss/stripe/payapp/paypal 구독은 PG 네이티브 proration 이 없어 400
|
|
7622
|
+
* `plan_change_unsupported` 다.
|
|
7437
7623
|
*/
|
|
7438
7624
|
interface ChangePlanRequest {
|
|
7439
|
-
/** 새 recurring price
|
|
7625
|
+
/** 새 recurring price/product ref (Paddle `pri_*` / Dodo `pdt_*`) — 필수 */
|
|
7440
7626
|
provider_price_ref: string;
|
|
7441
7627
|
/** 우리 표시용 플랜명 (선택) */
|
|
7442
7628
|
plan_name?: string;
|
|
7443
7629
|
/** 우리 표시용 플랜 설명 (선택) */
|
|
7444
7630
|
plan_description?: string;
|
|
7445
|
-
/** 우리 기록용 정기 금액 (선택 — 미지정 시
|
|
7631
|
+
/** 우리 기록용 정기 금액 (선택 — 미지정 시 PG 값으로 자동 수렴) */
|
|
7446
7632
|
amount?: number;
|
|
7447
7633
|
/** 정산 방식 (기본: prorated_immediately) */
|
|
7448
7634
|
proration_mode?: ProrationMode;
|
|
@@ -7454,8 +7640,12 @@ interface ChangePlanRequest {
|
|
|
7454
7640
|
/**
|
|
7455
7641
|
* 요금제 스왑 미리보기 응답 — 실제 적용 없이 정산 결과만 계산.
|
|
7456
7642
|
*
|
|
7457
|
-
* `immediate_charge_amount` 는 세금·기존 크레딧 잔액까지 반영된
|
|
7458
|
-
* 확정 화면에 "지금 ₩X 청구, 이후 ₩Y/주기" 로 그대로
|
|
7643
|
+
* `immediate_charge_amount` 는 세금·기존 크레딧 잔액까지 반영된 PG 계산값(권위)이다.
|
|
7644
|
+
* 확정 화면에 "지금 ₩X 청구, 이후 ₩Y/주기" 로 그대로 노출한다(직접 차액을 계산하지 말 것).
|
|
7645
|
+
*
|
|
7646
|
+
* **통화가 둘인 이유**: 즉시청구는 고객 표시통화로, 정기 단가는 상품 통화로 계산된다. MoR 의
|
|
7647
|
+
* adaptive currency 에서 이 둘이 다를 수 있어 각각 통화를 싣는다. 금액을 표시할 때는 반드시
|
|
7648
|
+
* 짝이 되는 통화 필드를 함께 써야 한다 — 하나의 통화로 뭉치면 확정 직전 화면에 거짓 금액이 뜬다.
|
|
7459
7649
|
*/
|
|
7460
7650
|
interface ChangePlanPreview {
|
|
7461
7651
|
/** 적용된 정산 모드 */
|
|
@@ -7464,13 +7654,19 @@ interface ChangePlanPreview {
|
|
|
7464
7654
|
immediate_charge_action?: "charge" | "credit";
|
|
7465
7655
|
/** 지금 순액(minor). 청구=양수, 크레딧=음수 */
|
|
7466
7656
|
immediate_charge_amount: number;
|
|
7657
|
+
/** `immediate_charge_amount` 의 통화 (ISO 4217) */
|
|
7658
|
+
currency: string;
|
|
7467
7659
|
/** 새 플랜의 다음 정기 청구액(minor) */
|
|
7468
7660
|
recurring_amount: number;
|
|
7469
|
-
/**
|
|
7470
|
-
|
|
7661
|
+
/** `recurring_amount` 의 통화. 비어 있으면 `currency` 와 동일 */
|
|
7662
|
+
recurring_currency?: string;
|
|
7663
|
+
/** 즉시청구의 정산통화 환산액 (MoR 제공 시) — 매출 대사용, 고객 표시에는 쓰지 말 것 */
|
|
7664
|
+
settlement_amount?: number;
|
|
7665
|
+
/** `settlement_amount` 의 통화 */
|
|
7666
|
+
settlement_currency?: string;
|
|
7471
7667
|
/** 다음 청구 예정일 */
|
|
7472
7668
|
next_billed_at?: string | null;
|
|
7473
|
-
/** 미리보기가 반영한 새 price
|
|
7669
|
+
/** 미리보기가 반영한 새 price/product ref */
|
|
7474
7670
|
new_provider_price_ref?: string;
|
|
7475
7671
|
}
|
|
7476
7672
|
interface ListSubscriptionsRequest {
|
|
@@ -7493,14 +7689,22 @@ interface SubscriptionPaymentResponse {
|
|
|
7493
7689
|
id: string;
|
|
7494
7690
|
/** 구독 ID */
|
|
7495
7691
|
subscription_id: string;
|
|
7692
|
+
/** 이 청구를 처리한 결제 프로바이더 */
|
|
7693
|
+
provider?: string;
|
|
7496
7694
|
/** 토스 결제 키 */
|
|
7497
7695
|
payment_key: string;
|
|
7498
7696
|
/** 주문 ID */
|
|
7499
7697
|
order_id: string;
|
|
7500
|
-
/** 결제 금액 */
|
|
7698
|
+
/** 결제 금액 — 고객이 실제 청구받은 **표시통화** 기준 */
|
|
7501
7699
|
amount: number;
|
|
7502
|
-
/** 통화 */
|
|
7700
|
+
/** `amount` 의 통화 (ISO 4217) */
|
|
7503
7701
|
currency: string;
|
|
7702
|
+
/** 정산통화 환산액 (MoR 제공 시) — 매출 대사용, 고객 표시에는 쓰지 말 것 */
|
|
7703
|
+
settlement_amount?: number;
|
|
7704
|
+
/** `settlement_amount` 의 통화 */
|
|
7705
|
+
settlement_currency?: string;
|
|
7706
|
+
/** 청구 국가 ISO 3166-1 alpha-2 (MoR 제공 시) */
|
|
7707
|
+
country?: string;
|
|
7504
7708
|
/** 결제 상태 */
|
|
7505
7709
|
status: SubscriptionPaymentStatus;
|
|
7506
7710
|
/** 기간 시작일 */
|
|
@@ -7769,14 +7973,19 @@ declare class SubscriptionAPI {
|
|
|
7769
7973
|
*/
|
|
7770
7974
|
cancel(subscriptionId: string, data?: CancelSubscriptionRequest): Promise<SubscriptionResponse>;
|
|
7771
7975
|
/**
|
|
7772
|
-
* 요금제 스왑 (플랜 변경) — Paddle
|
|
7976
|
+
* 요금제 스왑 (플랜 변경) — MoR(Paddle · Dodo) 구독 전용
|
|
7773
7977
|
*
|
|
7774
|
-
* 하나의 구독을 유지한 채(id 동일) 다른 recurring price 로 갈아타고 남은 금액을
|
|
7775
|
-
* 즉시 정산합니다. 예) 혼자→가족 in-place 업그레이드 — 이미 낸 혼자 미사용분을
|
|
7776
|
-
* 첫 가족 청구에서 차감합니다. 즉시청구 차액의 결제 확정은 웹훅(SoT)으로
|
|
7978
|
+
* 하나의 구독을 유지한 채(id 동일) 다른 recurring price/product 로 갈아타고 남은 금액을 PG 의
|
|
7979
|
+
* proration 으로 즉시 정산합니다. 예) 혼자→가족 in-place 업그레이드 — 이미 낸 혼자 미사용분을
|
|
7980
|
+
* PG 가 자동 크레딧해 첫 가족 청구에서 차감합니다. 즉시청구 차액의 결제 확정은 웹훅(SoT)으로
|
|
7981
|
+
* 수렴합니다.
|
|
7777
7982
|
*
|
|
7778
7983
|
* `proration_mode` 미지정 시 `prorated_immediately`(업그레이드 기본)가 적용됩니다.
|
|
7779
|
-
*
|
|
7984
|
+
* 프로바이더가 지원하지 않는 정산 모드는 근사 대체 없이 400 `invalid_proration_mode` 입니다
|
|
7985
|
+
* (지원표는 {@link ProrationMode} 참조). 확정 전 정산액을 보여주려면 {@link previewChangePlan}
|
|
7986
|
+
* 을 먼저 호출하세요.
|
|
7987
|
+
*
|
|
7988
|
+
* toss/stripe/payapp/paypal 구독은 400 `plan_change_unsupported` 입니다.
|
|
7780
7989
|
*
|
|
7781
7990
|
* @param subscriptionId - 구독 ID
|
|
7782
7991
|
* @param data - 새 price + 정산 옵션
|
|
@@ -7785,7 +7994,7 @@ declare class SubscriptionAPI {
|
|
|
7785
7994
|
* @example
|
|
7786
7995
|
* ```typescript
|
|
7787
7996
|
* await client.subscription.changePlan(subscriptionId, {
|
|
7788
|
-
* provider_price_ref: 'pri_family_monthly',
|
|
7997
|
+
* provider_price_ref: 'pri_family_monthly', // Dodo 는 'pdt_*'
|
|
7789
7998
|
* plan_name: '가족 플랜',
|
|
7790
7999
|
* amount: 24900,
|
|
7791
8000
|
* proration_mode: 'prorated_immediately',
|
|
@@ -7794,12 +8003,20 @@ declare class SubscriptionAPI {
|
|
|
7794
8003
|
*/
|
|
7795
8004
|
changePlan(subscriptionId: string, data: ChangePlanRequest): Promise<SubscriptionResponse>;
|
|
7796
8005
|
/**
|
|
7797
|
-
* 요금제 스왑 정산 미리보기 — 실제 적용 없이 청구/크레딧 금액만 계산 (Paddle
|
|
8006
|
+
* 요금제 스왑 정산 미리보기 — 실제 적용 없이 청구/크레딧 금액만 계산 (Paddle · Dodo)
|
|
7798
8007
|
*
|
|
7799
|
-
* 세금·기존 크레딧 잔액까지 반영된
|
|
8008
|
+
* 세금·기존 크레딧 잔액까지 반영된 PG 계산값을 반환하므로, 확정 화면에
|
|
7800
8009
|
* "지금 ₩X 청구, 이후 ₩Y/주기 (다음 청구일 …)" 를 그대로 노출하면 됩니다.
|
|
7801
8010
|
* 직접 차액을 계산하지 마세요 — 이 값이 권위입니다.
|
|
7802
8011
|
*
|
|
8012
|
+
* **금액은 반드시 짝이 되는 통화와 함께 표시하세요.** 즉시청구는 고객 표시통화
|
|
8013
|
+
* (`currency`), 정기 단가는 상품 통화(`recurring_currency`, 비면 `currency` 와 동일)입니다 —
|
|
8014
|
+
* MoR 의 adaptive currency 에서 둘이 다를 수 있습니다.
|
|
8015
|
+
*
|
|
8016
|
+
* 미리보기를 제공하지 않는 프로바이더는 400 `plan_change_preview_unsupported` 입니다.
|
|
8017
|
+
* 이는 **미리보기만** 없다는 뜻이며 {@link changePlan} 자체는 동작합니다
|
|
8018
|
+
* (요금제 변경 자체가 불가한 경우는 `plan_change_unsupported` 로 구분됩니다).
|
|
8019
|
+
*
|
|
7803
8020
|
* @param subscriptionId - 구독 ID
|
|
7804
8021
|
* @param data - 새 price + 정산 옵션 ({@link changePlan} 과 동일 body)
|
|
7805
8022
|
* @returns 정산 미리보기 (지금 청구/크레딧 · 새 정기 청구액 · 다음 청구일)
|
|
@@ -7809,7 +8026,9 @@ declare class SubscriptionAPI {
|
|
|
7809
8026
|
* const preview = await client.subscription.previewChangePlan(subscriptionId, {
|
|
7810
8027
|
* provider_price_ref: 'pri_family_monthly',
|
|
7811
8028
|
* })
|
|
7812
|
-
* //
|
|
8029
|
+
* // 통화를 함께 포맷한다 — 금액만 쓰면 다통화에서 거짓 금액이 된다
|
|
8030
|
+
* format(preview.immediate_charge_amount, preview.currency)
|
|
8031
|
+
* format(preview.recurring_amount, preview.recurring_currency ?? preview.currency)
|
|
7813
8032
|
* ```
|
|
7814
8033
|
*/
|
|
7815
8034
|
previewChangePlan(subscriptionId: string, data: ChangePlanRequest): Promise<ChangePlanPreview>;
|
|
@@ -9546,4 +9765,4 @@ declare class ConnectBase {
|
|
|
9546
9765
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
9547
9766
|
}
|
|
9548
9767
|
|
|
9549
|
-
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 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 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 CreateRolePayload, type CreateRoleResult, 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 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 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 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 OnPaymentFailure, type OpenDialogOptions, type OpenDialogResult, 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 PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type ProrationMode, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type PushStatsResult, 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 RoleDetail, type RoleList, type RoleListItem, type RolePermissionItem, type RoleUserItem, RolesAPI, 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 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 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 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 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 };
|
|
9768
|
+
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 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 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 CreateRolePayload, type CreateRoleResult, 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 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 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 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 OnPaymentFailure, type OpenDialogOptions, type OpenDialogResult, 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 PreparePaymentRequest, type PreparePaymentResponse, 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 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 RoleDetail, type RoleList, type RoleListItem, type RolePermissionItem, type RoleUserItem, RolesAPI, 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 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 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 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 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 };
|