connectbase-client 3.32.0 → 3.34.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 +41 -0
- package/README.md +11 -3
- package/dist/connect-base.umd.js +5 -4
- package/dist/index.d.mts +69 -9
- package/dist/index.d.ts +69 -9
- package/dist/index.js +230 -7
- package/dist/index.mjs +230 -7
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1510,27 +1510,35 @@ interface SearchResponse {
|
|
|
1510
1510
|
total_count: number;
|
|
1511
1511
|
query: string;
|
|
1512
1512
|
}
|
|
1513
|
+
/**
|
|
1514
|
+
* 지리 좌표. 서버는 `{ lat, lng }`, `{ latitude, longitude }`, `[lng, lat]` 세 형식을 모두 받지만
|
|
1515
|
+
* SDK 는 `{ lat, lng }` 를 표준으로 사용한다.
|
|
1516
|
+
*/
|
|
1513
1517
|
interface GeoPoint {
|
|
1514
|
-
|
|
1515
|
-
|
|
1518
|
+
lat: number;
|
|
1519
|
+
lng: number;
|
|
1516
1520
|
}
|
|
1517
1521
|
interface GeoNear {
|
|
1518
1522
|
center: GeoPoint;
|
|
1523
|
+
/** 최대 거리 (미터) */
|
|
1519
1524
|
max_distance: number;
|
|
1525
|
+
/** 최소 거리 (미터, 도넛 검색) */
|
|
1520
1526
|
min_distance?: number;
|
|
1521
1527
|
}
|
|
1522
|
-
interface
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
top_right: GeoPoint;
|
|
1526
|
-
};
|
|
1528
|
+
interface GeoBoundingBox {
|
|
1529
|
+
bottom_left: GeoPoint;
|
|
1530
|
+
top_right: GeoPoint;
|
|
1527
1531
|
}
|
|
1528
1532
|
interface GeoPolygon {
|
|
1533
|
+
/** 폴리곤 꼭지점 (최소 3개) */
|
|
1529
1534
|
points: GeoPoint[];
|
|
1530
1535
|
}
|
|
1536
|
+
/**
|
|
1537
|
+
* near / box / polygon 중 정확히 하나를 지정한다.
|
|
1538
|
+
*/
|
|
1531
1539
|
interface GeoQuery {
|
|
1532
1540
|
near?: GeoNear;
|
|
1533
|
-
|
|
1541
|
+
box?: GeoBoundingBox;
|
|
1534
1542
|
polygon?: GeoPolygon;
|
|
1535
1543
|
}
|
|
1536
1544
|
interface GeoResult {
|
|
@@ -2951,6 +2959,21 @@ interface RealtimeConnectOptions {
|
|
|
2951
2959
|
timeout?: number;
|
|
2952
2960
|
/** 디버그 로깅 활성화 (기본: false) */
|
|
2953
2961
|
debug?: boolean;
|
|
2962
|
+
/**
|
|
2963
|
+
* WebSocket 핸드셰이크가 실패할 때의 fallback transport (기본: `'sse'`).
|
|
2964
|
+
*
|
|
2965
|
+
* 일부 네트워크(특정 가정용 ISP/기업 프록시/미들박스)는 HTTPS 는 통과시키면서
|
|
2966
|
+
* WebSocket upgrade 만 차단한다. 이 경우 `'sse'` 이면 `connect()` 가 reject 하지 않고
|
|
2967
|
+
* **degraded(SSE) 모드로 resolve** 하며, 이후 `stream()` 호출은 자동으로 HTTP SSE
|
|
2968
|
+
* (`/v1/public/ai/chat/stream`) 로 흘러 AI 스트리밍이 계속 동작한다 (앱 코드 변경 불필요).
|
|
2969
|
+
*
|
|
2970
|
+
* SSE 는 단방향(server→client)이므로 fallback 모드에서는 AI `stream()` 만 지원되고
|
|
2971
|
+
* presence/typing/subscribe/sendMessage 같은 양방향 기능은 명시적 에러를 던진다.
|
|
2972
|
+
* 현재 활성 transport 는 `cb.realtime.transport` 로 확인할 수 있다.
|
|
2973
|
+
*
|
|
2974
|
+
* `'none'` 이면 기존처럼 WS 실패 시 `connect()` 가 reject 한다.
|
|
2975
|
+
*/
|
|
2976
|
+
fallback?: 'sse' | 'none';
|
|
2954
2977
|
}
|
|
2955
2978
|
/** 이벤트 핸들러 타입 */
|
|
2956
2979
|
type MessageHandler<T = unknown> = (message: RealtimeMessage<T>) => void;
|
|
@@ -3171,10 +3194,26 @@ declare class RealtimeAPI {
|
|
|
3171
3194
|
private clientId;
|
|
3172
3195
|
private userId?;
|
|
3173
3196
|
private _appId;
|
|
3197
|
+
/**
|
|
3198
|
+
* 현재 활성 transport.
|
|
3199
|
+
* - `'ws'`: WebSocket 정상 연결
|
|
3200
|
+
* - `'sse'`: WS 핸드셰이크 실패로 HTTP SSE fallback 모드 (AI `stream()` 만 지원)
|
|
3201
|
+
* - `null`: 미연결
|
|
3202
|
+
*/
|
|
3203
|
+
private activeTransport;
|
|
3204
|
+
/** SSE fallback 모드 활성 여부. true 면 백그라운드 WS 재연결 머신을 정지한다. */
|
|
3205
|
+
private sseFallbackActive;
|
|
3206
|
+
/** SSE fallback 스트림의 AbortController (sessionId → controller) — stop()/disconnect() 에서 중단용 */
|
|
3207
|
+
private sseSessions;
|
|
3174
3208
|
/** 현재 연결 ID */
|
|
3175
3209
|
get connectionId(): string | null;
|
|
3176
3210
|
/** 현재 연결된 앱 ID */
|
|
3177
3211
|
get appId(): string | null;
|
|
3212
|
+
/**
|
|
3213
|
+
* 현재 활성 transport (`'ws'` | `'sse'` | `null`).
|
|
3214
|
+
* `'sse'` 이면 WS 가 차단되어 fallback 모드로 동작 중이며 AI `stream()` 만 가능하다.
|
|
3215
|
+
*/
|
|
3216
|
+
get transport(): 'ws' | 'sse' | null;
|
|
3178
3217
|
private options;
|
|
3179
3218
|
private retryCount;
|
|
3180
3219
|
private pendingRequests;
|
|
@@ -3195,6 +3234,11 @@ declare class RealtimeAPI {
|
|
|
3195
3234
|
* - userId: 사용자 식별자 (표시용)
|
|
3196
3235
|
*/
|
|
3197
3236
|
connect(options?: RealtimeConnectOptions): Promise<void>;
|
|
3237
|
+
/**
|
|
3238
|
+
* SSE fallback 모드로 전환한다. WS 는 사용 불가하지만 state 는 'connected' 로 두어
|
|
3239
|
+
* (degraded) AI stream() 이 SSE 로 동작하게 한다. 백그라운드 WS 재연결 머신은 정지한다.
|
|
3240
|
+
*/
|
|
3241
|
+
private activateSseFallback;
|
|
3198
3242
|
/**
|
|
3199
3243
|
* 연결 해제
|
|
3200
3244
|
*/
|
|
@@ -3251,6 +3295,17 @@ declare class RealtimeAPI {
|
|
|
3251
3295
|
* ```
|
|
3252
3296
|
*/
|
|
3253
3297
|
stream(messages: StreamMessage[], handlers: StreamHandlers, options?: StreamOptions): Promise<StreamSession>;
|
|
3298
|
+
/** WebSocket 으로 AI 스트리밍 (기본 경로) */
|
|
3299
|
+
private streamViaWS;
|
|
3300
|
+
/**
|
|
3301
|
+
* HTTP SSE (`/v1/public/ai/chat/stream`) 로 AI 스트리밍 — WS 가 차단된 네트워크용 fallback.
|
|
3302
|
+
*
|
|
3303
|
+
* SSE 는 단방향이라 WS 의 `StreamDoneData` 토큰 카운트(total/prompt)를 받지 못하므로
|
|
3304
|
+
* `totalTokens`/`promptTokens` 는 0 으로 채워진다(`fullText`/`duration` 은 정확). `mcpGroup`
|
|
3305
|
+
* (MCP 도구) 은 SSE fallback 에서 미지원 — 지정 시 무시되고 도구 없이 스트리밍한다.
|
|
3306
|
+
*/
|
|
3307
|
+
private streamViaSSE;
|
|
3308
|
+
private runSseStream;
|
|
3254
3309
|
/**
|
|
3255
3310
|
* 스트리밍 중지
|
|
3256
3311
|
*/
|
|
@@ -3438,6 +3493,11 @@ declare class RealtimeAPI {
|
|
|
3438
3493
|
* 재연결 성공 후 호출됩니다.
|
|
3439
3494
|
*/
|
|
3440
3495
|
private restoreSubscriptions;
|
|
3496
|
+
/**
|
|
3497
|
+
* 양방향(WS 전용) 기능을 SSE fallback 모드에서 호출하면 명확한 에러를 던진다.
|
|
3498
|
+
* SSE 는 단방향이라 presence/typing/subscribe/sendMessage 를 지원하지 못한다.
|
|
3499
|
+
*/
|
|
3500
|
+
private assertBidirectional;
|
|
3441
3501
|
private sendRequest;
|
|
3442
3502
|
private sendRaw;
|
|
3443
3503
|
private notifyStateChange;
|
|
@@ -8890,4 +8950,4 @@ declare class ConnectBase {
|
|
|
8890
8950
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8891
8951
|
}
|
|
8892
8952
|
|
|
8893
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type
|
|
8953
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type 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 UpdateDocumentRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type VideoListOptions, type VideoListResponse, VideoProcessingError, type VideoQuality, type VideoStatus, type VideoStorage, type VideoStorageListResponse, type VideoVisibility, type VoiceChannel, type VoiceMember, type WaitOptions, type WatchHistoryItem, type WebPushSubscription, type WebRTCConnectOptions, type WebRTCConnectionState, type WebRTCMode, type WhereCondition, type WhereOperator, ConnectBase as default, detectInAppBrowser, escapeToExternalBrowser, isWebTransportSupported, toCreateRoomWire };
|
package/dist/index.d.ts
CHANGED
|
@@ -1510,27 +1510,35 @@ interface SearchResponse {
|
|
|
1510
1510
|
total_count: number;
|
|
1511
1511
|
query: string;
|
|
1512
1512
|
}
|
|
1513
|
+
/**
|
|
1514
|
+
* 지리 좌표. 서버는 `{ lat, lng }`, `{ latitude, longitude }`, `[lng, lat]` 세 형식을 모두 받지만
|
|
1515
|
+
* SDK 는 `{ lat, lng }` 를 표준으로 사용한다.
|
|
1516
|
+
*/
|
|
1513
1517
|
interface GeoPoint {
|
|
1514
|
-
|
|
1515
|
-
|
|
1518
|
+
lat: number;
|
|
1519
|
+
lng: number;
|
|
1516
1520
|
}
|
|
1517
1521
|
interface GeoNear {
|
|
1518
1522
|
center: GeoPoint;
|
|
1523
|
+
/** 최대 거리 (미터) */
|
|
1519
1524
|
max_distance: number;
|
|
1525
|
+
/** 최소 거리 (미터, 도넛 검색) */
|
|
1520
1526
|
min_distance?: number;
|
|
1521
1527
|
}
|
|
1522
|
-
interface
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
top_right: GeoPoint;
|
|
1526
|
-
};
|
|
1528
|
+
interface GeoBoundingBox {
|
|
1529
|
+
bottom_left: GeoPoint;
|
|
1530
|
+
top_right: GeoPoint;
|
|
1527
1531
|
}
|
|
1528
1532
|
interface GeoPolygon {
|
|
1533
|
+
/** 폴리곤 꼭지점 (최소 3개) */
|
|
1529
1534
|
points: GeoPoint[];
|
|
1530
1535
|
}
|
|
1536
|
+
/**
|
|
1537
|
+
* near / box / polygon 중 정확히 하나를 지정한다.
|
|
1538
|
+
*/
|
|
1531
1539
|
interface GeoQuery {
|
|
1532
1540
|
near?: GeoNear;
|
|
1533
|
-
|
|
1541
|
+
box?: GeoBoundingBox;
|
|
1534
1542
|
polygon?: GeoPolygon;
|
|
1535
1543
|
}
|
|
1536
1544
|
interface GeoResult {
|
|
@@ -2951,6 +2959,21 @@ interface RealtimeConnectOptions {
|
|
|
2951
2959
|
timeout?: number;
|
|
2952
2960
|
/** 디버그 로깅 활성화 (기본: false) */
|
|
2953
2961
|
debug?: boolean;
|
|
2962
|
+
/**
|
|
2963
|
+
* WebSocket 핸드셰이크가 실패할 때의 fallback transport (기본: `'sse'`).
|
|
2964
|
+
*
|
|
2965
|
+
* 일부 네트워크(특정 가정용 ISP/기업 프록시/미들박스)는 HTTPS 는 통과시키면서
|
|
2966
|
+
* WebSocket upgrade 만 차단한다. 이 경우 `'sse'` 이면 `connect()` 가 reject 하지 않고
|
|
2967
|
+
* **degraded(SSE) 모드로 resolve** 하며, 이후 `stream()` 호출은 자동으로 HTTP SSE
|
|
2968
|
+
* (`/v1/public/ai/chat/stream`) 로 흘러 AI 스트리밍이 계속 동작한다 (앱 코드 변경 불필요).
|
|
2969
|
+
*
|
|
2970
|
+
* SSE 는 단방향(server→client)이므로 fallback 모드에서는 AI `stream()` 만 지원되고
|
|
2971
|
+
* presence/typing/subscribe/sendMessage 같은 양방향 기능은 명시적 에러를 던진다.
|
|
2972
|
+
* 현재 활성 transport 는 `cb.realtime.transport` 로 확인할 수 있다.
|
|
2973
|
+
*
|
|
2974
|
+
* `'none'` 이면 기존처럼 WS 실패 시 `connect()` 가 reject 한다.
|
|
2975
|
+
*/
|
|
2976
|
+
fallback?: 'sse' | 'none';
|
|
2954
2977
|
}
|
|
2955
2978
|
/** 이벤트 핸들러 타입 */
|
|
2956
2979
|
type MessageHandler<T = unknown> = (message: RealtimeMessage<T>) => void;
|
|
@@ -3171,10 +3194,26 @@ declare class RealtimeAPI {
|
|
|
3171
3194
|
private clientId;
|
|
3172
3195
|
private userId?;
|
|
3173
3196
|
private _appId;
|
|
3197
|
+
/**
|
|
3198
|
+
* 현재 활성 transport.
|
|
3199
|
+
* - `'ws'`: WebSocket 정상 연결
|
|
3200
|
+
* - `'sse'`: WS 핸드셰이크 실패로 HTTP SSE fallback 모드 (AI `stream()` 만 지원)
|
|
3201
|
+
* - `null`: 미연결
|
|
3202
|
+
*/
|
|
3203
|
+
private activeTransport;
|
|
3204
|
+
/** SSE fallback 모드 활성 여부. true 면 백그라운드 WS 재연결 머신을 정지한다. */
|
|
3205
|
+
private sseFallbackActive;
|
|
3206
|
+
/** SSE fallback 스트림의 AbortController (sessionId → controller) — stop()/disconnect() 에서 중단용 */
|
|
3207
|
+
private sseSessions;
|
|
3174
3208
|
/** 현재 연결 ID */
|
|
3175
3209
|
get connectionId(): string | null;
|
|
3176
3210
|
/** 현재 연결된 앱 ID */
|
|
3177
3211
|
get appId(): string | null;
|
|
3212
|
+
/**
|
|
3213
|
+
* 현재 활성 transport (`'ws'` | `'sse'` | `null`).
|
|
3214
|
+
* `'sse'` 이면 WS 가 차단되어 fallback 모드로 동작 중이며 AI `stream()` 만 가능하다.
|
|
3215
|
+
*/
|
|
3216
|
+
get transport(): 'ws' | 'sse' | null;
|
|
3178
3217
|
private options;
|
|
3179
3218
|
private retryCount;
|
|
3180
3219
|
private pendingRequests;
|
|
@@ -3195,6 +3234,11 @@ declare class RealtimeAPI {
|
|
|
3195
3234
|
* - userId: 사용자 식별자 (표시용)
|
|
3196
3235
|
*/
|
|
3197
3236
|
connect(options?: RealtimeConnectOptions): Promise<void>;
|
|
3237
|
+
/**
|
|
3238
|
+
* SSE fallback 모드로 전환한다. WS 는 사용 불가하지만 state 는 'connected' 로 두어
|
|
3239
|
+
* (degraded) AI stream() 이 SSE 로 동작하게 한다. 백그라운드 WS 재연결 머신은 정지한다.
|
|
3240
|
+
*/
|
|
3241
|
+
private activateSseFallback;
|
|
3198
3242
|
/**
|
|
3199
3243
|
* 연결 해제
|
|
3200
3244
|
*/
|
|
@@ -3251,6 +3295,17 @@ declare class RealtimeAPI {
|
|
|
3251
3295
|
* ```
|
|
3252
3296
|
*/
|
|
3253
3297
|
stream(messages: StreamMessage[], handlers: StreamHandlers, options?: StreamOptions): Promise<StreamSession>;
|
|
3298
|
+
/** WebSocket 으로 AI 스트리밍 (기본 경로) */
|
|
3299
|
+
private streamViaWS;
|
|
3300
|
+
/**
|
|
3301
|
+
* HTTP SSE (`/v1/public/ai/chat/stream`) 로 AI 스트리밍 — WS 가 차단된 네트워크용 fallback.
|
|
3302
|
+
*
|
|
3303
|
+
* SSE 는 단방향이라 WS 의 `StreamDoneData` 토큰 카운트(total/prompt)를 받지 못하므로
|
|
3304
|
+
* `totalTokens`/`promptTokens` 는 0 으로 채워진다(`fullText`/`duration` 은 정확). `mcpGroup`
|
|
3305
|
+
* (MCP 도구) 은 SSE fallback 에서 미지원 — 지정 시 무시되고 도구 없이 스트리밍한다.
|
|
3306
|
+
*/
|
|
3307
|
+
private streamViaSSE;
|
|
3308
|
+
private runSseStream;
|
|
3254
3309
|
/**
|
|
3255
3310
|
* 스트리밍 중지
|
|
3256
3311
|
*/
|
|
@@ -3438,6 +3493,11 @@ declare class RealtimeAPI {
|
|
|
3438
3493
|
* 재연결 성공 후 호출됩니다.
|
|
3439
3494
|
*/
|
|
3440
3495
|
private restoreSubscriptions;
|
|
3496
|
+
/**
|
|
3497
|
+
* 양방향(WS 전용) 기능을 SSE fallback 모드에서 호출하면 명확한 에러를 던진다.
|
|
3498
|
+
* SSE 는 단방향이라 presence/typing/subscribe/sendMessage 를 지원하지 못한다.
|
|
3499
|
+
*/
|
|
3500
|
+
private assertBidirectional;
|
|
3441
3501
|
private sendRequest;
|
|
3442
3502
|
private sendRaw;
|
|
3443
3503
|
private notifyStateChange;
|
|
@@ -8890,4 +8950,4 @@ declare class ConnectBase {
|
|
|
8890
8950
|
updateConfig(config: Partial<ConnectBaseConfig>): void;
|
|
8891
8951
|
}
|
|
8892
8952
|
|
|
8893
|
-
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type
|
|
8953
|
+
export { AIAPI, type AIChatRequest, type AIChatResponse, type AIChatStreamCallbacks, type AIChatStreamOptions, type AIMessage, type AISource, type AIStreamChunk, type AITool, type AIToolCall, type AIToolEvent, AUTH_MEMBER_ID_TOKEN, type AckMessagesRequest, type AdMobDailyReport, type AdMobReportResponse, type AdMobReportSummary, type AdReportResponse, type AdReportSummary, type AdmobConnectionInfo, AdsAPI, type AdsenseConnectionInfo, type AgenticSearchProgress, type AggregateResult, type AggregateStage, type AnalyticsConfig, type AnalyticsEvent, ApiError, type ApiErrorDetail, type AppStatsResponse, type ArchivePolicy, type AtomicOperator, type AtomicOperatorType, AuthError, type AuthSettingsResponse, type BackupInfo, type BatchOperation, type BatchOperationResult, type BatchSetPageMetaRequest, type BatchWriteResult, type BillingCycle, type BillingKeyResponse, type BiometricInfo, type BiometricResult, type BulkCreateResponse, type BulkError, type CPUInfo, type CancelPaymentRequest, type CancelPaymentResponse, type CancelSubscriptionRequest, type CategoryInfo, type Channel, type ChannelMembership, type ChargeWithBillingKeyRequest, type ChargeWithBillingKeyResponse, type ChatMessage, type ClientMessage, type ColumnSchema, type CommentListResponse, type CompleteUploadRequest, type CompleteUploadResponse, type ConfirmBillingKeyRequest, type ConfirmPaymentRequest, type ConfirmPaymentResponse, ConnectBase, type ConnectBaseConfig, type ConnectedData, type ConnectionState, type ConsentOptions, type ConsumeMessagesResponse, type ConsumeOptions, type CopyTableRequest, type CopyTableResponse, type CreateBackupRequest, type CreateChannelRequest, type CreateCheckoutSessionRequest, type CreateCheckoutSessionResponse, type CreateColumnRequest, type CreateDataRequest, type CreateDocumentRequest, type CreateFolderRequest, type CreateFolderResponse, type CreateGeoIndexRequest, type CreateIndexRequest, type CreateLobbyRequest, type CreatePlaylistRequest, type CreatePublicKeyRequest, type CreatePublicKeyResponse, type CreateRelationRequest, type CreateRoomResult, type CreateSearchIndexRequest, type CreateSecurityRuleRequest, type CreateSubscriptionRequest, type CreateTableRequest, type CreateTriggerRequest, type CreateVideoStorageRequest, type DailyReport, type DataItem, type DataType, type DatabaseChange, type DatabaseChangeMessage, type DatabaseChangeType, type DatabaseRealtimeConnectOptions, type DatabaseRealtimeFilter, type DatabaseRealtimeHandlers, type DatabaseRealtimeSubscription, type DatabaseSnapshot, type DatabaseSnapshotMessage, type DatabaseSubscribeOptions, type DeleteWhereResponse, type DeviceInfo, type DocumentResponse, type EnabledProviderInfo, type EnabledProvidersResponse, EndpointAPI, type EndpointCallInit, type ErrorHandler, type ErrorMessage, type ErrorReport, type ErrorTrackerConfig, type ErrorType, type ExportDataRequest, type ExportDataResponse, type FetchDataResponse, type FetchFilesResponse, type FetchPublicKeysResponse, type FileItem, type FileStats, GameAPI, type GameAction, type GameClientConfig, type GameConfig, GameConfigAPI, type GameConfigPatch, type GameConnectionState, type GameConnectionStatus, type GameDelta, GameError, type GameErrorCode, type GameEventHandlers, type GamePlayer, GameRoom, type GameRoomConfig, type GameRoomInfo, GameRoomTransport, type GameServerMessage, type GameServerMessageType, type GameState, type GameTransportConfig, type GenerateUploadURLByPathRequest, type GenerateUploadURLRequest, type GenerateUploadURLResponse, type GeoBoundingBox, type GeoIndex, type GeoNear, type GeoPoint, type GeoPolygon, type GeoQuery, type GeoResponse, type GeoResult, type GetAuthorizationURLResponse, type GetFileByPathResponse, type GoogleConnectionStatus, type GuestMemberSignInResponse, GuestSessionConflictError, type HistoryResponse, type ICEServer, type ICEServersResponse, type ImageResult, type ImportDataRequest, type ImportDataResponse, type IndexAnalysis, type IndexRecommendation, type InitUploadResponse, type InvokeFunctionRequest, type InvokeFunctionResponse, type IssueBillingKeyRequest, type IssueBillingKeyResponse, type JoinQueueRequest, type JoinRoomRequest, type JoinRoomResponse, type KnowledgeSearchRequest, type KnowledgeSearchResponse, type KnowledgeSearchResult, type LeaderboardEntry, type LeaderboardListResponse, type LeaderboardScoreEntry, type LifecyclePolicy, type ListBillingKeysResponse, type ListDocumentsResponse, type ListPageMetasOptions, type ListPageMetasResponse, type ListSubscriptionPaymentsRequest, type ListSubscriptionPaymentsResponse, type ListSubscriptionsRequest, type ListSubscriptionsResponse, type LobbyInfo, type LobbyInvite, type LobbyMember, type LobbyVisibility, type MatchResult, type MatchmakingTicket, type MatchqueueListResponse, type MatchqueueTicket, type MemberInfoResponse, type MemberSignInRequest, type MemberSignInResponse, type MemberSignUpRequest, type MemberSignUpResponse, type MembershipTier, type MemoryInfo, type MessageHandler, type MigrateDataRequest, type MigrateDataResponse, type MoveFileRequest, type NackMessageRequest, NativeAPI, type OAuthCallbackResponse, type OAuthProvider, type OpenDialogOptions, type OpenDialogResult, type PageMetaResponse, type PartyInfo, type PartyInvite, type PartyMember, type PauseSubscriptionRequest, type PaymentDetail, type PaymentProvider, type PaymentStatus, type PeerInfo, type Platform, type PlayerEvent, type PlayerStats, type Playlist, type PlaylistItem, type PollUntilOptions, type PongMessage, type PopulateOption, type Position, type PreparePaymentRequest, type PreparePaymentResponse, type PresenceChangeHandler, type PresenceInfo, type PresenceSetOptions, type PresenceStatus, type PresenceStatusResult, type PublicKeyItem, type PublishBatchRequest, type PublishBatchResponse, type PublishMessageRequest, type PublishMessageResponse, type PushPlatform, type QualityProgress, type QueryOptions, type QueueInfoResponse, type QueueMessage, type ReadReceiptHandler, type ReadReceiptInfo, type RealtimeConnectOptions, type RealtimeMessage, type RegisterDeviceRequest, type RelationType, type RenameFileRequest, type RenameFileResponse, type ReplayHighlight, type ReplayInfo, type ReplayPlayerInfo, type RestoreBackupRequest, type RestoreBackupResponse, type RetentionPolicy, type RoomInfo, type RoomStaleMessage, type 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 UpdateDocumentRequest, type UpdateLobbyRequest, type UpdatePublicKeyRequest, type UpdatePublicKeyResponse, type UpdateSecurityRuleRequest, type UpdateSubscriptionRequest, type UpdateTriggerRequest, type UpdateVideoRequest, type UpdateVideoStorageRequest, type UploadByPathOptions, type UploadFileResponse, type UploadOptions, type UploadProgress, type VAPIDPublicKeyResponse, type ValidateResponse, type ValidationSchema, type ValidationSchemaField, type ValidationStateTransitions, type Video, type VideoComment, type VideoListOptions, type VideoListResponse, VideoProcessingError, type VideoQuality, type VideoStatus, type VideoStorage, type VideoStorageListResponse, type VideoVisibility, type VoiceChannel, type VoiceMember, type WaitOptions, type WatchHistoryItem, type WebPushSubscription, type WebRTCConnectOptions, type WebRTCConnectionState, type WebRTCMode, type WhereCondition, type WhereOperator, ConnectBase as default, detectInAppBrowser, escapeToExternalBrowser, isWebTransportSupported, toCreateRoomWire };
|