connectbase-client 3.10.0 → 3.12.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/dist/index.d.mts CHANGED
@@ -1355,6 +1355,31 @@ interface TransactionWrite {
1355
1355
  exists?: boolean;
1356
1356
  };
1357
1357
  }
1358
+ interface BatchOperationResult {
1359
+ index: number;
1360
+ success: boolean;
1361
+ doc_id?: string;
1362
+ error?: string;
1363
+ }
1364
+ interface BatchWriteResult {
1365
+ success: boolean;
1366
+ results: BatchOperationResult[];
1367
+ total_count?: number;
1368
+ success_count?: number;
1369
+ failed_count?: number;
1370
+ }
1371
+ interface TransactionWriteResult {
1372
+ index: number;
1373
+ doc_id?: string;
1374
+ success: boolean;
1375
+ }
1376
+ interface TransactionResult {
1377
+ success: boolean;
1378
+ transaction_id?: string;
1379
+ reads?: Record<string, unknown>;
1380
+ results?: TransactionWriteResult[];
1381
+ error?: string;
1382
+ }
1358
1383
  interface TTLConfig {
1359
1384
  table_name: string;
1360
1385
  field: string;
@@ -1811,16 +1836,18 @@ declare class DatabaseAPI {
1811
1836
  }): Promise<GeoResponse>;
1812
1837
  /**
1813
1838
  * 배치 쓰기 (여러 테이블 다중 문서 원자적 처리)
1839
+ *
1840
+ * 서버는 HTTP 200 + `success:false` + 개별 op `error` 로 부분 실패를 표현한다.
1841
+ * SDK 는 호출자가 silent success 로 오해하지 않도록 첫 실패 op 의 메시지로 throw 한다.
1814
1842
  */
1815
- batch(operations: BatchOperation[]): Promise<{
1816
- results: Record<string, unknown>[];
1817
- }>;
1843
+ batch(operations: BatchOperation[]): Promise<BatchWriteResult>;
1818
1844
  /**
1819
1845
  * 트랜잭션 실행 (읽기 → 쓰기 ACID)
1846
+ *
1847
+ * 서버는 부분 실패가 없는 ACID 트랜잭션을 보장하지만, 검증/RLS/충돌은
1848
+ * `success:false` + `error` 로 알린다. SDK 는 silent success 회귀 방지 차원에서 throw.
1820
1849
  */
1821
- transaction(reads: TransactionRead[], writes: TransactionWrite[]): Promise<{
1822
- results: Record<string, unknown>;
1823
- }>;
1850
+ transaction(reads: TransactionRead[], writes: TransactionWrite[]): Promise<TransactionResult>;
1824
1851
  /**
1825
1852
  * 데이터 조회 시 릴레이션 로딩 (JOIN)
1826
1853
  */
@@ -5300,6 +5327,16 @@ interface GameRoomConfig {
5300
5327
  tickRate?: number;
5301
5328
  /** 최대 플레이어 수 (기본 100) */
5302
5329
  maxPlayers?: number;
5330
+ /**
5331
+ * 룸에 attach 할 Lua 스크립트 이름. 콘솔 또는 `POST /v1/game/:appID/scripts` 로 업로드+활성화한
5332
+ * 스크립트만 사용 가능. 미지정 시 server tick + delta 만 흐르고 onTick / onJoin / onAction 등
5333
+ * 사용자 hook 은 호출되지 않는다.
5334
+ *
5335
+ * platform-issue 019e123a (2026-05-10) 해결로 추가된 필드. 이전 버전에서 createRoom config 에
5336
+ * `script_name` 을 직접 넣어 호출하던 워크어라운드는 SDK 가 와이어 페이로드에서 자동으로
5337
+ * `script_name` 으로 매핑해 호환된다.
5338
+ */
5339
+ scriptName?: string;
5303
5340
  /** 커스텀 메타데이터 */
5304
5341
  metadata?: Record<string, string>;
5305
5342
  }
@@ -5367,7 +5404,7 @@ interface GameRoomInfo {
5367
5404
  /**
5368
5405
  * 게임 서버 메시지 타입
5369
5406
  */
5370
- type GameServerMessageType = 'room_created' | 'room_joined' | 'room_left' | 'state' | 'delta' | 'player_event' | 'chat' | 'pong' | 'room_list' | 'error';
5407
+ type GameServerMessageType = 'room_created' | 'room_joined' | 'room_left' | 'state' | 'delta' | 'player_event' | 'chat' | 'pong' | 'room_list' | 'error' | 'room_stale' | 'sync_lost';
5371
5408
  /**
5372
5409
  * 게임 서버 메시지
5373
5410
  * 서버는 모든 필드를 최상위에 보냄 (data 래퍼 없음)
@@ -5404,6 +5441,12 @@ interface GameServerMessage {
5404
5441
  timestamp?: number;
5405
5442
  client_timestamp?: number;
5406
5443
  server_timestamp?: number;
5444
+ phase?: string;
5445
+ feature?: string;
5446
+ script_id?: string;
5447
+ reason?: string;
5448
+ script_version?: number;
5449
+ hint?: string;
5407
5450
  }
5408
5451
  /**
5409
5452
  * 플레이어 이벤트
@@ -5430,6 +5473,19 @@ interface ChatMessage {
5430
5473
  interface ErrorMessage {
5431
5474
  code: string;
5432
5475
  message: string;
5476
+ /**
5477
+ * 서버측 Lua hook 단계 식별자 — 값이 있으면 lua 실행 에러.
5478
+ * "onJoin" | "onLeave" | "onTick" | "onAction".
5479
+ * 일반 transport / protocol 에러는 phase 없음.
5480
+ */
5481
+ phase?: string;
5482
+ /**
5483
+ * code === "FEATURE_DISABLED" 일 때 비활성 feature 이름.
5484
+ * "entity" | "matchqueue" | "leaderboard" 등 — `toggle_game_features` 와 1:1 매핑.
5485
+ */
5486
+ feature?: string;
5487
+ roomId?: string;
5488
+ scriptId?: string;
5433
5489
  }
5434
5490
  /**
5435
5491
  * Ping/Pong 응답
@@ -5438,6 +5494,25 @@ interface PongMessage {
5438
5494
  clientTimestamp: number;
5439
5495
  serverTimestamp: number;
5440
5496
  }
5497
+ /**
5498
+ * room_stale 이벤트 페이로드.
5499
+ * 서버 측 hot reload(active_version bump) 등으로 현재 room 의 lua 핸들러가
5500
+ * 갱신됐지만 기존 state 가 보존되어 사용자 lua 의 `state.initialized` 같은
5501
+ * 가드로 `handlers.init` 가 재실행되지 않을 수 있을 때 발화된다.
5502
+ *
5503
+ * 권장 처리: leaveRoom → joinRoom 또는 새 roomId 로 createRoom.
5504
+ * 자동 disconnect 는 SDK 가 하지 않는다 — 정책은 사용자 게임이 결정.
5505
+ */
5506
+ interface RoomStaleMessage {
5507
+ /** "script_reloaded" | "schema_changed" | "manual" 등 — 자유 문자열 */
5508
+ reason: string;
5509
+ roomId: string;
5510
+ /** appID:scriptName 형태. 없을 수 있음. */
5511
+ scriptId?: string;
5512
+ /** 새 active_version. 없을 수 있음. */
5513
+ scriptVersion?: number;
5514
+ serverTime: number;
5515
+ }
5441
5516
  /**
5442
5517
  * 게임 클라이언트 이벤트 핸들러
5443
5518
  */
@@ -5457,6 +5532,11 @@ interface GameEventHandlers {
5457
5532
  onPlayerLeft?: (player: GamePlayer) => void;
5458
5533
  onChat?: (message: ChatMessage) => void;
5459
5534
  onPong?: (pong: PongMessage) => void;
5535
+ /**
5536
+ * 서버가 room 을 stale 로 표시했을 때 발화. 자세한 사양은 `RoomStaleMessage` 참고.
5537
+ * 미설정 시 SDK 는 console.warn 으로 가시화만 하고 자동 동작은 하지 않는다.
5538
+ */
5539
+ onRoomStale?: (msg: RoomStaleMessage) => void;
5460
5540
  }
5461
5541
  /**
5462
5542
  * 게임 클라이언트 설정
@@ -5784,6 +5864,15 @@ interface ScriptDetailResponse {
5784
5864
  active?: ScriptVersion;
5785
5865
  }
5786
5866
 
5867
+ /**
5868
+ * 게임 서버 `create_room` 메시지 페이로드는 snake_case 필드를 기대한다 (Go 핸들러 JSON 태그).
5869
+ * SDK 의 GameRoomConfig 는 camelCase 이므로, scriptName / tickRate / maxPlayers / roomId /
5870
+ * categoryId 를 와이어 형식으로 매핑한다. 추가 필드(metadata)는 그대로 통과.
5871
+ *
5872
+ * platform-issue 019e123a (2026-05-10) 의 회귀 가드 — scriptName 누락 시 RoomConfig.ScriptID
5873
+ * 가 비어 onTick / onPlayerJoin 등이 silent skip 되던 문제 차단.
5874
+ */
5875
+ declare function toCreateRoomWire(config: GameRoomConfig): Record<string, unknown>;
5787
5876
  /**
5788
5877
  * 게임 룸 클라이언트
5789
5878
  * WebSocket 연결을 관리하고 게임 상태를 동기화합니다.
@@ -7302,6 +7391,32 @@ interface ReportIssueResponse {
7302
7391
  status: 'open';
7303
7392
  created_at: string;
7304
7393
  }
7394
+ /**
7395
+ * Cross-app 위임 user 발행 요청 본문.
7396
+ *
7397
+ * 일반 `reportIssue` 와 다른 점:
7398
+ * - target_app 이 호출자(source_app) 와 다름 (다른 앱에 보내는 위임 제보)
7399
+ * - SDK 인증 컨텍스트(publicKey/secretKey) 가 아닌 cross-app OAuth Bearer access_token 사용
7400
+ * - reporter_member_id 는 access_token 의 end_user_id claim 에서 자동 추출 (body 로 전달 불가)
7401
+ */
7402
+ interface ReportIssueOnBehalfOfUserRequest {
7403
+ /** 수신 앱(target) 의 ID. OAuth token 의 audience(`app:<uuid>`) 와 일치해야 함. */
7404
+ targetAppId: string;
7405
+ /**
7406
+ * Cross-app OAuth access_token (`authorization_code` grant — user binding 필수).
7407
+ * scope 에 `issue:report:on-behalf-of-user` 가 포함돼야 한다.
7408
+ * `client_credentials` grant 토큰은 401 `delegated_user_required` 로 거부됨.
7409
+ */
7410
+ accessToken: string;
7411
+ /** 제목 (최대 200자) */
7412
+ title: string;
7413
+ /** 본문 (최대 16KB, 마크다운) */
7414
+ body: string;
7415
+ /** 카테고리. 기본값 `other`. AI triage 가 보정. */
7416
+ category?: SupportIssueCategory;
7417
+ /** 자유 컨텍스트 (페이지 URL, request_id 등). PII 직접 포함 금지. */
7418
+ metadata?: Record<string, unknown>;
7419
+ }
7305
7420
  /**
7306
7421
  * Support API — 사용자 제보 (end-user issue) 발행.
7307
7422
  *
@@ -7350,6 +7465,37 @@ declare class SupportAPI {
7350
7465
  * @throws ApiError — 본문 길이 초과 / 쿼터 초과(429) / reCAPTCHA 거부(403) 등.
7351
7466
  */
7352
7467
  reportIssue(req: ReportIssueRequest): Promise<ReportIssueResponse>;
7468
+ /**
7469
+ * 다른 앱(target) 에 자기 사용자(end-user) 명의로 cross-app 위임 이슈를 발행한다.
7470
+ *
7471
+ * **사용 시나리오**: source_app(예: Makers) 의 backend 가 OAuth `authorization_code` grant 로
7472
+ * 발급받은 사용자 access_token 을 사용해, target_app(예: ai-tool) 에게 "Makers user A 가 보낸"
7473
+ * 이슈로 제보. target 측 콘솔 inbox 에는 `reporter_kind=user` + `reporter_app_id=Makers` 로 표시.
7474
+ *
7475
+ * 본 메서드는 SDK 의 publicKey/secretKey 인증 컨텍스트를 사용하지 않고, 호출자가 명시적으로 전달한
7476
+ * cross-app OAuth Bearer access_token 만 사용 (server-to-server 위임 흐름).
7477
+ *
7478
+ * @param req - 발행 본문
7479
+ * @param req.targetAppId - 수신 앱 ID (= OAuth token 의 audience `app:<uuid>` 와 일치해야 함)
7480
+ * @param req.accessToken - source_app 이 발급받은 cross-app OAuth access_token (authorization_code grant)
7481
+ *
7482
+ * @throws ApiError 401 — `delegated_user_required`: access_token 이 client_credentials grant
7483
+ * @throws ApiError 403 — `trust_chain_violation`: source_app 이 target_app 의 cross-app provider 로 등록되지 않음
7484
+ * @throws ApiError 403 — `insufficient_scope`: token 에 `issue:report:on-behalf-of-user` 미포함
7485
+ *
7486
+ * @example Makers backend → ai-tool 에 사용자 명의 제보
7487
+ * ```typescript
7488
+ * await cb.support.reportIssueOnBehalfOfUser({
7489
+ * targetAppId: 'ai-tool-uuid',
7490
+ * accessToken: makersUserAccessToken, // authorization_code grant 토큰
7491
+ * title: '생성 실패',
7492
+ * body: 'prompt X 가 5분째 응답 없음',
7493
+ * category: 'bug',
7494
+ * metadata: { prompt_id: 'p_42' },
7495
+ * })
7496
+ * ```
7497
+ */
7498
+ reportIssueOnBehalfOfUser(req: ReportIssueOnBehalfOfUserRequest): Promise<ReportIssueResponse>;
7353
7499
  /**
7354
7500
  * ConnectBase 플랫폼 자체 버그/요청/문의를 발행한다.
7355
7501
  *
@@ -7960,4 +8106,4 @@ declare class ConnectBase {
7960
8106
  updateConfig(config: Partial<ConnectBaseConfig>): void;
7961
8107
  }
7962
8108
 
7963
- 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 BatchSetPageMetaRequest, 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 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 TransactionWrite, 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 };
8109
+ 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 };
package/dist/index.d.ts CHANGED
@@ -1355,6 +1355,31 @@ interface TransactionWrite {
1355
1355
  exists?: boolean;
1356
1356
  };
1357
1357
  }
1358
+ interface BatchOperationResult {
1359
+ index: number;
1360
+ success: boolean;
1361
+ doc_id?: string;
1362
+ error?: string;
1363
+ }
1364
+ interface BatchWriteResult {
1365
+ success: boolean;
1366
+ results: BatchOperationResult[];
1367
+ total_count?: number;
1368
+ success_count?: number;
1369
+ failed_count?: number;
1370
+ }
1371
+ interface TransactionWriteResult {
1372
+ index: number;
1373
+ doc_id?: string;
1374
+ success: boolean;
1375
+ }
1376
+ interface TransactionResult {
1377
+ success: boolean;
1378
+ transaction_id?: string;
1379
+ reads?: Record<string, unknown>;
1380
+ results?: TransactionWriteResult[];
1381
+ error?: string;
1382
+ }
1358
1383
  interface TTLConfig {
1359
1384
  table_name: string;
1360
1385
  field: string;
@@ -1811,16 +1836,18 @@ declare class DatabaseAPI {
1811
1836
  }): Promise<GeoResponse>;
1812
1837
  /**
1813
1838
  * 배치 쓰기 (여러 테이블 다중 문서 원자적 처리)
1839
+ *
1840
+ * 서버는 HTTP 200 + `success:false` + 개별 op `error` 로 부분 실패를 표현한다.
1841
+ * SDK 는 호출자가 silent success 로 오해하지 않도록 첫 실패 op 의 메시지로 throw 한다.
1814
1842
  */
1815
- batch(operations: BatchOperation[]): Promise<{
1816
- results: Record<string, unknown>[];
1817
- }>;
1843
+ batch(operations: BatchOperation[]): Promise<BatchWriteResult>;
1818
1844
  /**
1819
1845
  * 트랜잭션 실행 (읽기 → 쓰기 ACID)
1846
+ *
1847
+ * 서버는 부분 실패가 없는 ACID 트랜잭션을 보장하지만, 검증/RLS/충돌은
1848
+ * `success:false` + `error` 로 알린다. SDK 는 silent success 회귀 방지 차원에서 throw.
1820
1849
  */
1821
- transaction(reads: TransactionRead[], writes: TransactionWrite[]): Promise<{
1822
- results: Record<string, unknown>;
1823
- }>;
1850
+ transaction(reads: TransactionRead[], writes: TransactionWrite[]): Promise<TransactionResult>;
1824
1851
  /**
1825
1852
  * 데이터 조회 시 릴레이션 로딩 (JOIN)
1826
1853
  */
@@ -5300,6 +5327,16 @@ interface GameRoomConfig {
5300
5327
  tickRate?: number;
5301
5328
  /** 최대 플레이어 수 (기본 100) */
5302
5329
  maxPlayers?: number;
5330
+ /**
5331
+ * 룸에 attach 할 Lua 스크립트 이름. 콘솔 또는 `POST /v1/game/:appID/scripts` 로 업로드+활성화한
5332
+ * 스크립트만 사용 가능. 미지정 시 server tick + delta 만 흐르고 onTick / onJoin / onAction 등
5333
+ * 사용자 hook 은 호출되지 않는다.
5334
+ *
5335
+ * platform-issue 019e123a (2026-05-10) 해결로 추가된 필드. 이전 버전에서 createRoom config 에
5336
+ * `script_name` 을 직접 넣어 호출하던 워크어라운드는 SDK 가 와이어 페이로드에서 자동으로
5337
+ * `script_name` 으로 매핑해 호환된다.
5338
+ */
5339
+ scriptName?: string;
5303
5340
  /** 커스텀 메타데이터 */
5304
5341
  metadata?: Record<string, string>;
5305
5342
  }
@@ -5367,7 +5404,7 @@ interface GameRoomInfo {
5367
5404
  /**
5368
5405
  * 게임 서버 메시지 타입
5369
5406
  */
5370
- type GameServerMessageType = 'room_created' | 'room_joined' | 'room_left' | 'state' | 'delta' | 'player_event' | 'chat' | 'pong' | 'room_list' | 'error';
5407
+ type GameServerMessageType = 'room_created' | 'room_joined' | 'room_left' | 'state' | 'delta' | 'player_event' | 'chat' | 'pong' | 'room_list' | 'error' | 'room_stale' | 'sync_lost';
5371
5408
  /**
5372
5409
  * 게임 서버 메시지
5373
5410
  * 서버는 모든 필드를 최상위에 보냄 (data 래퍼 없음)
@@ -5404,6 +5441,12 @@ interface GameServerMessage {
5404
5441
  timestamp?: number;
5405
5442
  client_timestamp?: number;
5406
5443
  server_timestamp?: number;
5444
+ phase?: string;
5445
+ feature?: string;
5446
+ script_id?: string;
5447
+ reason?: string;
5448
+ script_version?: number;
5449
+ hint?: string;
5407
5450
  }
5408
5451
  /**
5409
5452
  * 플레이어 이벤트
@@ -5430,6 +5473,19 @@ interface ChatMessage {
5430
5473
  interface ErrorMessage {
5431
5474
  code: string;
5432
5475
  message: string;
5476
+ /**
5477
+ * 서버측 Lua hook 단계 식별자 — 값이 있으면 lua 실행 에러.
5478
+ * "onJoin" | "onLeave" | "onTick" | "onAction".
5479
+ * 일반 transport / protocol 에러는 phase 없음.
5480
+ */
5481
+ phase?: string;
5482
+ /**
5483
+ * code === "FEATURE_DISABLED" 일 때 비활성 feature 이름.
5484
+ * "entity" | "matchqueue" | "leaderboard" 등 — `toggle_game_features` 와 1:1 매핑.
5485
+ */
5486
+ feature?: string;
5487
+ roomId?: string;
5488
+ scriptId?: string;
5433
5489
  }
5434
5490
  /**
5435
5491
  * Ping/Pong 응답
@@ -5438,6 +5494,25 @@ interface PongMessage {
5438
5494
  clientTimestamp: number;
5439
5495
  serverTimestamp: number;
5440
5496
  }
5497
+ /**
5498
+ * room_stale 이벤트 페이로드.
5499
+ * 서버 측 hot reload(active_version bump) 등으로 현재 room 의 lua 핸들러가
5500
+ * 갱신됐지만 기존 state 가 보존되어 사용자 lua 의 `state.initialized` 같은
5501
+ * 가드로 `handlers.init` 가 재실행되지 않을 수 있을 때 발화된다.
5502
+ *
5503
+ * 권장 처리: leaveRoom → joinRoom 또는 새 roomId 로 createRoom.
5504
+ * 자동 disconnect 는 SDK 가 하지 않는다 — 정책은 사용자 게임이 결정.
5505
+ */
5506
+ interface RoomStaleMessage {
5507
+ /** "script_reloaded" | "schema_changed" | "manual" 등 — 자유 문자열 */
5508
+ reason: string;
5509
+ roomId: string;
5510
+ /** appID:scriptName 형태. 없을 수 있음. */
5511
+ scriptId?: string;
5512
+ /** 새 active_version. 없을 수 있음. */
5513
+ scriptVersion?: number;
5514
+ serverTime: number;
5515
+ }
5441
5516
  /**
5442
5517
  * 게임 클라이언트 이벤트 핸들러
5443
5518
  */
@@ -5457,6 +5532,11 @@ interface GameEventHandlers {
5457
5532
  onPlayerLeft?: (player: GamePlayer) => void;
5458
5533
  onChat?: (message: ChatMessage) => void;
5459
5534
  onPong?: (pong: PongMessage) => void;
5535
+ /**
5536
+ * 서버가 room 을 stale 로 표시했을 때 발화. 자세한 사양은 `RoomStaleMessage` 참고.
5537
+ * 미설정 시 SDK 는 console.warn 으로 가시화만 하고 자동 동작은 하지 않는다.
5538
+ */
5539
+ onRoomStale?: (msg: RoomStaleMessage) => void;
5460
5540
  }
5461
5541
  /**
5462
5542
  * 게임 클라이언트 설정
@@ -5784,6 +5864,15 @@ interface ScriptDetailResponse {
5784
5864
  active?: ScriptVersion;
5785
5865
  }
5786
5866
 
5867
+ /**
5868
+ * 게임 서버 `create_room` 메시지 페이로드는 snake_case 필드를 기대한다 (Go 핸들러 JSON 태그).
5869
+ * SDK 의 GameRoomConfig 는 camelCase 이므로, scriptName / tickRate / maxPlayers / roomId /
5870
+ * categoryId 를 와이어 형식으로 매핑한다. 추가 필드(metadata)는 그대로 통과.
5871
+ *
5872
+ * platform-issue 019e123a (2026-05-10) 의 회귀 가드 — scriptName 누락 시 RoomConfig.ScriptID
5873
+ * 가 비어 onTick / onPlayerJoin 등이 silent skip 되던 문제 차단.
5874
+ */
5875
+ declare function toCreateRoomWire(config: GameRoomConfig): Record<string, unknown>;
5787
5876
  /**
5788
5877
  * 게임 룸 클라이언트
5789
5878
  * WebSocket 연결을 관리하고 게임 상태를 동기화합니다.
@@ -7302,6 +7391,32 @@ interface ReportIssueResponse {
7302
7391
  status: 'open';
7303
7392
  created_at: string;
7304
7393
  }
7394
+ /**
7395
+ * Cross-app 위임 user 발행 요청 본문.
7396
+ *
7397
+ * 일반 `reportIssue` 와 다른 점:
7398
+ * - target_app 이 호출자(source_app) 와 다름 (다른 앱에 보내는 위임 제보)
7399
+ * - SDK 인증 컨텍스트(publicKey/secretKey) 가 아닌 cross-app OAuth Bearer access_token 사용
7400
+ * - reporter_member_id 는 access_token 의 end_user_id claim 에서 자동 추출 (body 로 전달 불가)
7401
+ */
7402
+ interface ReportIssueOnBehalfOfUserRequest {
7403
+ /** 수신 앱(target) 의 ID. OAuth token 의 audience(`app:<uuid>`) 와 일치해야 함. */
7404
+ targetAppId: string;
7405
+ /**
7406
+ * Cross-app OAuth access_token (`authorization_code` grant — user binding 필수).
7407
+ * scope 에 `issue:report:on-behalf-of-user` 가 포함돼야 한다.
7408
+ * `client_credentials` grant 토큰은 401 `delegated_user_required` 로 거부됨.
7409
+ */
7410
+ accessToken: string;
7411
+ /** 제목 (최대 200자) */
7412
+ title: string;
7413
+ /** 본문 (최대 16KB, 마크다운) */
7414
+ body: string;
7415
+ /** 카테고리. 기본값 `other`. AI triage 가 보정. */
7416
+ category?: SupportIssueCategory;
7417
+ /** 자유 컨텍스트 (페이지 URL, request_id 등). PII 직접 포함 금지. */
7418
+ metadata?: Record<string, unknown>;
7419
+ }
7305
7420
  /**
7306
7421
  * Support API — 사용자 제보 (end-user issue) 발행.
7307
7422
  *
@@ -7350,6 +7465,37 @@ declare class SupportAPI {
7350
7465
  * @throws ApiError — 본문 길이 초과 / 쿼터 초과(429) / reCAPTCHA 거부(403) 등.
7351
7466
  */
7352
7467
  reportIssue(req: ReportIssueRequest): Promise<ReportIssueResponse>;
7468
+ /**
7469
+ * 다른 앱(target) 에 자기 사용자(end-user) 명의로 cross-app 위임 이슈를 발행한다.
7470
+ *
7471
+ * **사용 시나리오**: source_app(예: Makers) 의 backend 가 OAuth `authorization_code` grant 로
7472
+ * 발급받은 사용자 access_token 을 사용해, target_app(예: ai-tool) 에게 "Makers user A 가 보낸"
7473
+ * 이슈로 제보. target 측 콘솔 inbox 에는 `reporter_kind=user` + `reporter_app_id=Makers` 로 표시.
7474
+ *
7475
+ * 본 메서드는 SDK 의 publicKey/secretKey 인증 컨텍스트를 사용하지 않고, 호출자가 명시적으로 전달한
7476
+ * cross-app OAuth Bearer access_token 만 사용 (server-to-server 위임 흐름).
7477
+ *
7478
+ * @param req - 발행 본문
7479
+ * @param req.targetAppId - 수신 앱 ID (= OAuth token 의 audience `app:<uuid>` 와 일치해야 함)
7480
+ * @param req.accessToken - source_app 이 발급받은 cross-app OAuth access_token (authorization_code grant)
7481
+ *
7482
+ * @throws ApiError 401 — `delegated_user_required`: access_token 이 client_credentials grant
7483
+ * @throws ApiError 403 — `trust_chain_violation`: source_app 이 target_app 의 cross-app provider 로 등록되지 않음
7484
+ * @throws ApiError 403 — `insufficient_scope`: token 에 `issue:report:on-behalf-of-user` 미포함
7485
+ *
7486
+ * @example Makers backend → ai-tool 에 사용자 명의 제보
7487
+ * ```typescript
7488
+ * await cb.support.reportIssueOnBehalfOfUser({
7489
+ * targetAppId: 'ai-tool-uuid',
7490
+ * accessToken: makersUserAccessToken, // authorization_code grant 토큰
7491
+ * title: '생성 실패',
7492
+ * body: 'prompt X 가 5분째 응답 없음',
7493
+ * category: 'bug',
7494
+ * metadata: { prompt_id: 'p_42' },
7495
+ * })
7496
+ * ```
7497
+ */
7498
+ reportIssueOnBehalfOfUser(req: ReportIssueOnBehalfOfUserRequest): Promise<ReportIssueResponse>;
7353
7499
  /**
7354
7500
  * ConnectBase 플랫폼 자체 버그/요청/문의를 발행한다.
7355
7501
  *
@@ -7960,4 +8106,4 @@ declare class ConnectBase {
7960
8106
  updateConfig(config: Partial<ConnectBaseConfig>): void;
7961
8107
  }
7962
8108
 
7963
- 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 BatchSetPageMetaRequest, 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 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 TransactionWrite, 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 };
8109
+ 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 };