connectbase-client 3.13.0 → 3.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 +80 -0
- package/README.md +44 -17
- package/dist/connect-base.umd.js +4 -4
- package/dist/index.d.mts +181 -10
- package/dist/index.d.ts +181 -10
- package/dist/index.js +161 -50
- package/dist/index.mjs +160 -50
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -12,6 +12,56 @@ declare class ApiError extends Error {
|
|
|
12
12
|
declare class AuthError extends Error {
|
|
13
13
|
constructor(message: string);
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* GameError 는 game-server 가 surface 한 `error` 메시지 (createRoom/joinRoom/sendAction
|
|
17
|
+
* 응답 또는 broadcastScriptError) 를 client 측에서 일관된 형태로 다루기 위한 예외 클래스.
|
|
18
|
+
*
|
|
19
|
+
* 기존엔 모든 reject 가 `new Error(message)` 였어서 `code`/`phase`/`feature` 같은
|
|
20
|
+
* 분류 메타가 손실되어 SDK 사용자가 onError UI 분기를 만들 수 없었다 (NJB 사례,
|
|
21
|
+
* platform-issue 019e21dd / 2026-05-13).
|
|
22
|
+
*
|
|
23
|
+
* 사용 패턴:
|
|
24
|
+
* ```ts
|
|
25
|
+
* try {
|
|
26
|
+
* await room.createRoom({ scriptName: 'my-script' })
|
|
27
|
+
* } catch (e) {
|
|
28
|
+
* if (e instanceof GameError && e.code === 'SCRIPT_NOT_FOUND') {
|
|
29
|
+
* console.error('script missing — available:', e.available)
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* onError 콜백도 동일하게 GameError 인스턴스로 surface 된다.
|
|
35
|
+
*/
|
|
36
|
+
declare class GameError extends Error {
|
|
37
|
+
/** server 가 분류한 에러 코드. literal 비교용은 GameErrorCode 참조. */
|
|
38
|
+
code: string;
|
|
39
|
+
/** Lua hook 단계 — 'onJoin'|'onLeave'|'onTick'|'onAction'. 비-lua 에러는 undefined. */
|
|
40
|
+
phase?: string;
|
|
41
|
+
/** FEATURE_DISABLED 시 비활성 feature 이름. */
|
|
42
|
+
feature?: string;
|
|
43
|
+
/** 영향받은 room id. */
|
|
44
|
+
roomId?: string;
|
|
45
|
+
/** `<appID>:<scriptName>` 형식의 attached script id. */
|
|
46
|
+
scriptId?: string;
|
|
47
|
+
/** broadcast 형태의 onAction 에러일 때, 액션을 일으킨 client (본인 아님 확인용). */
|
|
48
|
+
originClientId?: string;
|
|
49
|
+
/** SCRIPT_NOT_FOUND 응답 시 요청했던 scriptName. */
|
|
50
|
+
requested?: string;
|
|
51
|
+
/** SCRIPT_NOT_FOUND 응답 시 active 상태인 script 이름 목록. */
|
|
52
|
+
available?: string[];
|
|
53
|
+
constructor(init: {
|
|
54
|
+
code?: string;
|
|
55
|
+
message?: string;
|
|
56
|
+
phase?: string;
|
|
57
|
+
feature?: string;
|
|
58
|
+
roomId?: string;
|
|
59
|
+
scriptId?: string;
|
|
60
|
+
originClientId?: string;
|
|
61
|
+
requested?: string;
|
|
62
|
+
available?: string[];
|
|
63
|
+
});
|
|
64
|
+
}
|
|
15
65
|
|
|
16
66
|
interface AbortOptions {
|
|
17
67
|
timeout?: number;
|
|
@@ -5315,6 +5365,7 @@ declare class GameConfigAPI {
|
|
|
5315
5365
|
/**
|
|
5316
5366
|
* Game Server Types
|
|
5317
5367
|
*/
|
|
5368
|
+
|
|
5318
5369
|
/**
|
|
5319
5370
|
* 게임 룸 설정
|
|
5320
5371
|
*/
|
|
@@ -5444,8 +5495,26 @@ interface GameServerMessage {
|
|
|
5444
5495
|
phase?: string;
|
|
5445
5496
|
feature?: string;
|
|
5446
5497
|
script_id?: string;
|
|
5498
|
+
/**
|
|
5499
|
+
* broadcastScriptError 가 onAction 에러 broadcast 시 origin client 식별을 위해
|
|
5500
|
+
* 함께 보내는 필드. sender 본인은 점대점 error 응답으로 받으므로 broadcast 에서
|
|
5501
|
+
* 제외되며, 다른 player 가 누가 액션을 일으켰는지 가시화하는 용도.
|
|
5502
|
+
*/
|
|
5503
|
+
origin_client_id?: string;
|
|
5504
|
+
/**
|
|
5505
|
+
* `code === 'SCRIPT_NOT_FOUND'` 응답에 포함 — createRoom 시 client 가 요청했던
|
|
5506
|
+
* scriptName. 오타/대소문자/스킴 mismatch 디버깅 단서.
|
|
5507
|
+
*/
|
|
5508
|
+
requested?: string;
|
|
5509
|
+
/**
|
|
5510
|
+
* `code === 'SCRIPT_NOT_FOUND'` 응답에 포함 — 현재 app 에 활성(active+version>0)
|
|
5511
|
+
* 상태인 script 이름 목록. 사용자가 후보 중 골라 재시도하기 좋도록 노출.
|
|
5512
|
+
*/
|
|
5513
|
+
available?: string[];
|
|
5447
5514
|
reason?: string;
|
|
5448
5515
|
script_version?: number;
|
|
5516
|
+
/** room_created 응답 — 서버가 attach 한 lua script 이름 (검증된 값). */
|
|
5517
|
+
script_name?: string;
|
|
5449
5518
|
hint?: string;
|
|
5450
5519
|
}
|
|
5451
5520
|
/**
|
|
@@ -5468,24 +5537,70 @@ interface ChatMessage {
|
|
|
5468
5537
|
serverTime: number;
|
|
5469
5538
|
}
|
|
5470
5539
|
/**
|
|
5471
|
-
* 에러
|
|
5540
|
+
* GameErrorCode — game-server 가 surface 하는 에러 코드 literal union.
|
|
5541
|
+
*
|
|
5542
|
+
* - `SCRIPT_NOT_FOUND` : createRoom 의 scriptName 이 미존재/비활성. 응답에 requested + available 동봉.
|
|
5543
|
+
* - `NO_ACTION_HANDLER`: action 의 type 에 대응하는 lua handler 미정의 (`onAction` 또는 `handlers[type]`).
|
|
5544
|
+
* - `FEATURE_DISABLED` : entity/matchqueue/leaderboard 등 opt-in feature 가 OFF. feature 필드로 분기.
|
|
5545
|
+
* - `SCRIPT_ERROR` : lua 실행 중 일반 에러 (분류되지 않은 throw / runtime error).
|
|
5546
|
+
* - `SCRIPT_TIMEOUT` : Lua hook 의 context deadline 초과 (기본 100ms).
|
|
5547
|
+
* - `RATE_LIMITED` : per-app script rate limit 초과 (`SCRIPT_RATE_PER_SEC`).
|
|
5548
|
+
* - `QUOTA_EXCEEDED` : plan 한도(`script_executions/month`) 초과.
|
|
5549
|
+
* - `TIMEOUT` : SDK 측 sendWithHandler timeout (서버 응답 없음).
|
|
5550
|
+
* - `UNKNOWN` : 분류되지 않은 server 에러 (server 에 신규 코드가 생겼는데 SDK 미반영).
|
|
5551
|
+
*
|
|
5552
|
+
* literal autocomplete 를 유지하면서 미래에 server 가 신규 코드를 추가해도 타입 에러가
|
|
5553
|
+
* 안 나도록 `string & {}` 도 union 에 포함 (TypeScript 'string literal type widening' 우회 패턴).
|
|
5554
|
+
*/
|
|
5555
|
+
type GameErrorCode = 'SCRIPT_NOT_FOUND' | 'NO_ACTION_HANDLER' | 'FEATURE_DISABLED' | 'SCRIPT_ERROR' | 'SCRIPT_TIMEOUT' | 'RATE_LIMITED' | 'QUOTA_EXCEEDED' | 'TIMEOUT' | 'UNKNOWN' | (string & {});
|
|
5556
|
+
/**
|
|
5557
|
+
* 에러 메시지 — server `error` 메시지의 wire format. SDK 사용자에게는 GameError
|
|
5558
|
+
* 인스턴스(class)로 surface 되지만, 본 인터페이스는 raw payload 매핑 + 타입 추론용.
|
|
5472
5559
|
*/
|
|
5473
5560
|
interface ErrorMessage {
|
|
5474
|
-
code:
|
|
5561
|
+
code: GameErrorCode;
|
|
5475
5562
|
message: string;
|
|
5476
5563
|
/**
|
|
5477
5564
|
* 서버측 Lua hook 단계 식별자 — 값이 있으면 lua 실행 에러.
|
|
5478
5565
|
* "onJoin" | "onLeave" | "onTick" | "onAction".
|
|
5479
5566
|
* 일반 transport / protocol 에러는 phase 없음.
|
|
5480
5567
|
*/
|
|
5481
|
-
phase?: string;
|
|
5568
|
+
phase?: 'onJoin' | 'onLeave' | 'onTick' | 'onAction' | (string & {});
|
|
5482
5569
|
/**
|
|
5483
5570
|
* code === "FEATURE_DISABLED" 일 때 비활성 feature 이름.
|
|
5484
5571
|
* "entity" | "matchqueue" | "leaderboard" 등 — `toggle_game_features` 와 1:1 매핑.
|
|
5485
5572
|
*/
|
|
5486
|
-
feature?: string;
|
|
5573
|
+
feature?: 'entity' | 'matchqueue' | 'leaderboard' | (string & {});
|
|
5487
5574
|
roomId?: string;
|
|
5488
5575
|
scriptId?: string;
|
|
5576
|
+
/**
|
|
5577
|
+
* broadcast 형태의 onAction 에러일 때 액션을 일으킨 client. 본인이 아닌 다른
|
|
5578
|
+
* player 에서 발생한 에러를 SDK 사용자가 식별/필터링하기 위한 필드.
|
|
5579
|
+
*/
|
|
5580
|
+
originClientId?: string;
|
|
5581
|
+
/** code === 'SCRIPT_NOT_FOUND' 시 client 가 요청했던 scriptName. */
|
|
5582
|
+
requested?: string;
|
|
5583
|
+
/** code === 'SCRIPT_NOT_FOUND' 시 후보로 노출되는 active script 이름 목록. */
|
|
5584
|
+
available?: string[];
|
|
5585
|
+
}
|
|
5586
|
+
/**
|
|
5587
|
+
* CreateRoomResult — `createRoomDetailed` 의 반환 타입. createRoom 의 호환성 보존을
|
|
5588
|
+
* 위해 별도 메서드로 노출 (createRoom 은 기존대로 `Promise<GameState>` 유지).
|
|
5589
|
+
*
|
|
5590
|
+
* server 의 `room_created` 응답에는 이전엔 room_id + initial_state 만 들어왔으나
|
|
5591
|
+
* platform-issue 019e21dd (NJB regression, 2026-05-13) 의 회귀 가드로 attach 된 lua
|
|
5592
|
+
* script 의 이름/버전이 함께 echo 된다 — client 가 attach 검증 후 mismatch 시
|
|
5593
|
+
* 즉시 throw 할 수 있도록.
|
|
5594
|
+
*/
|
|
5595
|
+
interface CreateRoomResult {
|
|
5596
|
+
/** 서버 생성 룸 UUID (config.roomId 와 항상 같지는 않음 — 서버가 fresh UUID 생성 가능). */
|
|
5597
|
+
roomId: string;
|
|
5598
|
+
/** 초기 상태 스냅샷. 기존 `createRoom` 의 resolve 값과 동일 shape. */
|
|
5599
|
+
state: GameState;
|
|
5600
|
+
/** Attached lua script 이름. config.scriptName 미지정 시 undefined. */
|
|
5601
|
+
scriptName?: string;
|
|
5602
|
+
/** Attached lua script 의 active version (Manager.GetMeta.ActiveVersion). */
|
|
5603
|
+
scriptVersion?: number;
|
|
5489
5604
|
}
|
|
5490
5605
|
/**
|
|
5491
5606
|
* Ping/Pong 응답
|
|
@@ -5519,7 +5634,13 @@ interface RoomStaleMessage {
|
|
|
5519
5634
|
interface GameEventHandlers {
|
|
5520
5635
|
onConnect?: () => void;
|
|
5521
5636
|
onDisconnect?: (event: CloseEvent) => void;
|
|
5522
|
-
|
|
5637
|
+
/**
|
|
5638
|
+
* - `Event` : WebSocket transport-level 에러 (브라우저 WS API 의 onerror).
|
|
5639
|
+
* - `GameError` : server 가 surface 한 `error` 메시지를 wrap 한 인스턴스 — `.code`,
|
|
5640
|
+
* `.phase`, `.feature`, `.originClientId`, `.requested`, `.available` 모두 노출.
|
|
5641
|
+
* `instanceof GameError` 로 분기하여 UI 표시 차별화 가능.
|
|
5642
|
+
*/
|
|
5643
|
+
onError?: (error: Event | GameError) => void;
|
|
5523
5644
|
onStateUpdate?: (state: GameState) => void;
|
|
5524
5645
|
onDelta?: (delta: GameDelta) => void;
|
|
5525
5646
|
onAction?: (action: {
|
|
@@ -5887,6 +6008,8 @@ declare class GameRoom {
|
|
|
5887
6008
|
private actionSequence;
|
|
5888
6009
|
private _roomId;
|
|
5889
6010
|
private _state;
|
|
6011
|
+
private _scriptName;
|
|
6012
|
+
private _scriptVersion;
|
|
5890
6013
|
private _isConnected;
|
|
5891
6014
|
constructor(config: GameClientConfig);
|
|
5892
6015
|
/**
|
|
@@ -5914,9 +6037,29 @@ declare class GameRoom {
|
|
|
5914
6037
|
*/
|
|
5915
6038
|
disconnect(): void;
|
|
5916
6039
|
/**
|
|
5917
|
-
* 룸 생성
|
|
6040
|
+
* 룸 생성 (호환 시그니처) — 초기 상태만 반환.
|
|
6041
|
+
*
|
|
6042
|
+
* Attached script 의 검증(scriptName/scriptVersion echo 검사) 이 필요하면
|
|
6043
|
+
* 인스턴스 getter (`room.scriptName`, `room.scriptVersion`) 를 함께 사용하거나,
|
|
6044
|
+
* 메타까지 한 번에 받고 싶다면 {@link createRoomDetailed} 를 사용한다.
|
|
6045
|
+
*
|
|
6046
|
+
* 미존재/비활성 scriptName 은 서버가 `SCRIPT_NOT_FOUND` 로 즉시 reject 한다.
|
|
6047
|
+
* reject 값은 `GameError` 인스턴스이며 `.code`/`.requested`/`.available` 로 분기 가능.
|
|
5918
6048
|
*/
|
|
5919
6049
|
createRoom(config?: GameRoomConfig): Promise<GameState>;
|
|
6050
|
+
/**
|
|
6051
|
+
* 룸 생성 + 메타 — server 가 attach 한 lua script 이름/버전을 함께 반환.
|
|
6052
|
+
*
|
|
6053
|
+
* @example
|
|
6054
|
+
* const { state, scriptName, scriptVersion } = await room.createRoomDetailed({ scriptName: 'njb-main' })
|
|
6055
|
+
* if (scriptName !== 'njb-main') throw new Error('script mismatch')
|
|
6056
|
+
* console.log('attached', scriptName, 'v', scriptVersion)
|
|
6057
|
+
*/
|
|
6058
|
+
createRoomDetailed(config?: GameRoomConfig): Promise<CreateRoomResult>;
|
|
6059
|
+
/** Attached lua script 이름 — createRoom 이후 server 가 echo 한 값. */
|
|
6060
|
+
get scriptName(): string | null;
|
|
6061
|
+
/** Attached lua script 의 active version. */
|
|
6062
|
+
get scriptVersion(): number | null;
|
|
5920
6063
|
/**
|
|
5921
6064
|
* 룸 참가
|
|
5922
6065
|
*/
|
|
@@ -6082,9 +6225,24 @@ declare class GameAPI {
|
|
|
6082
6225
|
*/
|
|
6083
6226
|
rollbackScript(appId: string, name: string): Promise<ScriptMeta>;
|
|
6084
6227
|
/**
|
|
6085
|
-
* 스크립트 비활성화 (status=disabled).
|
|
6228
|
+
* 스크립트 비활성화 (status=disabled, ActiveVersion=0). 코드/모든 버전은 보존되며
|
|
6229
|
+
* 이후 {@link activateScript} 로 재활성화할 수 있다.
|
|
6230
|
+
*
|
|
6231
|
+
* v3.14.0 BREAKING — 이전엔 `disableScript` 가 `DELETE /scripts/:name` 을 호출해
|
|
6232
|
+
* Disable 매핑이었으나, server 측 `DELETE` 가 hard-delete 로 분리됨에 따라
|
|
6233
|
+
* `POST /scripts/:name/deactivate` 로 endpoint 이동. 메서드명도 의도 명확화 위해 rename.
|
|
6086
6234
|
*/
|
|
6087
|
-
|
|
6235
|
+
deactivateScript(appId: string, name: string): Promise<void>;
|
|
6236
|
+
/**
|
|
6237
|
+
* 스크립트 영구 삭제 (hard-delete) — 메타 + 모든 버전 영구 제거. 복구 불가.
|
|
6238
|
+
*
|
|
6239
|
+
* 잘못 업로드된 스크립트나 더 이상 사용하지 않는 슬롯을 정리할 때 사용. 단순 비활성화는
|
|
6240
|
+
* {@link deactivateScript} 를 사용한다 (코드 보존, 재활성화 가능).
|
|
6241
|
+
*
|
|
6242
|
+
* v3.14.0 신규 — server 측 `DELETE /scripts/:name` 의 의미가 Disable → hard-delete 로
|
|
6243
|
+
* 변경된 것에 대응.
|
|
6244
|
+
*/
|
|
6245
|
+
deleteScript(appId: string, name: string): Promise<void>;
|
|
6088
6246
|
}
|
|
6089
6247
|
|
|
6090
6248
|
interface AdsenseConnectionInfo {
|
|
@@ -7724,6 +7882,8 @@ declare class GameRoomTransport {
|
|
|
7724
7882
|
private actionSequence;
|
|
7725
7883
|
private _roomId;
|
|
7726
7884
|
private _state;
|
|
7885
|
+
private _scriptName;
|
|
7886
|
+
private _scriptVersion;
|
|
7727
7887
|
private _isConnected;
|
|
7728
7888
|
private _connectionStatus;
|
|
7729
7889
|
private _lastError;
|
|
@@ -7750,6 +7910,10 @@ declare class GameRoomTransport {
|
|
|
7750
7910
|
* Connection status
|
|
7751
7911
|
*/
|
|
7752
7912
|
get isConnected(): boolean;
|
|
7913
|
+
/** Attached lua script 이름 — createRoom 이후 server 가 echo 한 값. */
|
|
7914
|
+
get scriptName(): string | null;
|
|
7915
|
+
/** Attached lua script 의 active version. */
|
|
7916
|
+
get scriptVersion(): number | null;
|
|
7753
7917
|
/**
|
|
7754
7918
|
* Connection state information
|
|
7755
7919
|
*/
|
|
@@ -7771,9 +7935,16 @@ declare class GameRoomTransport {
|
|
|
7771
7935
|
*/
|
|
7772
7936
|
disconnect(): void;
|
|
7773
7937
|
/**
|
|
7774
|
-
* Create a new room
|
|
7938
|
+
* Create a new room (호환 시그니처) — 초기 상태만 반환.
|
|
7939
|
+
*
|
|
7940
|
+
* Attached script 메타가 필요하면 {@link createRoomDetailed} 또는 인스턴스 getter
|
|
7941
|
+
* (`transport.scriptName`, `transport.scriptVersion`) 를 사용.
|
|
7775
7942
|
*/
|
|
7776
7943
|
createRoom(config?: GameRoomConfig): Promise<GameState>;
|
|
7944
|
+
/**
|
|
7945
|
+
* Create a new room — server 가 attach 한 lua script 메타 함께 반환.
|
|
7946
|
+
*/
|
|
7947
|
+
createRoomDetailed(config?: GameRoomConfig): Promise<CreateRoomResult>;
|
|
7777
7948
|
/**
|
|
7778
7949
|
* Join an existing room
|
|
7779
7950
|
*/
|
|
@@ -8103,4 +8274,4 @@ declare class ConnectBase {
|
|
|
8103
8274
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8104
8275
|
}
|
|
8105
8276
|
|
|
8106
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, 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 AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type 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, 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 GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GeoWithin, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomStats, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type 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, isWebTransportSupported, toCreateRoomWire };
|
|
8277
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, 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 AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GeoWithin, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomStats, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type 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, isWebTransportSupported, toCreateRoomWire };
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,56 @@ declare class ApiError extends Error {
|
|
|
12
12
|
declare class AuthError extends Error {
|
|
13
13
|
constructor(message: string);
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* GameError 는 game-server 가 surface 한 `error` 메시지 (createRoom/joinRoom/sendAction
|
|
17
|
+
* 응답 또는 broadcastScriptError) 를 client 측에서 일관된 형태로 다루기 위한 예외 클래스.
|
|
18
|
+
*
|
|
19
|
+
* 기존엔 모든 reject 가 `new Error(message)` 였어서 `code`/`phase`/`feature` 같은
|
|
20
|
+
* 분류 메타가 손실되어 SDK 사용자가 onError UI 분기를 만들 수 없었다 (NJB 사례,
|
|
21
|
+
* platform-issue 019e21dd / 2026-05-13).
|
|
22
|
+
*
|
|
23
|
+
* 사용 패턴:
|
|
24
|
+
* ```ts
|
|
25
|
+
* try {
|
|
26
|
+
* await room.createRoom({ scriptName: 'my-script' })
|
|
27
|
+
* } catch (e) {
|
|
28
|
+
* if (e instanceof GameError && e.code === 'SCRIPT_NOT_FOUND') {
|
|
29
|
+
* console.error('script missing — available:', e.available)
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* onError 콜백도 동일하게 GameError 인스턴스로 surface 된다.
|
|
35
|
+
*/
|
|
36
|
+
declare class GameError extends Error {
|
|
37
|
+
/** server 가 분류한 에러 코드. literal 비교용은 GameErrorCode 참조. */
|
|
38
|
+
code: string;
|
|
39
|
+
/** Lua hook 단계 — 'onJoin'|'onLeave'|'onTick'|'onAction'. 비-lua 에러는 undefined. */
|
|
40
|
+
phase?: string;
|
|
41
|
+
/** FEATURE_DISABLED 시 비활성 feature 이름. */
|
|
42
|
+
feature?: string;
|
|
43
|
+
/** 영향받은 room id. */
|
|
44
|
+
roomId?: string;
|
|
45
|
+
/** `<appID>:<scriptName>` 형식의 attached script id. */
|
|
46
|
+
scriptId?: string;
|
|
47
|
+
/** broadcast 형태의 onAction 에러일 때, 액션을 일으킨 client (본인 아님 확인용). */
|
|
48
|
+
originClientId?: string;
|
|
49
|
+
/** SCRIPT_NOT_FOUND 응답 시 요청했던 scriptName. */
|
|
50
|
+
requested?: string;
|
|
51
|
+
/** SCRIPT_NOT_FOUND 응답 시 active 상태인 script 이름 목록. */
|
|
52
|
+
available?: string[];
|
|
53
|
+
constructor(init: {
|
|
54
|
+
code?: string;
|
|
55
|
+
message?: string;
|
|
56
|
+
phase?: string;
|
|
57
|
+
feature?: string;
|
|
58
|
+
roomId?: string;
|
|
59
|
+
scriptId?: string;
|
|
60
|
+
originClientId?: string;
|
|
61
|
+
requested?: string;
|
|
62
|
+
available?: string[];
|
|
63
|
+
});
|
|
64
|
+
}
|
|
15
65
|
|
|
16
66
|
interface AbortOptions {
|
|
17
67
|
timeout?: number;
|
|
@@ -5315,6 +5365,7 @@ declare class GameConfigAPI {
|
|
|
5315
5365
|
/**
|
|
5316
5366
|
* Game Server Types
|
|
5317
5367
|
*/
|
|
5368
|
+
|
|
5318
5369
|
/**
|
|
5319
5370
|
* 게임 룸 설정
|
|
5320
5371
|
*/
|
|
@@ -5444,8 +5495,26 @@ interface GameServerMessage {
|
|
|
5444
5495
|
phase?: string;
|
|
5445
5496
|
feature?: string;
|
|
5446
5497
|
script_id?: string;
|
|
5498
|
+
/**
|
|
5499
|
+
* broadcastScriptError 가 onAction 에러 broadcast 시 origin client 식별을 위해
|
|
5500
|
+
* 함께 보내는 필드. sender 본인은 점대점 error 응답으로 받으므로 broadcast 에서
|
|
5501
|
+
* 제외되며, 다른 player 가 누가 액션을 일으켰는지 가시화하는 용도.
|
|
5502
|
+
*/
|
|
5503
|
+
origin_client_id?: string;
|
|
5504
|
+
/**
|
|
5505
|
+
* `code === 'SCRIPT_NOT_FOUND'` 응답에 포함 — createRoom 시 client 가 요청했던
|
|
5506
|
+
* scriptName. 오타/대소문자/스킴 mismatch 디버깅 단서.
|
|
5507
|
+
*/
|
|
5508
|
+
requested?: string;
|
|
5509
|
+
/**
|
|
5510
|
+
* `code === 'SCRIPT_NOT_FOUND'` 응답에 포함 — 현재 app 에 활성(active+version>0)
|
|
5511
|
+
* 상태인 script 이름 목록. 사용자가 후보 중 골라 재시도하기 좋도록 노출.
|
|
5512
|
+
*/
|
|
5513
|
+
available?: string[];
|
|
5447
5514
|
reason?: string;
|
|
5448
5515
|
script_version?: number;
|
|
5516
|
+
/** room_created 응답 — 서버가 attach 한 lua script 이름 (검증된 값). */
|
|
5517
|
+
script_name?: string;
|
|
5449
5518
|
hint?: string;
|
|
5450
5519
|
}
|
|
5451
5520
|
/**
|
|
@@ -5468,24 +5537,70 @@ interface ChatMessage {
|
|
|
5468
5537
|
serverTime: number;
|
|
5469
5538
|
}
|
|
5470
5539
|
/**
|
|
5471
|
-
* 에러
|
|
5540
|
+
* GameErrorCode — game-server 가 surface 하는 에러 코드 literal union.
|
|
5541
|
+
*
|
|
5542
|
+
* - `SCRIPT_NOT_FOUND` : createRoom 의 scriptName 이 미존재/비활성. 응답에 requested + available 동봉.
|
|
5543
|
+
* - `NO_ACTION_HANDLER`: action 의 type 에 대응하는 lua handler 미정의 (`onAction` 또는 `handlers[type]`).
|
|
5544
|
+
* - `FEATURE_DISABLED` : entity/matchqueue/leaderboard 등 opt-in feature 가 OFF. feature 필드로 분기.
|
|
5545
|
+
* - `SCRIPT_ERROR` : lua 실행 중 일반 에러 (분류되지 않은 throw / runtime error).
|
|
5546
|
+
* - `SCRIPT_TIMEOUT` : Lua hook 의 context deadline 초과 (기본 100ms).
|
|
5547
|
+
* - `RATE_LIMITED` : per-app script rate limit 초과 (`SCRIPT_RATE_PER_SEC`).
|
|
5548
|
+
* - `QUOTA_EXCEEDED` : plan 한도(`script_executions/month`) 초과.
|
|
5549
|
+
* - `TIMEOUT` : SDK 측 sendWithHandler timeout (서버 응답 없음).
|
|
5550
|
+
* - `UNKNOWN` : 분류되지 않은 server 에러 (server 에 신규 코드가 생겼는데 SDK 미반영).
|
|
5551
|
+
*
|
|
5552
|
+
* literal autocomplete 를 유지하면서 미래에 server 가 신규 코드를 추가해도 타입 에러가
|
|
5553
|
+
* 안 나도록 `string & {}` 도 union 에 포함 (TypeScript 'string literal type widening' 우회 패턴).
|
|
5554
|
+
*/
|
|
5555
|
+
type GameErrorCode = 'SCRIPT_NOT_FOUND' | 'NO_ACTION_HANDLER' | 'FEATURE_DISABLED' | 'SCRIPT_ERROR' | 'SCRIPT_TIMEOUT' | 'RATE_LIMITED' | 'QUOTA_EXCEEDED' | 'TIMEOUT' | 'UNKNOWN' | (string & {});
|
|
5556
|
+
/**
|
|
5557
|
+
* 에러 메시지 — server `error` 메시지의 wire format. SDK 사용자에게는 GameError
|
|
5558
|
+
* 인스턴스(class)로 surface 되지만, 본 인터페이스는 raw payload 매핑 + 타입 추론용.
|
|
5472
5559
|
*/
|
|
5473
5560
|
interface ErrorMessage {
|
|
5474
|
-
code:
|
|
5561
|
+
code: GameErrorCode;
|
|
5475
5562
|
message: string;
|
|
5476
5563
|
/**
|
|
5477
5564
|
* 서버측 Lua hook 단계 식별자 — 값이 있으면 lua 실행 에러.
|
|
5478
5565
|
* "onJoin" | "onLeave" | "onTick" | "onAction".
|
|
5479
5566
|
* 일반 transport / protocol 에러는 phase 없음.
|
|
5480
5567
|
*/
|
|
5481
|
-
phase?: string;
|
|
5568
|
+
phase?: 'onJoin' | 'onLeave' | 'onTick' | 'onAction' | (string & {});
|
|
5482
5569
|
/**
|
|
5483
5570
|
* code === "FEATURE_DISABLED" 일 때 비활성 feature 이름.
|
|
5484
5571
|
* "entity" | "matchqueue" | "leaderboard" 등 — `toggle_game_features` 와 1:1 매핑.
|
|
5485
5572
|
*/
|
|
5486
|
-
feature?: string;
|
|
5573
|
+
feature?: 'entity' | 'matchqueue' | 'leaderboard' | (string & {});
|
|
5487
5574
|
roomId?: string;
|
|
5488
5575
|
scriptId?: string;
|
|
5576
|
+
/**
|
|
5577
|
+
* broadcast 형태의 onAction 에러일 때 액션을 일으킨 client. 본인이 아닌 다른
|
|
5578
|
+
* player 에서 발생한 에러를 SDK 사용자가 식별/필터링하기 위한 필드.
|
|
5579
|
+
*/
|
|
5580
|
+
originClientId?: string;
|
|
5581
|
+
/** code === 'SCRIPT_NOT_FOUND' 시 client 가 요청했던 scriptName. */
|
|
5582
|
+
requested?: string;
|
|
5583
|
+
/** code === 'SCRIPT_NOT_FOUND' 시 후보로 노출되는 active script 이름 목록. */
|
|
5584
|
+
available?: string[];
|
|
5585
|
+
}
|
|
5586
|
+
/**
|
|
5587
|
+
* CreateRoomResult — `createRoomDetailed` 의 반환 타입. createRoom 의 호환성 보존을
|
|
5588
|
+
* 위해 별도 메서드로 노출 (createRoom 은 기존대로 `Promise<GameState>` 유지).
|
|
5589
|
+
*
|
|
5590
|
+
* server 의 `room_created` 응답에는 이전엔 room_id + initial_state 만 들어왔으나
|
|
5591
|
+
* platform-issue 019e21dd (NJB regression, 2026-05-13) 의 회귀 가드로 attach 된 lua
|
|
5592
|
+
* script 의 이름/버전이 함께 echo 된다 — client 가 attach 검증 후 mismatch 시
|
|
5593
|
+
* 즉시 throw 할 수 있도록.
|
|
5594
|
+
*/
|
|
5595
|
+
interface CreateRoomResult {
|
|
5596
|
+
/** 서버 생성 룸 UUID (config.roomId 와 항상 같지는 않음 — 서버가 fresh UUID 생성 가능). */
|
|
5597
|
+
roomId: string;
|
|
5598
|
+
/** 초기 상태 스냅샷. 기존 `createRoom` 의 resolve 값과 동일 shape. */
|
|
5599
|
+
state: GameState;
|
|
5600
|
+
/** Attached lua script 이름. config.scriptName 미지정 시 undefined. */
|
|
5601
|
+
scriptName?: string;
|
|
5602
|
+
/** Attached lua script 의 active version (Manager.GetMeta.ActiveVersion). */
|
|
5603
|
+
scriptVersion?: number;
|
|
5489
5604
|
}
|
|
5490
5605
|
/**
|
|
5491
5606
|
* Ping/Pong 응답
|
|
@@ -5519,7 +5634,13 @@ interface RoomStaleMessage {
|
|
|
5519
5634
|
interface GameEventHandlers {
|
|
5520
5635
|
onConnect?: () => void;
|
|
5521
5636
|
onDisconnect?: (event: CloseEvent) => void;
|
|
5522
|
-
|
|
5637
|
+
/**
|
|
5638
|
+
* - `Event` : WebSocket transport-level 에러 (브라우저 WS API 의 onerror).
|
|
5639
|
+
* - `GameError` : server 가 surface 한 `error` 메시지를 wrap 한 인스턴스 — `.code`,
|
|
5640
|
+
* `.phase`, `.feature`, `.originClientId`, `.requested`, `.available` 모두 노출.
|
|
5641
|
+
* `instanceof GameError` 로 분기하여 UI 표시 차별화 가능.
|
|
5642
|
+
*/
|
|
5643
|
+
onError?: (error: Event | GameError) => void;
|
|
5523
5644
|
onStateUpdate?: (state: GameState) => void;
|
|
5524
5645
|
onDelta?: (delta: GameDelta) => void;
|
|
5525
5646
|
onAction?: (action: {
|
|
@@ -5887,6 +6008,8 @@ declare class GameRoom {
|
|
|
5887
6008
|
private actionSequence;
|
|
5888
6009
|
private _roomId;
|
|
5889
6010
|
private _state;
|
|
6011
|
+
private _scriptName;
|
|
6012
|
+
private _scriptVersion;
|
|
5890
6013
|
private _isConnected;
|
|
5891
6014
|
constructor(config: GameClientConfig);
|
|
5892
6015
|
/**
|
|
@@ -5914,9 +6037,29 @@ declare class GameRoom {
|
|
|
5914
6037
|
*/
|
|
5915
6038
|
disconnect(): void;
|
|
5916
6039
|
/**
|
|
5917
|
-
* 룸 생성
|
|
6040
|
+
* 룸 생성 (호환 시그니처) — 초기 상태만 반환.
|
|
6041
|
+
*
|
|
6042
|
+
* Attached script 의 검증(scriptName/scriptVersion echo 검사) 이 필요하면
|
|
6043
|
+
* 인스턴스 getter (`room.scriptName`, `room.scriptVersion`) 를 함께 사용하거나,
|
|
6044
|
+
* 메타까지 한 번에 받고 싶다면 {@link createRoomDetailed} 를 사용한다.
|
|
6045
|
+
*
|
|
6046
|
+
* 미존재/비활성 scriptName 은 서버가 `SCRIPT_NOT_FOUND` 로 즉시 reject 한다.
|
|
6047
|
+
* reject 값은 `GameError` 인스턴스이며 `.code`/`.requested`/`.available` 로 분기 가능.
|
|
5918
6048
|
*/
|
|
5919
6049
|
createRoom(config?: GameRoomConfig): Promise<GameState>;
|
|
6050
|
+
/**
|
|
6051
|
+
* 룸 생성 + 메타 — server 가 attach 한 lua script 이름/버전을 함께 반환.
|
|
6052
|
+
*
|
|
6053
|
+
* @example
|
|
6054
|
+
* const { state, scriptName, scriptVersion } = await room.createRoomDetailed({ scriptName: 'njb-main' })
|
|
6055
|
+
* if (scriptName !== 'njb-main') throw new Error('script mismatch')
|
|
6056
|
+
* console.log('attached', scriptName, 'v', scriptVersion)
|
|
6057
|
+
*/
|
|
6058
|
+
createRoomDetailed(config?: GameRoomConfig): Promise<CreateRoomResult>;
|
|
6059
|
+
/** Attached lua script 이름 — createRoom 이후 server 가 echo 한 값. */
|
|
6060
|
+
get scriptName(): string | null;
|
|
6061
|
+
/** Attached lua script 의 active version. */
|
|
6062
|
+
get scriptVersion(): number | null;
|
|
5920
6063
|
/**
|
|
5921
6064
|
* 룸 참가
|
|
5922
6065
|
*/
|
|
@@ -6082,9 +6225,24 @@ declare class GameAPI {
|
|
|
6082
6225
|
*/
|
|
6083
6226
|
rollbackScript(appId: string, name: string): Promise<ScriptMeta>;
|
|
6084
6227
|
/**
|
|
6085
|
-
* 스크립트 비활성화 (status=disabled).
|
|
6228
|
+
* 스크립트 비활성화 (status=disabled, ActiveVersion=0). 코드/모든 버전은 보존되며
|
|
6229
|
+
* 이후 {@link activateScript} 로 재활성화할 수 있다.
|
|
6230
|
+
*
|
|
6231
|
+
* v3.14.0 BREAKING — 이전엔 `disableScript` 가 `DELETE /scripts/:name` 을 호출해
|
|
6232
|
+
* Disable 매핑이었으나, server 측 `DELETE` 가 hard-delete 로 분리됨에 따라
|
|
6233
|
+
* `POST /scripts/:name/deactivate` 로 endpoint 이동. 메서드명도 의도 명확화 위해 rename.
|
|
6086
6234
|
*/
|
|
6087
|
-
|
|
6235
|
+
deactivateScript(appId: string, name: string): Promise<void>;
|
|
6236
|
+
/**
|
|
6237
|
+
* 스크립트 영구 삭제 (hard-delete) — 메타 + 모든 버전 영구 제거. 복구 불가.
|
|
6238
|
+
*
|
|
6239
|
+
* 잘못 업로드된 스크립트나 더 이상 사용하지 않는 슬롯을 정리할 때 사용. 단순 비활성화는
|
|
6240
|
+
* {@link deactivateScript} 를 사용한다 (코드 보존, 재활성화 가능).
|
|
6241
|
+
*
|
|
6242
|
+
* v3.14.0 신규 — server 측 `DELETE /scripts/:name` 의 의미가 Disable → hard-delete 로
|
|
6243
|
+
* 변경된 것에 대응.
|
|
6244
|
+
*/
|
|
6245
|
+
deleteScript(appId: string, name: string): Promise<void>;
|
|
6088
6246
|
}
|
|
6089
6247
|
|
|
6090
6248
|
interface AdsenseConnectionInfo {
|
|
@@ -7724,6 +7882,8 @@ declare class GameRoomTransport {
|
|
|
7724
7882
|
private actionSequence;
|
|
7725
7883
|
private _roomId;
|
|
7726
7884
|
private _state;
|
|
7885
|
+
private _scriptName;
|
|
7886
|
+
private _scriptVersion;
|
|
7727
7887
|
private _isConnected;
|
|
7728
7888
|
private _connectionStatus;
|
|
7729
7889
|
private _lastError;
|
|
@@ -7750,6 +7910,10 @@ declare class GameRoomTransport {
|
|
|
7750
7910
|
* Connection status
|
|
7751
7911
|
*/
|
|
7752
7912
|
get isConnected(): boolean;
|
|
7913
|
+
/** Attached lua script 이름 — createRoom 이후 server 가 echo 한 값. */
|
|
7914
|
+
get scriptName(): string | null;
|
|
7915
|
+
/** Attached lua script 의 active version. */
|
|
7916
|
+
get scriptVersion(): number | null;
|
|
7753
7917
|
/**
|
|
7754
7918
|
* Connection state information
|
|
7755
7919
|
*/
|
|
@@ -7771,9 +7935,16 @@ declare class GameRoomTransport {
|
|
|
7771
7935
|
*/
|
|
7772
7936
|
disconnect(): void;
|
|
7773
7937
|
/**
|
|
7774
|
-
* Create a new room
|
|
7938
|
+
* Create a new room (호환 시그니처) — 초기 상태만 반환.
|
|
7939
|
+
*
|
|
7940
|
+
* Attached script 메타가 필요하면 {@link createRoomDetailed} 또는 인스턴스 getter
|
|
7941
|
+
* (`transport.scriptName`, `transport.scriptVersion`) 를 사용.
|
|
7775
7942
|
*/
|
|
7776
7943
|
createRoom(config?: GameRoomConfig): Promise<GameState>;
|
|
7944
|
+
/**
|
|
7945
|
+
* Create a new room — server 가 attach 한 lua script 메타 함께 반환.
|
|
7946
|
+
*/
|
|
7947
|
+
createRoomDetailed(config?: GameRoomConfig): Promise<CreateRoomResult>;
|
|
7777
7948
|
/**
|
|
7778
7949
|
* Join an existing room
|
|
7779
7950
|
*/
|
|
@@ -8103,4 +8274,4 @@ declare class ConnectBase {
|
|
|
8103
8274
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8104
8275
|
}
|
|
8105
8276
|
|
|
8106
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, 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 AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type 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, 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 GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GeoWithin, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomStats, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type 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, isWebTransportSupported, toCreateRoomWire };
|
|
8277
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, 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 AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GeoWithin, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type RoomStats, type RoomsResponse, type SaveDialogOptions, type SaveDialogResult, type ScriptDetailResponse, type ScriptListResponse, type ScriptMeta, type ScriptVersion, type ScriptVersionListResponse, type SearchIndex, type SearchOptions, type SearchResponse, type SearchResult, type SecurityRule, type SendOptions, type ServerMessage, SessionManager, type SetPageMetaRequest, type Shorts, type ShortsListResponse, type SignalingMessage, type SignalingMessageType, type SlowQueryInfo, type SpectatorInfo, type SpectatorPlayerState, type SpectatorState, type StateChange, type StateChangeHandler, type StorageUploadOptions, type StreamContentPart, type StreamDoneCallback, type StreamDoneData, type StreamErrorCallback, type StreamHandlers, type StreamImageURLPart, type StreamMessage, type StreamOptions, type StreamSession, type StreamTextPart, type StreamTokenCallback, type StreamToolCallCallback, type StreamToolResultCallback, type StreamURLResponse, type SubscribeOptions, type SubscribeTopicRequest, type SubscribedData, type Subscription, type SubscriptionPaymentResponse, type SubscriptionPaymentStatus, type SubscriptionResponse, type SubscriptionStatus, type SuperChat, type SystemInfo, type TTLConfig, type TableAccessLevel, type TableColumnDef, type TableIndex, type TableRelation, type TableSchema, type TableSchemaDefinition, type TokenPersistence, type TransactionRead, type TransactionResult, type TransactionWrite, type TransactionWriteResult, type TranscodeStatus, type TransportType, type Trigger, type TriggerEvent, type TriggerHandlerType, type TypingChangeHandler, type TypingInfo, type UpdateBillingKeyRequest, type UpdateChannelRequest, type UpdateColumnRequest, type UpdateCustomDataRequest, type UpdateCustomDataResponse, type UpdateDataRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type 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, isWebTransportSupported, toCreateRoomWire };
|