k2-im 0.2.1 → 0.2.2
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/chat-kit-pinia.d.ts +41 -0
- package/dist/chat-kit.d.ts +41 -0
- package/dist/index.d.ts +42 -1
- package/dist/modules/im-core/src/connection/client-activity.js +1 -0
- package/dist/modules/im-core/src/connection/connection-manager.js +1 -1
- package/dist/modules/im-core/src/message-flow/receive/channel-receive-handlers.js +1 -1
- package/dist/modules/im-protocol/src/protobuf/gen/im.login_pb.js +1 -1
- package/dist/modules/im-protocol/src/protobuf/gen/im.pub_pb.js +1 -1
- package/dist/modules/im-protocol/src/protobuf/registry.js +1 -1
- package/dist/modules/im-sdk/src/create-im-client.js +1 -1
- package/dist/modules/im-sdk/src/runtime/session-runtime.js +1 -1
- package/dist/sdk.d.ts +42 -1
- package/package.json +1 -1
package/dist/chat-kit-pinia.d.ts
CHANGED
|
@@ -1600,6 +1600,45 @@ interface ImChannelJoinApplicationPort {
|
|
|
1600
1600
|
ignoreJoinApplication: (applicationId: string) => Promise<void>;
|
|
1601
1601
|
}
|
|
1602
1602
|
|
|
1603
|
+
/** 宿主提供的页面可见状态;Core 不读取或监听页面资源。 */
|
|
1604
|
+
type ImClientVisibility = 'visible' | 'hidden';
|
|
1605
|
+
/** 只记录上报结果,不含登录凭据或推送订阅。synced 仅表示收到匹配的服务端确认。 */
|
|
1606
|
+
interface ImClientActivitySnapshot {
|
|
1607
|
+
/** idle 未启用;pending 等待认证;syncing 等待服务端回复;synced 已确认;error 失败;disposed 已释放。 */
|
|
1608
|
+
status: 'idle' | 'pending' | 'syncing' | 'synced' | 'error' | 'disposed';
|
|
1609
|
+
/** 最近一次需要报告的页面状态;未启用或已释放时为空。 */
|
|
1610
|
+
visibility?: ImClientVisibility;
|
|
1611
|
+
/** 本连接内的上报序号,使用字符串避免 uint64 丢失精度。 */
|
|
1612
|
+
sequence?: string;
|
|
1613
|
+
/** 成功回复给出的前台有效秒数;不表示该页面接下来一直可见。 */
|
|
1614
|
+
foregroundTtlSeconds?: number;
|
|
1615
|
+
/** 成功回复中的服务端毫秒时间,用字符串保留 uint64 精度。 */
|
|
1616
|
+
serverTimeMs?: string;
|
|
1617
|
+
/** 仅 error 状态存在:等待超时、回复无效、服务端拒绝或发送失败。 */
|
|
1618
|
+
error?: 'timeout' | 'invalid-ack' | 'server-rejected' | 'send-failed';
|
|
1619
|
+
/** 仅服务端明确拒绝时提供的错误编号。 */
|
|
1620
|
+
serverCode?: number;
|
|
1621
|
+
}
|
|
1622
|
+
/** 页面状态上报默认关闭;宿主明确设置状态后,连接恢复与前台心跳才会自动上报。 */
|
|
1623
|
+
interface ImClientActivityApi {
|
|
1624
|
+
/**
|
|
1625
|
+
* 设置需要报告的页面状态;未认证时保存,认证完成后发送。
|
|
1626
|
+
* 账号须为当前账号的正整数编号;账号或状态无效、实例已释放时同步抛错。
|
|
1627
|
+
* @example
|
|
1628
|
+
* client.activity.setVisibility({ userId: '123', visibility: 'hidden' });
|
|
1629
|
+
*/
|
|
1630
|
+
setVisibility: (input: {
|
|
1631
|
+
userId: string;
|
|
1632
|
+
visibility: ImClientVisibility;
|
|
1633
|
+
}) => void;
|
|
1634
|
+
/** 停止自动报告并取消待处理请求;这不会向服务端发送后台状态。 */
|
|
1635
|
+
clear: () => void;
|
|
1636
|
+
/** 读取当前报告结果的副本,修改返回值不会改变 SDK 状态。 */
|
|
1637
|
+
snapshot: () => ImClientActivitySnapshot;
|
|
1638
|
+
/** 立即提供当前结果,之后通知变化;返回停止监听的函数。监听器异常通过 SDK 错误事件报告。 */
|
|
1639
|
+
subscribe: (listener: (snapshot: ImClientActivitySnapshot) => void) => () => void;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1603
1642
|
interface ImLoginContext {
|
|
1604
1643
|
userId: string;
|
|
1605
1644
|
token: string;
|
|
@@ -6712,6 +6751,8 @@ interface AdvancedConversationsApi extends ImConversationsApi, ImConversationBac
|
|
|
6712
6751
|
interface ImProductClient {
|
|
6713
6752
|
/** 当前设备推送订阅的服务端绑定与同步状态。 */
|
|
6714
6753
|
readonly push: ImPushApi;
|
|
6754
|
+
/** 宿主显式报告页面可见状态;默认未启用,不影响未接入此协议的客户端。 */
|
|
6755
|
+
readonly activity: ImClientActivityApi;
|
|
6715
6756
|
readonly session: ImSessionApi;
|
|
6716
6757
|
readonly capabilities: ImConversationCapabilitiesApi;
|
|
6717
6758
|
readonly conversations: ImConversationListApi;
|
package/dist/chat-kit.d.ts
CHANGED
|
@@ -1597,6 +1597,45 @@ interface ImChannelJoinApplicationPort {
|
|
|
1597
1597
|
ignoreJoinApplication: (applicationId: string) => Promise<void>;
|
|
1598
1598
|
}
|
|
1599
1599
|
|
|
1600
|
+
/** 宿主提供的页面可见状态;Core 不读取或监听页面资源。 */
|
|
1601
|
+
type ImClientVisibility = 'visible' | 'hidden';
|
|
1602
|
+
/** 只记录上报结果,不含登录凭据或推送订阅。synced 仅表示收到匹配的服务端确认。 */
|
|
1603
|
+
interface ImClientActivitySnapshot {
|
|
1604
|
+
/** idle 未启用;pending 等待认证;syncing 等待服务端回复;synced 已确认;error 失败;disposed 已释放。 */
|
|
1605
|
+
status: 'idle' | 'pending' | 'syncing' | 'synced' | 'error' | 'disposed';
|
|
1606
|
+
/** 最近一次需要报告的页面状态;未启用或已释放时为空。 */
|
|
1607
|
+
visibility?: ImClientVisibility;
|
|
1608
|
+
/** 本连接内的上报序号,使用字符串避免 uint64 丢失精度。 */
|
|
1609
|
+
sequence?: string;
|
|
1610
|
+
/** 成功回复给出的前台有效秒数;不表示该页面接下来一直可见。 */
|
|
1611
|
+
foregroundTtlSeconds?: number;
|
|
1612
|
+
/** 成功回复中的服务端毫秒时间,用字符串保留 uint64 精度。 */
|
|
1613
|
+
serverTimeMs?: string;
|
|
1614
|
+
/** 仅 error 状态存在:等待超时、回复无效、服务端拒绝或发送失败。 */
|
|
1615
|
+
error?: 'timeout' | 'invalid-ack' | 'server-rejected' | 'send-failed';
|
|
1616
|
+
/** 仅服务端明确拒绝时提供的错误编号。 */
|
|
1617
|
+
serverCode?: number;
|
|
1618
|
+
}
|
|
1619
|
+
/** 页面状态上报默认关闭;宿主明确设置状态后,连接恢复与前台心跳才会自动上报。 */
|
|
1620
|
+
interface ImClientActivityApi {
|
|
1621
|
+
/**
|
|
1622
|
+
* 设置需要报告的页面状态;未认证时保存,认证完成后发送。
|
|
1623
|
+
* 账号须为当前账号的正整数编号;账号或状态无效、实例已释放时同步抛错。
|
|
1624
|
+
* @example
|
|
1625
|
+
* client.activity.setVisibility({ userId: '123', visibility: 'hidden' });
|
|
1626
|
+
*/
|
|
1627
|
+
setVisibility: (input: {
|
|
1628
|
+
userId: string;
|
|
1629
|
+
visibility: ImClientVisibility;
|
|
1630
|
+
}) => void;
|
|
1631
|
+
/** 停止自动报告并取消待处理请求;这不会向服务端发送后台状态。 */
|
|
1632
|
+
clear: () => void;
|
|
1633
|
+
/** 读取当前报告结果的副本,修改返回值不会改变 SDK 状态。 */
|
|
1634
|
+
snapshot: () => ImClientActivitySnapshot;
|
|
1635
|
+
/** 立即提供当前结果,之后通知变化;返回停止监听的函数。监听器异常通过 SDK 错误事件报告。 */
|
|
1636
|
+
subscribe: (listener: (snapshot: ImClientActivitySnapshot) => void) => () => void;
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1600
1639
|
interface ImLoginContext {
|
|
1601
1640
|
userId: string;
|
|
1602
1641
|
token: string;
|
|
@@ -6822,6 +6861,8 @@ interface AdvancedConversationsApi extends ImConversationsApi, ImConversationBac
|
|
|
6822
6861
|
interface ImProductClient {
|
|
6823
6862
|
/** 当前设备推送订阅的服务端绑定与同步状态。 */
|
|
6824
6863
|
readonly push: ImPushApi;
|
|
6864
|
+
/** 宿主显式报告页面可见状态;默认未启用,不影响未接入此协议的客户端。 */
|
|
6865
|
+
readonly activity: ImClientActivityApi;
|
|
6825
6866
|
readonly session: ImSessionApi;
|
|
6826
6867
|
readonly capabilities: ImConversationCapabilitiesApi;
|
|
6827
6868
|
readonly conversations: ImConversationListApi;
|
package/dist/index.d.ts
CHANGED
|
@@ -1638,6 +1638,45 @@ interface ImChannelJoinApplicationPort {
|
|
|
1638
1638
|
ignoreJoinApplication: (applicationId: string) => Promise<void>;
|
|
1639
1639
|
}
|
|
1640
1640
|
|
|
1641
|
+
/** 宿主提供的页面可见状态;Core 不读取或监听页面资源。 */
|
|
1642
|
+
type ImClientVisibility = 'visible' | 'hidden';
|
|
1643
|
+
/** 只记录上报结果,不含登录凭据或推送订阅。synced 仅表示收到匹配的服务端确认。 */
|
|
1644
|
+
interface ImClientActivitySnapshot {
|
|
1645
|
+
/** idle 未启用;pending 等待认证;syncing 等待服务端回复;synced 已确认;error 失败;disposed 已释放。 */
|
|
1646
|
+
status: 'idle' | 'pending' | 'syncing' | 'synced' | 'error' | 'disposed';
|
|
1647
|
+
/** 最近一次需要报告的页面状态;未启用或已释放时为空。 */
|
|
1648
|
+
visibility?: ImClientVisibility;
|
|
1649
|
+
/** 本连接内的上报序号,使用字符串避免 uint64 丢失精度。 */
|
|
1650
|
+
sequence?: string;
|
|
1651
|
+
/** 成功回复给出的前台有效秒数;不表示该页面接下来一直可见。 */
|
|
1652
|
+
foregroundTtlSeconds?: number;
|
|
1653
|
+
/** 成功回复中的服务端毫秒时间,用字符串保留 uint64 精度。 */
|
|
1654
|
+
serverTimeMs?: string;
|
|
1655
|
+
/** 仅 error 状态存在:等待超时、回复无效、服务端拒绝或发送失败。 */
|
|
1656
|
+
error?: 'timeout' | 'invalid-ack' | 'server-rejected' | 'send-failed';
|
|
1657
|
+
/** 仅服务端明确拒绝时提供的错误编号。 */
|
|
1658
|
+
serverCode?: number;
|
|
1659
|
+
}
|
|
1660
|
+
/** 页面状态上报默认关闭;宿主明确设置状态后,连接恢复与前台心跳才会自动上报。 */
|
|
1661
|
+
interface ImClientActivityApi {
|
|
1662
|
+
/**
|
|
1663
|
+
* 设置需要报告的页面状态;未认证时保存,认证完成后发送。
|
|
1664
|
+
* 账号须为当前账号的正整数编号;账号或状态无效、实例已释放时同步抛错。
|
|
1665
|
+
* @example
|
|
1666
|
+
* client.activity.setVisibility({ userId: '123', visibility: 'hidden' });
|
|
1667
|
+
*/
|
|
1668
|
+
setVisibility: (input: {
|
|
1669
|
+
userId: string;
|
|
1670
|
+
visibility: ImClientVisibility;
|
|
1671
|
+
}) => void;
|
|
1672
|
+
/** 停止自动报告并取消待处理请求;这不会向服务端发送后台状态。 */
|
|
1673
|
+
clear: () => void;
|
|
1674
|
+
/** 读取当前报告结果的副本,修改返回值不会改变 SDK 状态。 */
|
|
1675
|
+
snapshot: () => ImClientActivitySnapshot;
|
|
1676
|
+
/** 立即提供当前结果,之后通知变化;返回停止监听的函数。监听器异常通过 SDK 错误事件报告。 */
|
|
1677
|
+
subscribe: (listener: (snapshot: ImClientActivitySnapshot) => void) => () => void;
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1641
1680
|
interface ImLoginContext {
|
|
1642
1681
|
userId: string;
|
|
1643
1682
|
token: string;
|
|
@@ -7411,6 +7450,8 @@ interface AdvancedConversationsApi extends ImConversationsApi, ImConversationBac
|
|
|
7411
7450
|
interface ImProductClient {
|
|
7412
7451
|
/** 当前设备推送订阅的服务端绑定与同步状态。 */
|
|
7413
7452
|
readonly push: ImPushApi;
|
|
7453
|
+
/** 宿主显式报告页面可见状态;默认未启用,不影响未接入此协议的客户端。 */
|
|
7454
|
+
readonly activity: ImClientActivityApi;
|
|
7414
7455
|
readonly session: ImSessionApi;
|
|
7415
7456
|
readonly capabilities: ImConversationCapabilitiesApi;
|
|
7416
7457
|
readonly conversations: ImConversationListApi;
|
|
@@ -10945,4 +10986,4 @@ declare function resampleWaveform(data: readonly number[], targetCount: number):
|
|
|
10945
10986
|
declare function placeholderWaveform(seed: string, count: number): number[];
|
|
10946
10987
|
|
|
10947
10988
|
export { DEFAULT_EMOJI_ASSET_BASE, DEFAULT_LOADING_MINIMUM_VISIBLE_MS, DEFAULT_LOADING_SHOW_DELAY_MS, DEFAULT_LOCALE, EDIT_WINDOW_MS, EMOJI_CATALOG, EMOJI_GAME_DICE_STABLE_KEY, EMOJI_GAME_RPS_STABLE_KEY, EMOJI_TOKEN_RE, IMAGE_MESSAGE_ACCEPT, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, MAX_BATCH_FILES, MAX_RECENT_EMOJI_COUNT, MEDIA_ALBUM_CAPTION_MAX_LENGTH, MEDIA_ALBUM_MAX_ITEMS, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_HEIGHT, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_WIDTH, MINI_PROGRAM_LANG_NUMBERS, MediaTransferError, REACTION_SUPPORTED_CONTENT_TYPES, SPIKE_STEP, UNICODE_EMOJI_CATALOG, blockReasonForChannelSession, blockReasonForChannelState, blockReasonForGroupState, blockReasonForSession, buildSessionFavoritePlainBody, calculateMediaBox, canCopyMessageImage, canEditMessage, canPinChannelMessage, canPinGroupMessage, canPinMessage, canPromoteMediaPresentationSource, canReactToMessage, canRecallMessage, canTransmit, canTransmitByType, canTransmitContent, cancelMediaUpload, captureRuntimeClientOperation, captureRuntimeOperation, channelMiniProgramRelKey, classifyGifFile, classifyMediaFile, classifyStickerImageType, countUnreadConversations, createChatRuntime, createConversationPrefetchController, createDelayedLoadingIndicator, createEmojiMatcher, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImI18n, createImResourceUploader, createImTextSearchMatcher, createLinkMatcher, createMessageImageCopySource, createNewMessageBadgeController, createSdkDiagnosticWriter, createThreadItems, createVoicePlayer, createVoiceRecordingSession, csvIncludes, decideChannelMiniProgramRelOpen, decideConversationAction, decideMemberTargetAction, decideMessageAction, detectVoiceCapabilities, emojiAssetUrl, emojiUrlByCode, extractSearchText, fetchConversationFileBatch, fetchConversationImageBatch, fetchConversationMessageBatch, fetchConversationVideoBatch, fetchConversationVoiceBatch, fetchNextConversationSearchBatch, formatChatDateSeparator, formatConversationDisplayTime, formatConversationUnreadBadge, formatFailure, formatFileSize, formatLastMessageSummary, formatMediaDuration, formatMediaPlaceholder, formatMentionAll, formatServiceText, formatSystemMessage, forward_service as forwardService, getFileExtension, getImTextSearchInitial, getImTimeCatalog, getLocalDayKey, getMessageCopyImageUrl, getMessageCopyText, hasEmojiCandidate, hasLinkCandidate, highlightSegments, isGifFile, isMessageLocateScrollProtected, isMessageTailChangeFromOlderWindowTrim, isMessageViewportMeasurable, isMessageVisibleForNewMessageBadge, isMiniProgramShowTypeOpenable, isPinnedMessageProtected, isSupportedImageFile, isVoiceStorageConfigured, loadOlderUntilBoundary, mediaBatchBudgetBytes, media_service as mediaService, mediaTransferErrorCodeOf, message_service as messageService, migrateImCachePrefix, normalizeImLocale, normalizeLinkHref, normalizeMediaUploadCredentials, parseSessionFavoriteAlbumItems, parseSessionFavoriteFileItems, parseUnicodeEmojiCode, pinnedMessage_service as pinnedMessageService, placeholderWaveform, prependRecentEmoji, profile_service as profileService, read_service as readService, refreshPrependMessageAnchorPosition, registerImCatalogOverrides, replaceInterruptedMediaFile, requiresConversationEncryption, requiresForwardTypeConfirmation, resampleWaveform, resetImCatalogOverrides, resolveBestMediaPresentationSource, resolveCenteredMessageScrollTop, resolveChannelAccess, resolveChannelMemberAvatarUrl, resolveChannelMemberDisplayName, resolveChannelMiniProgramRelIcon, resolveChannelMiniProgramRelName, resolveChannelMiniProgramRelOpenSurface, resolveChannelMiniProgramRelUrl, resolveChannelPinnedGameCopy, resolveConversationListPresentation, resolveDisplayTimestamp, resolveEmojiToken, resolveFriendDisplayName, resolveImEmojiToken, resolveImProfileAccessDestination, resolveImThreadActiveDate, resolveMediaAlbumSendContentType, resolveMediaPresentation, resolveMediaTransferPresentation, resolveMemberDisplayName, resolveMessageBodyKind, resolveMessageNotificationDecision, resolveMessageSearchPreview, resolveMessageTimelineTimestamp, resolveMiniProgramFloatLinkUrl, resolveMiniProgramGamePreviewLayout, resolveMiniProgramOpenUrl, resolvePrependMessageAnchor, resolvePrependMessageAnchorAdjustment, resolvePrependMessageAnchorPosition, resolvePublicNickname, resolveQuotedMessagePresentation, resolveSenderAvatarUrl, resolveSessionFavoriteAlbumCaption, resolveSessionFavoriteAlbumItemPreviewUrl, resolveSessionFavoriteKindFromMessage, resolveStandaloneEmojiMessage, resolveSurvivingMessageAnchorAdjustment, resolveTextSegments, resolveUnicodeEmoji, resolveVisibleChannelMiniProgramRels, resolveVisibleMessageAnchorPositions, retryMessage, runMediaSendBatch, sendAsFilesBatch, sendBlockReasonForDecision, sendMediaAlbum, sendMediaFile, sendMediaFilesBatch, sendText, sendVoice, shouldCompleteInitialViewport, shouldFillInitialHistoryViewport, shouldFollowIncomingMessage, shouldLoadNewerHistoryPage, shouldPrefetchOlderHistory, shouldRestoreMessageViewportFocus, shouldShowChatDateSeparator, shouldTrackRemoteMessageForBadge, sortChannelMiniProgramFloatingItems, sortSessions, spikeCountForDuration, sumSessionsUnread, supportsConversationMention, unicodeEmojiTextFromCode, voiceErrorCodeOf };
|
|
10948
|
-
export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CapabilityAvailability, CapabilityDecision, CapabilityReason, CenteredMessageScrollInput, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramOpenGame, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMiniProgramRelOpenDecision, ChannelMiniProgramRelOpenSurface, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilityAction, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadNavigation, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewMediaKind, ConversationListPreviewSegment, ConversationMessageApi, ConversationOpenOptions, ConversationPrefetchController, ConversationPrefetchControllerOptions, ConversationPrefetchOptions, ConversationPrefetchResult, ConversationRef, ConversationSearchCategory, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, CreateThreadItemsInput, CustomerServiceConversationCapabilities, DelayedLoadingIndicator, DelayedLoadingIndicatorOptions, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, EmojiEntry, EmojiRecentItem, EmojiSegment, ExpressionMessageOptions, FileMessageOptions, FormatFailureContext, FormatLastMessageContext, FormatMediaPlaceholderContext, FormatServiceTextContext, FormatSystemMessageContext, FormatTimeDisplayContext, ForwardCommandHooks, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifFileClassification, GifMessageOptions, GiftMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, HighlightSegment, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImBlockedContact, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImCatalog, ImCatalogOverrides, ImChannelConversationAccessSnapshot, ImChannelMemberPresentation, ImChannelMentionApi, ImChannelMentionPresentation, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, ImChannelProfilePresentation, ImChannelRole, ImChannelState, ImChannelsApi, ImChatFontScale, ImClientOptions, ImConnectionState, ImContactBody, ImContactKind, ImContactProfile, ImContactRelationship, ImContactRemarkPhone, ImContactSearchResult, ImContactsApi, ImConversationBackgroundApi, ImConversationCapabilitiesApi, ImConversationListApi, ImConversationListSnapshot, ImConversationListState, ImConversationSearchApi, ImCoreApiOptions, ImCreateChannelInput, ImCreateChannelResult, ImCreateFaceToFaceGroupResult, ImCreateGroupInput, ImCreateGroupResult, ImCreatedChannel, ImCreatedGroup, ImCustomerServiceApi, ImDebugOptions, ImDiagnosticCategory, ImDiagnosticError, ImDiagnosticLayer, ImDiagnosticLevel, ImDiagnosticMemoryBuffer, ImDiagnosticMemoryBufferFilter, ImDiagnosticMemoryBufferOptions, ImDiagnosticMemoryBufferSnapshot, ImDiagnosticMessage, ImDiagnosticRecord, ImDiagnosticSink, ImDiagnosticWriter, ImDirectCallAnswerResult, ImDirectCallFailReason, ImDirectCallHangupInput, ImDirectCallHangupReason, ImDirectCallInviteInput, ImDirectCallNotifyAudioInput, ImDirectCallTargetInput, ImDirectCallsApi, ImDirectReadReceiptSettings, ImDirectoryApi, ImDirectoryFieldMatch, ImDirectoryItem, ImDirectoryKind, ImDirectoryPage, ImDirectorySearchApi, ImDirectorySearchItem, ImDirectorySearchResult, ImDraftsApi, ImEmojiCatalogEntry, ImEndpointProvider, ImEventsApi, ImExpressionAsset, ImExpressionAssetInput, ImExpressionEmojiRecentInput, ImExpressionFavoriteKind, ImExpressionOptions, ImExpressionRecentInput, ImExpressionRecentItem, ImExpressionRecentItemKind, ImExpressionsApi, ImFaceToFaceGroup, ImFailureCatalog, ImFileBody, ImFilesAlbumBody, ImForwardOperationResult, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiftBody, ImGiftSessionType, ImGiftStatus, ImGiftType, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMemberPresentation, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImI18n, ImImageBody, ImLastMessageCatalog, ImLifecycleSnapshot, ImLiveRoomBody, ImLiveRoomStatus, ImLiveRoomType, ImLocalDataApi, ImLocalDataInfo, ImLocale, ImLogoutOptions, ImMediaAlbumBody, ImMediaAlbumItem, ImMediaBatchSendResult, ImMediaCatalog, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMentionCatalog, ImMessageActionResult, ImMessageBodyKind, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPartialCatalog, ImPinnedMessageActionResult, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImPinnedMessageSnapshot, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImProfileAccessDestination, ImPushApi, ImPushSnapshot, ImQuotedMessagePresentation, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImRequestError, ImRequestErrorHandler, ImResourceKind, ImResourceUploadInput, ImResourceUploadProgress, ImResourceUploadResult, ImResourceUploader, ImResourceUploaderConfig, ImRobotBody, ImRobotChatMenuItem, ImRobotCommand, ImRobotConversationBindInput, ImRobotDirectoryItem, ImRobotDirectoryPage, ImRobotDirectoryScope, ImRobotMenuReplyInput, ImRobotModule, ImRobotProfile, ImRobotProfileInput, ImRobotsApi, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImServiceCatalog, ImServiceTextKey, ImSessionApi, ImSessionFavoriteAlbumItem, ImSessionFavoriteFileItem, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImSystemCatalog, ImTextResolver, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImThreadActiveDateSnapshot, ImThreadDateMarkerMetric, ImThreadDecoration, ImThreadEncryptionItem, ImThreadIntent, ImThreadItem, ImThreadPresentationAdapter, ImThreadReadActions, ImThreadReadTargetResolver, ImThreadViewportMetrics, ImTimeCatalog, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImWebPushSubscription, ImWeekdayKey, ImageMessageOptions, ImagePreviewMetadata, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, LiveRoomMessageOptions, LocalConversationHistoryClearResult, LocalMessageDeletionResult, LocalVideoPreviewMetadata, MediaAlbumItemInput, MediaAlbumMessageOptions, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaFileClassification, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MediaTransferErrorCode, MediaTransferPresentation, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MentionCandidate, MentionCandidatePage, MentionInput, MessageCapabilityAction, MessageCapabilityInput, MessageContentType, MessageLocateScrollProtectionInput, MessageNotificationDecision, MessageNotificationInput, MessageSearchPreviewOptions, MessageSearchPreviewSegment, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramGamePreviewInput, MiniProgramGamePreviewLayout, MiniProgramHostLocale, MiniProgramMessageOptions, MiniProgramOpenUrlInput, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchPreviewPart, ProductMessageSearchResult, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolveTextOptions, ResolvedConversationBackground, ResolvedMediaPresentation, RichExtraSegment, RobotConversationCapabilities, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SegmentMatch, SegmentMatcher, SendCapabilityMode, SendCommandHooks, SendMessageResult, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnicodeEmojiEntry, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VisibleChannelMiniProgramRels, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
|
|
10989
|
+
export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CapabilityAvailability, CapabilityDecision, CapabilityReason, CenteredMessageScrollInput, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramOpenGame, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMiniProgramRelOpenDecision, ChannelMiniProgramRelOpenSurface, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilityAction, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadNavigation, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewMediaKind, ConversationListPreviewSegment, ConversationMessageApi, ConversationOpenOptions, ConversationPrefetchController, ConversationPrefetchControllerOptions, ConversationPrefetchOptions, ConversationPrefetchResult, ConversationRef, ConversationSearchCategory, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, CreateThreadItemsInput, CustomerServiceConversationCapabilities, DelayedLoadingIndicator, DelayedLoadingIndicatorOptions, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, EmojiEntry, EmojiRecentItem, EmojiSegment, ExpressionMessageOptions, FileMessageOptions, FormatFailureContext, FormatLastMessageContext, FormatMediaPlaceholderContext, FormatServiceTextContext, FormatSystemMessageContext, FormatTimeDisplayContext, ForwardCommandHooks, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifFileClassification, GifMessageOptions, GiftMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, HighlightSegment, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImBlockedContact, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImCatalog, ImCatalogOverrides, ImChannelConversationAccessSnapshot, ImChannelMemberPresentation, ImChannelMentionApi, ImChannelMentionPresentation, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, ImChannelProfilePresentation, ImChannelRole, ImChannelState, ImChannelsApi, ImChatFontScale, ImClientActivityApi, ImClientActivitySnapshot, ImClientOptions, ImConnectionState, ImContactBody, ImContactKind, ImContactProfile, ImContactRelationship, ImContactRemarkPhone, ImContactSearchResult, ImContactsApi, ImConversationBackgroundApi, ImConversationCapabilitiesApi, ImConversationListApi, ImConversationListSnapshot, ImConversationListState, ImConversationSearchApi, ImCoreApiOptions, ImCreateChannelInput, ImCreateChannelResult, ImCreateFaceToFaceGroupResult, ImCreateGroupInput, ImCreateGroupResult, ImCreatedChannel, ImCreatedGroup, ImCustomerServiceApi, ImDebugOptions, ImDiagnosticCategory, ImDiagnosticError, ImDiagnosticLayer, ImDiagnosticLevel, ImDiagnosticMemoryBuffer, ImDiagnosticMemoryBufferFilter, ImDiagnosticMemoryBufferOptions, ImDiagnosticMemoryBufferSnapshot, ImDiagnosticMessage, ImDiagnosticRecord, ImDiagnosticSink, ImDiagnosticWriter, ImDirectCallAnswerResult, ImDirectCallFailReason, ImDirectCallHangupInput, ImDirectCallHangupReason, ImDirectCallInviteInput, ImDirectCallNotifyAudioInput, ImDirectCallTargetInput, ImDirectCallsApi, ImDirectReadReceiptSettings, ImDirectoryApi, ImDirectoryFieldMatch, ImDirectoryItem, ImDirectoryKind, ImDirectoryPage, ImDirectorySearchApi, ImDirectorySearchItem, ImDirectorySearchResult, ImDraftsApi, ImEmojiCatalogEntry, ImEndpointProvider, ImEventsApi, ImExpressionAsset, ImExpressionAssetInput, ImExpressionEmojiRecentInput, ImExpressionFavoriteKind, ImExpressionOptions, ImExpressionRecentInput, ImExpressionRecentItem, ImExpressionRecentItemKind, ImExpressionsApi, ImFaceToFaceGroup, ImFailureCatalog, ImFileBody, ImFilesAlbumBody, ImForwardOperationResult, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiftBody, ImGiftSessionType, ImGiftStatus, ImGiftType, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMemberPresentation, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImI18n, ImImageBody, ImLastMessageCatalog, ImLifecycleSnapshot, ImLiveRoomBody, ImLiveRoomStatus, ImLiveRoomType, ImLocalDataApi, ImLocalDataInfo, ImLocale, ImLogoutOptions, ImMediaAlbumBody, ImMediaAlbumItem, ImMediaBatchSendResult, ImMediaCatalog, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMentionCatalog, ImMessageActionResult, ImMessageBodyKind, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPartialCatalog, ImPinnedMessageActionResult, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImPinnedMessageSnapshot, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImProfileAccessDestination, ImPushApi, ImPushSnapshot, ImQuotedMessagePresentation, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImRequestError, ImRequestErrorHandler, ImResourceKind, ImResourceUploadInput, ImResourceUploadProgress, ImResourceUploadResult, ImResourceUploader, ImResourceUploaderConfig, ImRobotBody, ImRobotChatMenuItem, ImRobotCommand, ImRobotConversationBindInput, ImRobotDirectoryItem, ImRobotDirectoryPage, ImRobotDirectoryScope, ImRobotMenuReplyInput, ImRobotModule, ImRobotProfile, ImRobotProfileInput, ImRobotsApi, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImServiceCatalog, ImServiceTextKey, ImSessionApi, ImSessionFavoriteAlbumItem, ImSessionFavoriteFileItem, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImSystemCatalog, ImTextResolver, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImThreadActiveDateSnapshot, ImThreadDateMarkerMetric, ImThreadDecoration, ImThreadEncryptionItem, ImThreadIntent, ImThreadItem, ImThreadPresentationAdapter, ImThreadReadActions, ImThreadReadTargetResolver, ImThreadViewportMetrics, ImTimeCatalog, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImWebPushSubscription, ImWeekdayKey, ImageMessageOptions, ImagePreviewMetadata, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, LiveRoomMessageOptions, LocalConversationHistoryClearResult, LocalMessageDeletionResult, LocalVideoPreviewMetadata, MediaAlbumItemInput, MediaAlbumMessageOptions, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaFileClassification, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MediaTransferErrorCode, MediaTransferPresentation, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MentionCandidate, MentionCandidatePage, MentionInput, MessageCapabilityAction, MessageCapabilityInput, MessageContentType, MessageLocateScrollProtectionInput, MessageNotificationDecision, MessageNotificationInput, MessageSearchPreviewOptions, MessageSearchPreviewSegment, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramGamePreviewInput, MiniProgramGamePreviewLayout, MiniProgramHostLocale, MiniProgramMessageOptions, MiniProgramOpenUrlInput, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchPreviewPart, ProductMessageSearchResult, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolveTextOptions, ResolvedConversationBackground, ResolvedMediaPresentation, RichExtraSegment, RobotConversationCapabilities, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SegmentMatch, SegmentMatcher, SendCapabilityMode, SendCommandHooks, SendMessageResult, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnicodeEmojiEntry, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VisibleChannelMiniProgramRels, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequestTracker as e}from"../request-tracker.js";import{CmdId as i,ErrCode as t}from"../../../im-protocol/src/protobuf/gen/im.pub_pb.js";import{cmClientStateAckCodec as r,cmClientStateCodec as s}from"../../../im-protocol/src/protobuf/registry.js";import{encodeFrame as n}from"../../../im-protocol/src/frame-codec.js";function o(o){let d=!1,c=!1,u=0n;const l=e();let a,v,f={status:"idle"};const m=/* @__PURE__ */new Set;function b(e){try{e({...f})}catch{o.onListenerError()}}function S(e){f=e;for(const e of[...m])b(e)}function g(){v&&clearTimeout(v.timer),v=void 0}function y(e,i){const t=v;g(),S({status:"error",visibility:a?.visibility,sequence:t?.sequence.toString(),error:e,...void 0===i?{}:{serverCode:i}})}function I(){c||(a=void 0,g(),S({status:"idle"}))}function p(){if(c||!a)return;if(a.userId!==o.getSelfId())return void I();if(g(),!d)return void S({status:"pending",visibility:a.visibility});u+=1n;const e=a,t=l.nextSeq(),r=n({command:i.CM_CLIENT_STATE,msgSeq:t,body:s.encode(s.create({sUserId:BigInt(e.userId),nState:"visible"===e.visibility?1:2,nSeq:u,nClientTime:BigInt(Date.now())}))}),f={...e,sequence:u,msgSeq:t,timer:setTimeout(()=>{v===f&&y("timeout")},o.timeoutMs??8e3)};if(v=f,S({status:"syncing",visibility:e.visibility,sequence:u.toString()}),v===f&&d&&!c&&a===e)if(e.userId===o.getSelfId())try{o.sendFrame(r)}catch{v===f&&y("send-failed")}else I()}return{api:{setVisibility(e){if(c)throw new Error("页面状态上报已销毁");if(!/^[1-9]\d*$/.test(e.userId)||e.userId!==o.getSelfId()||BigInt(e.userId)>9223372036854775807n)throw new Error("页面状态账号与当前会话不一致或格式无效");if("visible"!==e.visibility&&"hidden"!==e.visibility)throw new Error("页面状态必须为 visible 或 hidden");a={...e},p()},clear:I,snapshot:()=>({...f}),subscribe:e=>(c||m.add(e),b(e),()=>{m.delete(e)})},commandHandlers:[{command:i.CM_CLIENT_STATE_ACK,handler(e,i,s){if(!v||c||!d||s?.msgSeq!==v.msgSeq)return;if(v.userId!==o.getSelfId())return void I();let n;try{n=r.decode(i)}catch{return void y("invalid-ack")}if(String(n.sUserId)!==v.userId)return void y("invalid-ack");if(n.nErr!==t.NON_ERR)return void y("server-rejected",n.nErr);if(n.nSeq!==v.sequence||n.nState!==("visible"===v.visibility?1:2)||0===n.nForegroundTtl||0n===n.nServerTime)return void y("invalid-ack");const u=v;g(),S({status:"synced",visibility:u.visibility,sequence:u.sequence.toString(),foregroundTtlSeconds:n.nForegroundTtl,serverTimeMs:n.nServerTime.toString()})}}],setAuthenticated(e){c||d===e||(d=e,u=0n,g(),a?p():S({status:"idle"}))},onHeartbeat(){d&&"visible"===a?.visibility&&p()},dispose(){c||(c=!0,a=void 0,g(),S({status:"disposed"}),m.clear())}}}export{o as createClientActivity};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createLoginHandler as e}from"../login/login-handler.js";import{sendExpressionMessage as t}from"../message-flow/expression/expression-message.js";import{sendGameMessage as n}from"../message-flow/game/game-message.js";import{sendGiftMessage as o}from"../message-flow/gift/gift-message.js";import{sendLiveRoomMessage as r}from"../message-flow/live-room/live-room-message.js";import{sendMiniProgramMessage as i}from"../message-flow/mini-program/mini-program-message.js";import{sendTransferMessage as a}from"../message-flow/transfer/transfer-message.js";import{createPacketRouter as s}from"../packet-router.js";import{computeBackoffDelay as d}from"./backoff.js";import{createHeartbeatManager as c}from"./heartbeat-manager.js";import{createDefaultSendStrategyRegistry as l}from"../message-flow/send/send-strategy-registry.js";import{createOutboxManager as m}from"../outbox/outbox-manager.js";import{createReadReporter as u}from"../read/read-reporter.js";import{createRecallManager as f}from"../message-flow/recall/recall-manager.js";import{createChannelMessageDeletionManager as g}from"../message-flow/recall/channel-message-deletion-manager.js";import{createRecallReceiveHandlers as p}from"../message-flow/recall/recall-receive-handlers.js";import{createEditManager as v}from"../message-flow/edit/edit-manager.js";import{createEditReceiveHandlers as h}from"../message-flow/edit/edit-receive-handlers.js";import{createMediaSender as w}from"../message-flow/media/media-sender.js";import{createDirectReadSyncCoordinator as y}from"../message-flow/read/direct-read-sync.js";import{encodeFrame as S,decodeFrameStream as I}from"../../../im-protocol/src/frame-codec.js";import{CmdId as M,ErrCode as A}from"../../../im-protocol/src/protobuf/gen/im.pub_pb.js";import{cmKickoutNotificationCodec as C}from"../../../im-protocol/src/protobuf/registry.js";import{forwardMessages as b}from"../message-flow/forward/forward-messages.js";function E(E,T={}){const{transport:k,authProvider:x,endpointProvider:P,emitter:R}=E,U=T.heartbeatIntervalMs??1e4,j=T.heartbeatMaxMissed??3,F=T.foregroundProbeTimeoutMs??5e3,O=T.loginTimeoutMs??T.readTimeoutMs??3e4,D={baseDelayMs:T.reconnect?.baseDelayMs??1e3,maxDelayMs:T.reconnect?.maxDelayMs??3e4,jitter:T.reconnect?.jitter??!0};let _,L="idle",V=!0,K=0,G=!1,$=new Uint8Array(0),B=!1,N=0,H="";function q(e){L!==e&&(E.logger?.("connection:state-transition",{from:L,to:e,selfId:H}),L=e,R.emit({type:"connection:changed",state:e}))}function Y(e){R.emit({type:"error",error:e})}function z(e,t){const n=N;e?.catch(e=>{n===N&&Y({scope:"unknown",message:t,cause:e})})}function W(e){var t;k.send((t=e,t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))).catch(e=>{Y({scope:"transport",message:"发送失败",cause:e})})}const J=c({sendPing:()=>W(S({command:M.SYSTEM_HEARTBEAT})),onUnhealthy:()=>{E.logger?.("connection:heartbeat-unhealthy",{stateBefore:L,selfId:H}),Y({scope:"transport",message:"心跳连续未 ACK,链路判定不健康"}),pe()}},{intervalMs:U,maxMissed:j,probeTimeoutMs:F}),Q=e({authProvider:x,sendFrame:W,logger:E.logger},{timeoutMs:O}),X=E.sendStrategies??l(),Z=E.domainState?m({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,isAuthenticated:()=>"authenticated"===L,sendStrategies:X,crypto:E.encryptSend?.crypto,resolvePublicKey:E.encryptSend?.resolvePublicKey,storage:E.storage,onStorageError:(e,t)=>Y({scope:"storage",message:e,cause:t}),onUpdated:e=>E.emitter.emit({type:"outbox:updated",conversation:e.conversation,item:e})},{ackTimeoutMs:T.readTimeoutMs??3e4}):void 0,ee=E.domainState?u({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,isAuthenticated:()=>"authenticated"===L,emitter:R,logger:E.logger,canSendReadReceipt:E.canSendDirectReadReceipt},{readAckTimeoutMs:T.readTimeoutMs??3e4}):void 0,te=E.domainState?y({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,isAuthenticated:()=>"authenticated"===L,emitter:R,logger:E.logger}):void 0,ne=E.domainState?f({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,isAuthenticated:()=>"authenticated"===L,strategies:E.recallStrategies}):void 0,oe=void 0!==E.domainState&&void 0!==E.channelMessageDeletion?g({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,isAuthenticated:()=>"authenticated"===L,resolveProfile:E.channelMessageDeletion.resolveProfile,onPermissionDenied:E.channelMessageDeletion.onPermissionDenied}):void 0,re=void 0!==E.domainState&&void 0!==ne?p({domainState:E.domainState,sendFrame:W,getSelfId:()=>H,onRecallAck:ne.onRecallAck,onChannelMessageDeletionAck:e=>oe?.onDeleteAck(e),logger:E.logger}):[],ie=E.domainState?v({getSelfId:()=>H,sendFrame:W,isAuthenticated:()=>"authenticated"===L,domainState:E.domainState,crypto:E.encryptSend?.crypto,resolvePublicKey:E.encryptSend?.resolvePublicKey,resolveGroupKey:E.encryptSend?.resolveGroupKey,strategies:E.editStrategies}):void 0,ae=void 0!==E.domainState&&void 0!==ie?h({onEditAck:ie.onEditAck}):[],se=void 0!==E.domainState&&void 0!==Z&&void 0!==E.media?w({getSelfId:()=>H,domainState:E.domainState,outbox:Z,mediaTransfer:E.media.transfer,mediaPreview:E.media.preview,mediaAssetCache:E.media.assetCache,onMediaAssetCacheError:E.media.onAssetCacheError,onMediaTransferError:E.media.onTransferError,onMediaAlbumContentSize:E.media.onAlbumContentSize,emitter:R,crypto:E.encryptSend?.crypto,maxConcurrentUploads:E.media.maxConcurrentUploads,recoveryPort:E.media.recoveryPort,retainFailedUploads:E.media.retainFailedUploads,shouldPersistUpload:E.media.shouldPersistUpload,waitUntilOnline:E.media.waitUntilOnline,isOnline:E.isOnline}):void 0;function de(e,t){return void 0===se?Promise.reject(new Error(`${e} 不可用:createImConnection 未注入 domainState 或 media 端口`)):""===H?Promise.reject(new Error(`${e} 需先成功登录一次以获取本端 id(尚未鉴权过)`)):t(se)}function ce(e,t,n,o){const r=E.domainState?.getConversationMessage({conversationId:n.conversationId,conversationType:n.conversationType},t);if(void 0===r||r.conversationId!==n.conversationId||r.conversationType!==n.conversationType||r.contentType!==o&&("file"!==o||"filesAlbum"!==r.contentType||1!==r.body.filesAlbum?.items.length)||"failed"!==r.status||void 0!==r.recalled||void 0!==r.deletedForEveryone||r.senderId!==H||"media.uploadInterrupted"!==r.failure?.displayCode&&"media.cancelled"!==r.failure?.displayCode&&("media.uploadTimeout"!==r.failure?.displayCode||!1!==r.failure.retryable))throw new Error(`${e} 只允许替换当前精确会话中源文件已释放的${"video"===o?"视频":"文件"}消息`);return r}const le=E.domainState&&Z?s({isActive:()=>V&&"authenticated"===L,domainState:E.domainState,outbox:Z,onReadAck:ee?.onReadAck,onSyncReadAck:te?.onAck,onSyncReadDeliver:te?.onDeliver,sendFrame:W,getSelfId:()=>H,emitter:R,logger:E.logger,decrypt:E.decrypt,commandHandlers:[...E.commandHandlers??[],...re,...ae]}):void 0;function me(){"open"!==k.state&&"connecting"!==k.state&&"closing"!==k.state||k.close().catch(()=>{})}function ue(){void 0!==_&&(clearTimeout(_),_=void 0)}async function fe(){try{return null!==(e=await x.getLoginContext())&&""!==e.userId.trim()&&""!==e.token.trim()?"available":"missing"}catch(e){return Y({scope:"login",message:"检查登录上下文失败",cause:e}),"unavailable"}var e}function ge(e,t){Y({scope:"transport",message:e,cause:t}),J.stop(),q("disconnected")}function pe(){if("reconnecting"===L||"suspended"===L)return;const e=++N;J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),q("reconnecting"),me(),fe().then(t=>{"reconnecting"===L&&e===N&&("missing"!==t?function(){if(void 0!==_)return;const e=d(K,D);K+=1,_=setTimeout(()=>{_=void 0,Se()},e)}():we({code:0,reason:"token_expired"}))})}function ve(e="offline"){const t="idle"===L||"disconnected"===L||"disconnecting"===L;"offline"!==e||!t&&"suspended"!==L?(ue(),N+=1,"offline"===e&&z(se?.pauseAll(),"页面离开时暂停上传失败"),J.stop(),Q.cancel(),"session-ended"===e&&se?.cancelAll("session-ended"),Z?.reset({discardInFlight:"session-ended"===e}),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),t||q("suspended"),me()):z(se?.pauseAll(),"页面离开时暂停上传失败")}function he(){"suspended"===L&&V&&(!1!==E.isOnline?.()?(K=0,Se()):q("offline"))}function we(e){"idle"!==L&&"disconnected"!==L&&(E.logger?.("connection:auth-invalid-terminal",{reason:e.reason,code:`0x${e.code.toString(16)}`,stateBefore:L,selfId:H}),ue(),N+=1,J.stop(),Q.cancel(),q("disconnected"),me(),se?.cancelAll("session-ended"),Z?.reset({discardInFlight:!0}),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),R.emit({type:"auth:invalid",issue:e}),Promise.resolve().then(()=>x.onAuthInvalid?.(e)).catch(e=>Y({scope:"login",message:"onAuthInvalid 回调异常",cause:e})))}async function ye(){const e=await Q.login();"canceled"!==e.type&&"authenticating"===L&&function(e){switch(e.type){case"success":K=0,B=!1,e.selfId&&(H=e.selfId),q("authenticated"),J.start(),Z?.onAuthenticated(),z(se?.resumePaused(),"网络恢复后继续上传失败"),ee?.onAuthenticated(),te?.onAuthenticated(),E.readStrategies?.onAuthenticated(),E.onAuthenticated?.();break;case"auth-invalid":if("token_expired"===e.issue.reason&&0!==e.issue.code&&!B)return B=!0,Y({scope:"login",message:"token 失效,自动重试登录一次"}),void pe();we(e.issue);break;case"retry":Y(e.error),pe()}}(e)}async function Se(){if(!V)return ue(),void q("suspended");if(!1===E.isOnline?.())return ue(),J.stop(),z(se?.pauseAll("offline"),"离线探针暂停上传失败"),void q("offline");const e=++N;q("connecting"),G=!1,$=new Uint8Array(0);const t=await fe();if(e!==N)return;if("missing"===t)return void we({code:0,reason:"token_expired"});if("unavailable"===t)return void pe();let n;try{n=await P.getEndpoints()}catch(t){if(e!==N)return;return void ge("获取连接端点失败",t)}if(e!==N)return;const o=n[0];if(void 0!==o)if(function(e){try{const t=new URL(e);return"ws:"===t.protocol||"wss:"===t.protocol}catch{return!1}}(o.url)){try{await k.connect([o])}catch(t){if(e!==N)return;return Y({scope:"transport",message:"连接失败",cause:t}),void pe()}e!==N&&me()}else ge(`连接端点 URL 非法:${o.url}`);else ge("无可用连接端点(getEndpoints 返回空数组)")}function Ie(e,t,n){switch(e){case M.CM_LOGIN_ACK:Q.onLoginAck(t);break;case M.SYSTEM_HEARTBEAT_ACK:J.onAck();break;case M.CM_KICKOUT_NOTIFICATION:if(void 0!==E.logger)try{const e=C.decode(t);E.logger("connection:kickout-received",{kickedUserId:String(e.sUserId),selfId:H,matchesSelf:String(e.sUserId)===H,entryIp:e.ip,entryPort:e.port,stateBefore:L})}catch(e){E.logger("connection:kickout-decode-failed",{message:e?.message,stateBefore:L})}we({code:A.ERR_CM_AUTH_KICKEDOUT,reason:"kicked"});break;default:le?.route(e,t,{msgSeq:n})}}function Me(){return"authenticating"===L||"authenticated"===L}function Ae(e){if(!Me())return;const t=N;let n;$=function(e,t){if(0===e.length)return t;const n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}($,new Uint8Array(e));try{const e=I($);n=e.frames,$=e.remainder}catch(e){return Y({scope:"protocol",message:"帧解析失败,连接重置",cause:e}),void pe()}for(const e of n){if(!Me()||t!==N)return;Ie(e.header.command,e.body,e.header.msgSeq)}}return k.on("open",()=>{"connecting"===L&&(q("authenticating"),ye())}),k.on("message",({data:e})=>Ae(e)),k.on("error",({error:e})=>{Y({scope:"transport",message:"transport 错误",cause:e})}),k.on("close",({code:e,reason:t,wasClean:n})=>{if(J.stop(),E.logger?.("connection:transport-closed",{code:e,reason:t,wasClean:n,stateBefore:L,intentionalClose:G,nextPath:G||"disconnecting"===L?"disconnected":"idle"===L||"disconnected"===L||"reconnecting"===L||"suspended"===L||"offline"===L?"ignored":"reconnect"}),G||"disconnecting"===L)return G=!1,void q("disconnected");"idle"!==L&&"disconnected"!==L&&"reconnecting"!==L&&"suspended"!==L&&"offline"!==L&&pe()}),{get state(){return L},setConnectionAllowed(e){V!==e&&(V=e,e||ve("session-ended"))},async connect(){"connecting"!==L&&"authenticating"!==L&&"authenticated"!==L&&(ue(),K=0,await Se())},disconnect(){ue(),N+=1,J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),G=!0,"idle"!==L&&"disconnected"!==L?(q("disconnecting"),"open"!==k.state&&"connecting"!==k.state&&"closing"!==k.state||k.close().catch(()=>{}),"closed"!==k.state&&"idle"!==k.state||q("disconnected")):q("disconnected")},notifyOnline(){if("offline"===L)return K=0,void Se();"reconnecting"===L&&(ue(),Se())},notifyOffline(){z(se?.pauseAll("offline"),"网络离线时暂停上传失败"),"idle"!==L&&"disconnected"!==L&&"disconnecting"!==L&&"suspended"!==L&&"offline"!==L&&(ue(),N+=1,J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),q("offline"),me())},notifyVisible(){if("suspended"!==L){if("offline"===L&&!0===E.isOnline?.())return K=0,void Se();if("reconnecting"===L)return ue(),void Se();if("authenticated"===L){const e=N;fe().then(t=>{"authenticated"===L&&e===N&&("missing"!==t?J.probe():we({code:0,reason:"token_expired"}))})}}else he()},suspendForPageLifecycle:ve,resumeFromPageLifecycle:he,suppressDirectReadReceipts(e){ee?.suppress(e)},resumeDirectReadReceipts(e){ee?.resume(e)},reportDirectMediaConsumed(e,t){ee?.reportConsumedMedia(e,t),te?.reportConsumedMedia?.(e,t)},sendText(e){if(void 0===Z)throw new Error("sendText 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendText 需先成功登录一次以获取本端 id(尚未鉴权过)");return Z.enqueueText(e)},sendContact(e){if(void 0===Z)throw new Error("sendContact 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendContact 需先成功登录一次以获取本端 id(尚未鉴权过)");return Z.enqueueContact(e)},forwardMessages(e){if(void 0===Z)throw new Error("forwardMessages 不可用:createImConnection 未注入 domainState(仅连接模式)");const t=E.domainState;if(void 0===t)throw new Error("forwardMessages 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("forwardMessages 需先成功登录一次以获取本端 id(尚未鉴权过)");return b({outbox:Z,sendStrategies:X,resolveCurrentMessage:e=>t.getConversationMessage(e,e.id)},e)},recallMessage:e=>void 0===ne?Promise.reject(new Error("recallMessage 不可用:createImConnection 未注入 domainState(仅连接模式)")):ne.recall(e),deleteChannelMessageForEveryone:e=>void 0===oe?Promise.reject(new Error("deleteChannelMessageForEveryone 不可用:未装配 CHANNEL 管理员删除依赖")):oe.deleteForEveryone(e),editMessage:e=>void 0===ie?Promise.reject(new Error("editMessage 不可用:createImConnection 未注入 domainState(仅连接模式)")):ie.edit(e),sendImage:e=>de("sendImage",t=>t.sendImage(e)),sendVideo:e=>de("sendVideo",t=>t.sendVideo(e)),sendVoice:e=>de("sendVoice",t=>t.sendVoice(e)),sendFile:e=>de("sendFile",t=>t.sendFile(e)),sendGif:e=>de("sendGif",t=>t.sendGif(e)),sendMediaAlbum:e=>de("sendMediaAlbum",t=>t.sendMediaAlbum(e)),sendExpression(e){if(void 0===Z)throw new Error("sendExpression 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendExpression 需先成功登录一次以获取本端 id(尚未鉴权过)");return t({outbox:Z},e)},sendGame(e){if(void 0===Z)throw new Error("sendGame 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendGame 需先成功登录一次以获取本端 id(尚未鉴权过)");return n({outbox:Z,randomUint32:E.randomUint32},e)},sendMiniProgram(e){if(void 0===Z)throw new Error("sendMiniProgram 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendMiniProgram 需先成功登录一次以获取本端 id(尚未鉴权过)");return i({outbox:Z},e)},sendTransfer(e){if(void 0===Z)throw new Error("sendTransfer 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendTransfer 需先成功登录一次以获取本端 id(尚未鉴权过)");return a({outbox:Z},e)},sendGift(e){if(void 0===Z)throw new Error("sendGift 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendGift 需先成功登录一次以获取本端 id(尚未鉴权过)");return o({outbox:Z},e)},sendLiveRoom(e){if(void 0===Z)throw new Error("sendLiveRoom 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===H)throw new Error("sendLiveRoom 需先成功登录一次以获取本端 id(尚未鉴权过)");return r({outbox:Z},e)},replaceInterruptedVideo:(e,t)=>de("replaceInterruptedVideo",n=>{const o=ce("replaceInterruptedVideo",e,t,"video");return n.replaceVideo(e,o.createdAt,{...t,...void 0===t.caption&&void 0!==o.body.video?.describe?{caption:o.body.video.describe}:{},...void 0===t.refMessageId&&void 0!==o.refMessageId?{refMessageId:o.refMessageId}:{}})}),replaceInterruptedFile:(e,t)=>de("replaceInterruptedFile",n=>{const o=ce("replaceInterruptedFile",e,t,"file");return n.replaceFile(e,o.createdAt,{...t,..."filesAlbum"===o.contentType?{filesAlbum:!0,caption:o.body.filesAlbum?.caption}:{},...void 0===t.refMessageId&&void 0!==o.refMessageId?{refMessageId:o.refMessageId}:{}})}),cancelMedia(e){se?.cancel(e)},cancelMediaUpload:(e,t)=>se?.cancel(e,t)??!1,pauseMediaUpload:e=>se?.pause(e)??Promise.resolve(!1),resumeMediaUpload:e=>se?.resume(e)??!1,resumePausedMediaUploads:(e,t)=>se?.resumePaused(e,t)??Promise.resolve(),retryMediaUpload:(e,t)=>se?.retry(e,t)??!1,expireRetainedUploads(){se?.expireRetainedUploads()},invalidateMediaAssetCacheWrites(){se?.invalidateAssetCacheWrites()},async disposeMediaTasks(e){await(se?.dispose(e))},recoverMediaUpload:(e,t,n)=>void 0===se?Promise.reject(new Error("IM_MEDIA_RECOVERY_UNAVAILABLE")):de("recoverMediaUpload",o=>o.recoverUpload(e,t,n)),retryMessage(e){!0!==se?.retry(e)&&Z?.retry(e)},retryOutboxMessage:e=>Z?.retry(e)??{accepted:!1,reason:"not-found"},cancelOutboxMessage:e=>Z?.cancel(e)??{accepted:!1,reason:"not-found"},markOutboxConversationTerminated(e,t){Z?.markConversationTerminated(e,t)},clearOutboxConversationTerminated(e){Z?.clearConversationTerminated(e)},terminateConversationSending(e,t){se?.cancelConversation(e),Z?.markConversationTerminated(e,t)},settleConversationRead(e,t){if(void 0===E.domainState)throw new Error("会话已读不可用:未注入 domainState");if("direct"===e.conversationType)return E.domainState.advanceRead(e,t),void te?.report(e.conversationId);const n=E.readStrategies?.resolve(e.conversationType);if(void 0===n)throw new Error(`会话已读未支持类型:${e.conversationType}`);const o={conversationId:e.conversationId,readCursor:t};if("channel"===e.conversationType){if(void 0===n.settleConversationRead)throw new Error("CHANNEL 整会话已读尚未装配");return n.settleConversationRead(o)}return n.markRead(o)},reportVisibleMessages(e,t){if("group"!==e.conversationType&&"channel"!==e.conversationType){if("direct"!==e.conversationType)throw new Error(`可见消息回执未支持类型:${e.conversationType}`);if(void 0===ee)throw new Error("可见消息回执不可用:未注入 domainState");ee.reportVisible(e.conversationId,t)}},markRead(e,t,n){if(void 0===E.domainState)throw new Error("markRead 不可用:createImConnection 未注入 domainState(仅连接模式)");const o=n??E.domainState.getSession(e)?.type;if(void 0===o)throw new Error(`markRead 无法确定会话类型(conversationId=${e}),禁止默认 direct`);if("direct"===o){if(void 0===ee)throw new Error("markRead 不可用:createImConnection 未注入 domainState(仅连接模式)");return E.domainState.advanceRead(e,t),ee.report(e),void te?.report(e)}const r=E.readStrategies?.resolve(o);if(void 0===r)throw new Error(`markRead 暂不支持会话类型「${o}」:未注册对应已读策略,禁止 fallthrough direct`);return r.markRead({conversationId:e,readCursor:t})},sendFrame(e){W(e)},onChatAck(e){Z?.onChatAck(e)},getPendingOutbox:()=>Z?.getPending()??[],async hydrateOutbox(e){await(Z?.hydrate(e))},markOutboxForLogout(e){Z?.markForLogout({policy:e})}}}export{E as createImConnection};
|
|
1
|
+
import{createLoginHandler as e}from"../login/login-handler.js";import{sendExpressionMessage as t}from"../message-flow/expression/expression-message.js";import{sendGameMessage as n}from"../message-flow/game/game-message.js";import{sendGiftMessage as o}from"../message-flow/gift/gift-message.js";import{sendLiveRoomMessage as r}from"../message-flow/live-room/live-room-message.js";import{sendMiniProgramMessage as i}from"../message-flow/mini-program/mini-program-message.js";import{sendTransferMessage as a}from"../message-flow/transfer/transfer-message.js";import{createPacketRouter as s}from"../packet-router.js";import{computeBackoffDelay as d}from"./backoff.js";import{createHeartbeatManager as c}from"./heartbeat-manager.js";import{createDefaultSendStrategyRegistry as l}from"../message-flow/send/send-strategy-registry.js";import{createOutboxManager as m}from"../outbox/outbox-manager.js";import{createReadReporter as u}from"../read/read-reporter.js";import{createRecallManager as f}from"../message-flow/recall/recall-manager.js";import{createChannelMessageDeletionManager as g}from"../message-flow/recall/channel-message-deletion-manager.js";import{createRecallReceiveHandlers as p}from"../message-flow/recall/recall-receive-handlers.js";import{createEditManager as v}from"../message-flow/edit/edit-manager.js";import{createEditReceiveHandlers as h}from"../message-flow/edit/edit-receive-handlers.js";import{createMediaSender as w}from"../message-flow/media/media-sender.js";import{createDirectReadSyncCoordinator as y}from"../message-flow/read/direct-read-sync.js";import{encodeFrame as S,decodeFrameStream as I}from"../../../im-protocol/src/frame-codec.js";import{CmdId as M,ErrCode as A}from"../../../im-protocol/src/protobuf/gen/im.pub_pb.js";import{cmKickoutNotificationCodec as C}from"../../../im-protocol/src/protobuf/registry.js";import{forwardMessages as b}from"../message-flow/forward/forward-messages.js";function E(E,T={}){const{transport:k,authProvider:x,endpointProvider:P,emitter:R}=E,U=T.heartbeatIntervalMs??1e4,j=T.heartbeatMaxMissed??3,F=T.foregroundProbeTimeoutMs??5e3,O=T.loginTimeoutMs??T.readTimeoutMs??3e4,D={baseDelayMs:T.reconnect?.baseDelayMs??1e3,maxDelayMs:T.reconnect?.maxDelayMs??3e4,jitter:T.reconnect?.jitter??!0};let _,L="idle",V=!0,K=0,G=!1,$=new Uint8Array(0),B=!1,H=0,N="";function q(e){L!==e&&(E.logger?.("connection:state-transition",{from:L,to:e,selfId:N}),L=e,R.emit({type:"connection:changed",state:e}))}function Y(e){R.emit({type:"error",error:e})}function z(e,t){const n=H;e?.catch(e=>{n===H&&Y({scope:"unknown",message:t,cause:e})})}function W(e){var t;k.send((t=e,t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))).catch(e=>{Y({scope:"transport",message:"发送失败",cause:e})})}const J=c({sendPing:()=>{W(S({command:M.SYSTEM_HEARTBEAT})),"authenticated"===L&&E.onHeartbeat?.()},onUnhealthy:()=>{E.logger?.("connection:heartbeat-unhealthy",{stateBefore:L,selfId:N}),Y({scope:"transport",message:"心跳连续未 ACK,链路判定不健康"}),pe()}},{intervalMs:U,maxMissed:j,probeTimeoutMs:F}),Q=e({authProvider:x,sendFrame:W,logger:E.logger},{timeoutMs:O}),X=E.sendStrategies??l(),Z=E.domainState?m({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,isAuthenticated:()=>"authenticated"===L,sendStrategies:X,crypto:E.encryptSend?.crypto,resolvePublicKey:E.encryptSend?.resolvePublicKey,storage:E.storage,onStorageError:(e,t)=>Y({scope:"storage",message:e,cause:t}),onUpdated:e=>E.emitter.emit({type:"outbox:updated",conversation:e.conversation,item:e})},{ackTimeoutMs:T.readTimeoutMs??3e4}):void 0,ee=E.domainState?u({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,isAuthenticated:()=>"authenticated"===L,emitter:R,logger:E.logger,canSendReadReceipt:E.canSendDirectReadReceipt},{readAckTimeoutMs:T.readTimeoutMs??3e4}):void 0,te=E.domainState?y({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,isAuthenticated:()=>"authenticated"===L,emitter:R,logger:E.logger}):void 0,ne=E.domainState?f({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,isAuthenticated:()=>"authenticated"===L,strategies:E.recallStrategies}):void 0,oe=void 0!==E.domainState&&void 0!==E.channelMessageDeletion?g({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,isAuthenticated:()=>"authenticated"===L,resolveProfile:E.channelMessageDeletion.resolveProfile,onPermissionDenied:E.channelMessageDeletion.onPermissionDenied}):void 0,re=void 0!==E.domainState&&void 0!==ne?p({domainState:E.domainState,sendFrame:W,getSelfId:()=>N,onRecallAck:ne.onRecallAck,onChannelMessageDeletionAck:e=>oe?.onDeleteAck(e),logger:E.logger}):[],ie=E.domainState?v({getSelfId:()=>N,sendFrame:W,isAuthenticated:()=>"authenticated"===L,domainState:E.domainState,crypto:E.encryptSend?.crypto,resolvePublicKey:E.encryptSend?.resolvePublicKey,resolveGroupKey:E.encryptSend?.resolveGroupKey,strategies:E.editStrategies}):void 0,ae=void 0!==E.domainState&&void 0!==ie?h({onEditAck:ie.onEditAck}):[],se=void 0!==E.domainState&&void 0!==Z&&void 0!==E.media?w({getSelfId:()=>N,domainState:E.domainState,outbox:Z,mediaTransfer:E.media.transfer,mediaPreview:E.media.preview,mediaAssetCache:E.media.assetCache,onMediaAssetCacheError:E.media.onAssetCacheError,onMediaTransferError:E.media.onTransferError,onMediaAlbumContentSize:E.media.onAlbumContentSize,emitter:R,crypto:E.encryptSend?.crypto,maxConcurrentUploads:E.media.maxConcurrentUploads,recoveryPort:E.media.recoveryPort,retainFailedUploads:E.media.retainFailedUploads,shouldPersistUpload:E.media.shouldPersistUpload,waitUntilOnline:E.media.waitUntilOnline,isOnline:E.isOnline}):void 0;function de(e,t){return void 0===se?Promise.reject(new Error(`${e} 不可用:createImConnection 未注入 domainState 或 media 端口`)):""===N?Promise.reject(new Error(`${e} 需先成功登录一次以获取本端 id(尚未鉴权过)`)):t(se)}function ce(e,t,n,o){const r=E.domainState?.getConversationMessage({conversationId:n.conversationId,conversationType:n.conversationType},t);if(void 0===r||r.conversationId!==n.conversationId||r.conversationType!==n.conversationType||r.contentType!==o&&("file"!==o||"filesAlbum"!==r.contentType||1!==r.body.filesAlbum?.items.length)||"failed"!==r.status||void 0!==r.recalled||void 0!==r.deletedForEveryone||r.senderId!==N||"media.uploadInterrupted"!==r.failure?.displayCode&&"media.cancelled"!==r.failure?.displayCode&&("media.uploadTimeout"!==r.failure?.displayCode||!1!==r.failure.retryable))throw new Error(`${e} 只允许替换当前精确会话中源文件已释放的${"video"===o?"视频":"文件"}消息`);return r}const le=E.domainState&&Z?s({isActive:()=>V&&"authenticated"===L,domainState:E.domainState,outbox:Z,onReadAck:ee?.onReadAck,onSyncReadAck:te?.onAck,onSyncReadDeliver:te?.onDeliver,sendFrame:W,getSelfId:()=>N,emitter:R,logger:E.logger,decrypt:E.decrypt,commandHandlers:[...E.commandHandlers??[],...re,...ae]}):void 0;function me(){"open"!==k.state&&"connecting"!==k.state&&"closing"!==k.state||k.close().catch(()=>{})}function ue(){void 0!==_&&(clearTimeout(_),_=void 0)}async function fe(){try{return null!==(e=await x.getLoginContext())&&""!==e.userId.trim()&&""!==e.token.trim()?"available":"missing"}catch(e){return Y({scope:"login",message:"检查登录上下文失败",cause:e}),"unavailable"}var e}function ge(e,t){Y({scope:"transport",message:e,cause:t}),J.stop(),q("disconnected")}function pe(){if("reconnecting"===L||"suspended"===L)return;const e=++H;J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),q("reconnecting"),me(),fe().then(t=>{"reconnecting"===L&&e===H&&("missing"!==t?function(){if(void 0!==_)return;const e=d(K,D);K+=1,_=setTimeout(()=>{_=void 0,Se()},e)}():we({code:0,reason:"token_expired"}))})}function ve(e="offline"){const t="idle"===L||"disconnected"===L||"disconnecting"===L;"offline"!==e||!t&&"suspended"!==L?(ue(),H+=1,"offline"===e&&z(se?.pauseAll(),"页面离开时暂停上传失败"),J.stop(),Q.cancel(),"session-ended"===e&&se?.cancelAll("session-ended"),Z?.reset({discardInFlight:"session-ended"===e}),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),t||q("suspended"),me()):z(se?.pauseAll(),"页面离开时暂停上传失败")}function he(){"suspended"===L&&V&&(!1!==E.isOnline?.()?(K=0,Se()):q("offline"))}function we(e){"idle"!==L&&"disconnected"!==L&&(E.logger?.("connection:auth-invalid-terminal",{reason:e.reason,code:`0x${e.code.toString(16)}`,stateBefore:L,selfId:N}),ue(),H+=1,J.stop(),Q.cancel(),q("disconnected"),me(),se?.cancelAll("session-ended"),Z?.reset({discardInFlight:!0}),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),R.emit({type:"auth:invalid",issue:e}),Promise.resolve().then(()=>x.onAuthInvalid?.(e)).catch(e=>Y({scope:"login",message:"onAuthInvalid 回调异常",cause:e})))}async function ye(){const e=await Q.login();"canceled"!==e.type&&"authenticating"===L&&function(e){switch(e.type){case"success":K=0,B=!1,e.selfId&&(N=e.selfId),q("authenticated"),J.start(),Z?.onAuthenticated(),z(se?.resumePaused(),"网络恢复后继续上传失败"),ee?.onAuthenticated(),te?.onAuthenticated(),E.readStrategies?.onAuthenticated(),E.onAuthenticated?.();break;case"auth-invalid":if("token_expired"===e.issue.reason&&0!==e.issue.code&&!B)return B=!0,Y({scope:"login",message:"token 失效,自动重试登录一次"}),void pe();we(e.issue);break;case"retry":Y(e.error),pe()}}(e)}async function Se(){if(!V)return ue(),void q("suspended");if(!1===E.isOnline?.())return ue(),J.stop(),z(se?.pauseAll("offline"),"离线探针暂停上传失败"),void q("offline");const e=++H;q("connecting"),G=!1,$=new Uint8Array(0);const t=await fe();if(e!==H)return;if("missing"===t)return void we({code:0,reason:"token_expired"});if("unavailable"===t)return void pe();let n;try{n=await P.getEndpoints()}catch(t){if(e!==H)return;return void ge("获取连接端点失败",t)}if(e!==H)return;const o=n[0];if(void 0!==o)if(function(e){try{const t=new URL(e);return"ws:"===t.protocol||"wss:"===t.protocol}catch{return!1}}(o.url)){try{await k.connect([o])}catch(t){if(e!==H)return;return Y({scope:"transport",message:"连接失败",cause:t}),void pe()}e!==H&&me()}else ge(`连接端点 URL 非法:${o.url}`);else ge("无可用连接端点(getEndpoints 返回空数组)")}function Ie(e,t,n){switch(e){case M.CM_LOGIN_ACK:Q.onLoginAck(t);break;case M.SYSTEM_HEARTBEAT_ACK:J.onAck();break;case M.CM_KICKOUT_NOTIFICATION:if(void 0!==E.logger)try{const e=C.decode(t);E.logger("connection:kickout-received",{kickedUserId:String(e.sUserId),selfId:N,matchesSelf:String(e.sUserId)===N,entryIp:e.ip,entryPort:e.port,stateBefore:L})}catch(e){E.logger("connection:kickout-decode-failed",{message:e?.message,stateBefore:L})}we({code:A.ERR_CM_AUTH_KICKEDOUT,reason:"kicked"});break;default:le?.route(e,t,{msgSeq:n})}}function Me(){return"authenticating"===L||"authenticated"===L}function Ae(e){if(!Me())return;const t=H;let n;$=function(e,t){if(0===e.length)return t;const n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}($,new Uint8Array(e));try{const e=I($);n=e.frames,$=e.remainder}catch(e){return Y({scope:"protocol",message:"帧解析失败,连接重置",cause:e}),void pe()}for(const e of n){if(!Me()||t!==H)return;Ie(e.header.command,e.body,e.header.msgSeq)}}return k.on("open",()=>{"connecting"===L&&(q("authenticating"),ye())}),k.on("message",({data:e})=>Ae(e)),k.on("error",({error:e})=>{Y({scope:"transport",message:"transport 错误",cause:e})}),k.on("close",({code:e,reason:t,wasClean:n})=>{if(J.stop(),E.logger?.("connection:transport-closed",{code:e,reason:t,wasClean:n,stateBefore:L,intentionalClose:G,nextPath:G||"disconnecting"===L?"disconnected":"idle"===L||"disconnected"===L||"reconnecting"===L||"suspended"===L||"offline"===L?"ignored":"reconnect"}),G||"disconnecting"===L)return G=!1,void q("disconnected");"idle"!==L&&"disconnected"!==L&&"reconnecting"!==L&&"suspended"!==L&&"offline"!==L&&pe()}),{get state(){return L},setConnectionAllowed(e){V!==e&&(V=e,e||ve("session-ended"))},async connect(){"connecting"!==L&&"authenticating"!==L&&"authenticated"!==L&&(ue(),K=0,await Se())},disconnect(){ue(),H+=1,J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),G=!0,"idle"!==L&&"disconnected"!==L?(q("disconnecting"),"open"!==k.state&&"connecting"!==k.state&&"closing"!==k.state||k.close().catch(()=>{}),"closed"!==k.state&&"idle"!==k.state||q("disconnected")):q("disconnected")},notifyOnline(){if("offline"===L)return K=0,void Se();"reconnecting"===L&&(ue(),Se())},notifyOffline(){z(se?.pauseAll("offline"),"网络离线时暂停上传失败"),"idle"!==L&&"disconnected"!==L&&"disconnecting"!==L&&"suspended"!==L&&"offline"!==L&&(ue(),H+=1,J.stop(),Q.cancel(),Z?.reset(),ee?.reset(),ne?.reset(),oe?.reset(),ie?.reset(),q("offline"),me())},notifyVisible(){if("suspended"!==L){if("offline"===L&&!0===E.isOnline?.())return K=0,void Se();if("reconnecting"===L)return ue(),void Se();if("authenticated"===L){const e=H;fe().then(t=>{"authenticated"===L&&e===H&&("missing"!==t?J.probe():we({code:0,reason:"token_expired"}))})}}else he()},suspendForPageLifecycle:ve,resumeFromPageLifecycle:he,suppressDirectReadReceipts(e){ee?.suppress(e)},resumeDirectReadReceipts(e){ee?.resume(e)},reportDirectMediaConsumed(e,t){ee?.reportConsumedMedia(e,t),te?.reportConsumedMedia?.(e,t)},sendText(e){if(void 0===Z)throw new Error("sendText 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendText 需先成功登录一次以获取本端 id(尚未鉴权过)");return Z.enqueueText(e)},sendContact(e){if(void 0===Z)throw new Error("sendContact 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendContact 需先成功登录一次以获取本端 id(尚未鉴权过)");return Z.enqueueContact(e)},forwardMessages(e){if(void 0===Z)throw new Error("forwardMessages 不可用:createImConnection 未注入 domainState(仅连接模式)");const t=E.domainState;if(void 0===t)throw new Error("forwardMessages 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("forwardMessages 需先成功登录一次以获取本端 id(尚未鉴权过)");return b({outbox:Z,sendStrategies:X,resolveCurrentMessage:e=>t.getConversationMessage(e,e.id)},e)},recallMessage:e=>void 0===ne?Promise.reject(new Error("recallMessage 不可用:createImConnection 未注入 domainState(仅连接模式)")):ne.recall(e),deleteChannelMessageForEveryone:e=>void 0===oe?Promise.reject(new Error("deleteChannelMessageForEveryone 不可用:未装配 CHANNEL 管理员删除依赖")):oe.deleteForEveryone(e),editMessage:e=>void 0===ie?Promise.reject(new Error("editMessage 不可用:createImConnection 未注入 domainState(仅连接模式)")):ie.edit(e),sendImage:e=>de("sendImage",t=>t.sendImage(e)),sendVideo:e=>de("sendVideo",t=>t.sendVideo(e)),sendVoice:e=>de("sendVoice",t=>t.sendVoice(e)),sendFile:e=>de("sendFile",t=>t.sendFile(e)),sendGif:e=>de("sendGif",t=>t.sendGif(e)),sendMediaAlbum:e=>de("sendMediaAlbum",t=>t.sendMediaAlbum(e)),sendExpression(e){if(void 0===Z)throw new Error("sendExpression 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendExpression 需先成功登录一次以获取本端 id(尚未鉴权过)");return t({outbox:Z},e)},sendGame(e){if(void 0===Z)throw new Error("sendGame 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendGame 需先成功登录一次以获取本端 id(尚未鉴权过)");return n({outbox:Z,randomUint32:E.randomUint32},e)},sendMiniProgram(e){if(void 0===Z)throw new Error("sendMiniProgram 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendMiniProgram 需先成功登录一次以获取本端 id(尚未鉴权过)");return i({outbox:Z},e)},sendTransfer(e){if(void 0===Z)throw new Error("sendTransfer 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendTransfer 需先成功登录一次以获取本端 id(尚未鉴权过)");return a({outbox:Z},e)},sendGift(e){if(void 0===Z)throw new Error("sendGift 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendGift 需先成功登录一次以获取本端 id(尚未鉴权过)");return o({outbox:Z},e)},sendLiveRoom(e){if(void 0===Z)throw new Error("sendLiveRoom 不可用:createImConnection 未注入 domainState(仅连接模式)");if(""===N)throw new Error("sendLiveRoom 需先成功登录一次以获取本端 id(尚未鉴权过)");return r({outbox:Z},e)},replaceInterruptedVideo:(e,t)=>de("replaceInterruptedVideo",n=>{const o=ce("replaceInterruptedVideo",e,t,"video");return n.replaceVideo(e,o.createdAt,{...t,...void 0===t.caption&&void 0!==o.body.video?.describe?{caption:o.body.video.describe}:{},...void 0===t.refMessageId&&void 0!==o.refMessageId?{refMessageId:o.refMessageId}:{}})}),replaceInterruptedFile:(e,t)=>de("replaceInterruptedFile",n=>{const o=ce("replaceInterruptedFile",e,t,"file");return n.replaceFile(e,o.createdAt,{...t,..."filesAlbum"===o.contentType?{filesAlbum:!0,caption:o.body.filesAlbum?.caption}:{},...void 0===t.refMessageId&&void 0!==o.refMessageId?{refMessageId:o.refMessageId}:{}})}),cancelMedia(e){se?.cancel(e)},cancelMediaUpload:(e,t)=>se?.cancel(e,t)??!1,pauseMediaUpload:e=>se?.pause(e)??Promise.resolve(!1),resumeMediaUpload:e=>se?.resume(e)??!1,resumePausedMediaUploads:(e,t)=>se?.resumePaused(e,t)??Promise.resolve(),retryMediaUpload:(e,t)=>se?.retry(e,t)??!1,expireRetainedUploads(){se?.expireRetainedUploads()},invalidateMediaAssetCacheWrites(){se?.invalidateAssetCacheWrites()},async disposeMediaTasks(e){await(se?.dispose(e))},recoverMediaUpload:(e,t,n)=>void 0===se?Promise.reject(new Error("IM_MEDIA_RECOVERY_UNAVAILABLE")):de("recoverMediaUpload",o=>o.recoverUpload(e,t,n)),retryMessage(e){!0!==se?.retry(e)&&Z?.retry(e)},retryOutboxMessage:e=>Z?.retry(e)??{accepted:!1,reason:"not-found"},cancelOutboxMessage:e=>Z?.cancel(e)??{accepted:!1,reason:"not-found"},markOutboxConversationTerminated(e,t){Z?.markConversationTerminated(e,t)},clearOutboxConversationTerminated(e){Z?.clearConversationTerminated(e)},terminateConversationSending(e,t){se?.cancelConversation(e),Z?.markConversationTerminated(e,t)},settleConversationRead(e,t){if(void 0===E.domainState)throw new Error("会话已读不可用:未注入 domainState");if("direct"===e.conversationType)return E.domainState.advanceRead(e,t),void te?.report(e.conversationId);const n=E.readStrategies?.resolve(e.conversationType);if(void 0===n)throw new Error(`会话已读未支持类型:${e.conversationType}`);const o={conversationId:e.conversationId,readCursor:t};if("channel"===e.conversationType){if(void 0===n.settleConversationRead)throw new Error("CHANNEL 整会话已读尚未装配");return n.settleConversationRead(o)}return n.markRead(o)},reportVisibleMessages(e,t){if("group"!==e.conversationType&&"channel"!==e.conversationType){if("direct"!==e.conversationType)throw new Error(`可见消息回执未支持类型:${e.conversationType}`);if(void 0===ee)throw new Error("可见消息回执不可用:未注入 domainState");ee.reportVisible(e.conversationId,t)}},markRead(e,t,n){if(void 0===E.domainState)throw new Error("markRead 不可用:createImConnection 未注入 domainState(仅连接模式)");const o=n??E.domainState.getSession(e)?.type;if(void 0===o)throw new Error(`markRead 无法确定会话类型(conversationId=${e}),禁止默认 direct`);if("direct"===o){if(void 0===ee)throw new Error("markRead 不可用:createImConnection 未注入 domainState(仅连接模式)");return E.domainState.advanceRead(e,t),ee.report(e),void te?.report(e)}const r=E.readStrategies?.resolve(o);if(void 0===r)throw new Error(`markRead 暂不支持会话类型「${o}」:未注册对应已读策略,禁止 fallthrough direct`);return r.markRead({conversationId:e,readCursor:t})},sendFrame(e){W(e)},onChatAck(e){Z?.onChatAck(e)},getPendingOutbox:()=>Z?.getPending()??[],async hydrateOutbox(e){await(Z?.hydrate(e))},markOutboxForLogout(e){Z?.markForLogout({policy:e})}}}export{E as createImConnection};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CmdId as e,ErrCode as t}from"../../../../im-protocol/src/protobuf/gen/im.pub_pb.js";import{radioChatAckCodec as r,radioChatDeliverCodec as n,radioChatCodec as o,bMessageCodec as
|
|
1
|
+
import{CmdId as e,ErrCode as t}from"../../../../im-protocol/src/protobuf/gen/im.pub_pb.js";import{radioChatAckCodec as r,radioChatDeliverCodec as n,radioChatCodec as o,bMessageCodec as c,bContentCodec as d,radioChatDeliverAckCodec as a}from"../../../../im-protocol/src/protobuf/registry.js";import{fromWireMsgId as s}from"../../mapping/message-id.js";import{buildChannelOperationNotifyRemoval as i}from"../../mapping/recall-mapper.js";import{mapIncomingChannelChat as y}from"../../mapping/channel-message-mapper.js";import{encodeFrame as l}from"../../../../im-protocol/src/frame-codec.js";function p(e,t=!0){if(e.sFromId<=0n&&""===e.botId.trim())throw new Error("channel deliver: sender id 缺失或非法");if(e.sRadioId<=0n)throw new Error("channel deliver: channel id 缺失或非法");if(""===e.sMsgId.trim())throw new Error("channel deliver: message id 缺失");if(t&&""===e.sId.trim())throw new Error("channel deliver: history cursor 缺失")}function h(h){function g(e){const n=r.decode(e),o={...""===n.sIndex?{}:{historyCursor:n.sIndex},...0n===n.nIncrId?{}:{channelSequence:n.nIncrId.toString()}},c=function(e){const r=/* @__PURE__ */new Map([[t.ERR_RADIO_DISMISS,"channelDismissed"],[t.ERR_RADIO_NOSPEAK,"channelMuted"],[t.ERR_RADIO_ISDELETE,"channelNotMember"],[t.ERR_RADIO_ADMIN,"channelAdminRequired"]]).get(e);return void 0===r?void 0:{code:e,reason:"rejected",displayCode:r,retryable:!1}}(n.errcode);h.outbox.onChatAck({id:s(n.sMsgId),serverTime:Number(n.msgTime),errcode:n.errcode,...0===Object.keys(o).length?{}:{extensions:o},...void 0===c?{}:{failure:c}});const d=function(e){switch(e){case t.ERR_RADIO_DISMISS:return{state:"dismissed",reason:"channel_dismissed"};case t.ERR_RADIO_NOSPEAK:return{state:"muted",reason:"channel_muted"};case t.ERR_RADIO_ISDELETE:return{state:"unknown_restricted",reason:"channel_not_member"};default:return}}(n.errcode);void 0!==d&&n.sRadioId>0n&&h.domainState.setChannelRestriction(n.sRadioId.toString(),d.state,d.reason),h.logger?.("channel-chat-ack",{messageId:n.sMsgId,channelId:n.sRadioId.toString(),errcode:n.errcode})}function m(e,t,r){const n=e.sRadioId.toString();h.decrypt?.onDecryptError?.({endpoint:"live",surface:t,messageId:e.sMsgId,channelId:n,encrypt:e.encrypt,payloadByteLength:e.sContent.length,...r}),h.emitter.emit({type:"error",error:{scope:"crypto",message:`CHANNEL 实时消息处理失败(${r.reason}, channelId=${n})`,...void 0===r.cause?{}:{cause:r.cause}}})}function I(e,t){let r;if(0===e.encrypt)try{r=c.decode(e.sContent)}catch(t){return void h.emitter.emit({type:"error",error:{scope:"protocol",message:`CHANNEL 实时明文 BMessage 解码失败(channelId=${e.sRadioId.toString()})`,cause:t}})}else if(1===e.encrypt&&void 0!==h.decrypt){const n=h.decrypt.resolveUserPrivateKey?.()??null;if(null===n)return void m(e,t,{reason:"no-key",decryptStage:"key-resolve",keyByteLength:0,keySource:void 0===h.decrypt.resolveUserPrivateKey?"service-absent":"miss"});let o,a;try{if(o=d.decode(e.sContent),0===o.secretKey.length||0===o.cipherData.length)throw new Error("BContent.secretKey/cipherData 缺失")}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"bcontent",keyByteLength:0,keySource:"user-private-key",cause:r})}try{a=h.decrypt.crypto.decryptEndToEnd({secretKey:o.secretKey,cipherData:o.cipherData,privateKey:n})}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"tea",keyByteLength:0,keySource:"user-private-key",cipherDataByteLength:o.cipherData.length,cause:r})}try{r=c.decode(a)}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"bmessage",keyByteLength:0,keySource:"user-private-key",cipherDataByteLength:o.cipherData.length,decryptedByteLength:a.length,cause:r})}}else{if(2!==e.encrypt||void 0===h.decrypt)return void m(e,t,{reason:"no-key",decryptStage:"key-resolve",keyByteLength:0,keySource:"service-absent"});{const n=h.decrypt.resolveChannelKey(e.sRadioId.toString());if(null===n||16!==n.length)return void m(e,t,{reason:"no-key",decryptStage:"key-resolve",keyByteLength:n?.length??0,keySource:null===n?"miss":"cache"});let o,a;try{const t=d.decode(e.sContent);if(0===t.cipherData.length)throw new Error("BContent.cipherData 缺失");o=t.cipherData}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"bcontent",keyByteLength:n.length,keySource:"cache",cause:r})}try{a=h.decrypt.crypto.decryptSymmetric({teaKey:n,cipherData:o})}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"tea",keyByteLength:n.length,keySource:"cache",cipherDataByteLength:o.length,cause:r})}try{r=c.decode(a)}catch(r){return void m(e,t,{reason:"decrypt-failed",decryptStage:"bmessage",keyByteLength:n.length,keySource:"cache",cipherDataByteLength:o.length,decryptedByteLength:a.length,cause:r})}}}return r}function v(t,r){const n=h.getSelfId(),o=h.getConnectionEpoch?.(),c=()=>{void 0!==r&&!1!==h.isActive?.()&&h.getSelfId()===n&&h.getConnectionEpoch?.()===o&&function(t){const r=a.create({sFromId:t.sFromId,sRadioId:t.sRadioId,sMsgId:t.sMsgId,sIndex:t.sId});h.sendFrame(l({command:e.RADIO_CHAT_DELIVER_ACK,body:a.encode(r)}))}(r)},d=void 0===h.domainState.commitReceivedMessages?h.domainState.upsertMessages(t,"live"):h.domainState.commitReceivedMessages(t,"live");d instanceof Promise?d.then(c).catch(e=>h.emitter.emit({type:"error",error:{scope:"storage",message:"CHANNEL 消息保存或投递确认失败",cause:e}})):c()}function u(e,t){if(!1===h.isActive?.())return;const r=n.decode(t);p(r);const o=I(r,"live-deliver");if(void 0===o)return void function(e,t){const r=y(e,c.create({contentType:1,content:""}),{selfId:h.getSelfId(),cmdId:t,keepRaw:h.keepRaw,decryptFailed:!0});v([r]),1!==e.encrypt&&2!==e.encrypt||h.decrypt?.onDecryptRecovery?.({conversation:{conversationType:"channel",conversationId:r.conversationId},messageId:r.id,wireEncrypt:e.encrypt,sContent:e.sContent.slice(),cmdId:t,source:"live",createdAt:Date.now()})}(r,e);const d=i({channelId:r.sRadioId,senderId:r.sFromId,msgTime:r.msgTime,encrypt:r.encrypt},o);if(null!==d)return v([d],r),void h.logger?.("channel-operation-notify-deliver",{messageId:r.sMsgId,targetMessageId:d.id,channelId:r.sRadioId.toString(),operation:void 0!==d.deletedForEveryone?"admin-delete":"self-recall",command:e});v([y(r,o,{selfId:h.getSelfId(),cmdId:e,keepRaw:h.keepRaw})],r),h.logger?.("channel-chat-deliver",{messageId:r.sMsgId,channelId:r.sRadioId.toString(),encrypt:r.encrypt,command:e})}return[{command:e.RADIO_CHAT_ACK,handler:(e,t)=>g(t)},{command:e.RADIO_CHAT_DELIVER,handler:(e,t)=>u(e,t)},{command:e.MES_RADIO_RED_PACKET_GRABBED,handler:(e,t)=>u(e,t)},{command:e.MES_RADIO_EDIT_MSG_C2C,handler:(e,t)=>function(e,t){const r=o.decode(t);if(p(r,!1),""===r.oldMsgId.trim())throw new Error("channel edit deliver: oldMsgId 缺失");if(""===r.isEdit||"0"===r.isEdit)throw new Error("channel edit deliver: isEdit 标记缺失");if(2!==r.encrypt)throw new Error("channel edit deliver: 必须使用 CHANNEL encrypt=2");const n=s(r.oldMsgId),d=I(r,"live-edit");if(void 0===d){const t={conversationType:"channel",conversationId:r.sRadioId.toString()};return void 0===h.domainState.getConversationMessage(t,n)&&v([{...y(r,c.create({contentType:1,content:""}),{selfId:h.getSelfId(),cmdId:e,keepRaw:h.keepRaw,decryptFailed:!0,edited:!0}),id:n}]),void h.decrypt?.onDecryptRecovery?.({conversation:t,messageId:n,wireEncrypt:2,sContent:r.sContent.slice(),cmdId:e,source:"live",createdAt:Date.now()})}const a=y(r,d,{selfId:h.getSelfId(),cmdId:e,keepRaw:h.keepRaw,edited:!0});if("text"!==a.contentType)throw new Error("channel edit deliver: 仅支持 text 消息");h.domainState.editMessage({conversationType:"channel",conversationId:a.conversationId},n,a.body,a.mention),void 0===h.domainState.getConversationMessage({conversationType:"channel",conversationId:a.conversationId},n)&&v([{...a,id:n,edited:!0,extensions:{...a.extensions,editOperationMessageId:a.id,previousMessageId:n}}])}(e,t)}]}export{h as createChannelReceiveHandlers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{messageDesc as A,fileDesc as g}from"@bufbuild/protobuf/codegenv2";import{file_im_pub as l}from"./im.pub_pb.js";const
|
|
1
|
+
import{messageDesc as A,fileDesc as g}from"@bufbuild/protobuf/codegenv2";import{file_im_pub as l}from"./im.pub_pb.js";const E=/* @__PURE__ */g("Cg5pbS5sb2dpbi5wcm90bxIKaW0uYXBwLnB0bCLnAQoHQ01Mb2dpbhIPCgdzVXNlcklkGAEgASgDEhMKC3NMb2dpblRva2VuGAIgASgJEhQKDHNEZXZpY2VUb2tlbhgDIAEoCRIRCgluUHVzaFR5cGUYBCABKA0SEgoKc1B1c2hUb2tlbhgFIAEoCRIUCgxzVmVyc2lvbkNvZGUYBiABKAkSEgoKc0FwbnNUb2tlbhgHIAEoCRISCgpjbGllbnRUeXBlGAggASgNEhMKC2NoYW5uZWxUeXBlGAkgASgNEhIKCmRldmljZUluZm8YCiABKAkSEgoKZGV2aWNlTmFtZRgLIAEoCSJYCgpDTUxvZ2luQWNrEg8KB3NVc2VySWQYASABKAMSIQoEbkVychgCIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZRIWCg5uTGFzdExvZ2luVGltZRgDIAEoBCJCChVDTUtpY2tvdXROb3RpZmljYXRpb24SDwoHc1VzZXJJZBgBIAEoAxIKCgJpcBgCIAEoCRIMCgRwb3J0GAMgASgNImEKD0NNUHVzaFRva2VuU3luYxIPCgdzVXNlcklkGAEgASgDEhEKCW5QdXNoVHlwZRgCIAEoDRISCgpzUHVzaFRva2VuGAMgASgJEhYKDm5QdXNoVG9rZW5UeXBlGAQgASgNIkkKE0NDTVB1c2hUb2tlblN5bmNBY2sSDwoHc1VzZXJJZBgBIAEoAxIhCgRuRXJyGAIgASgOMhMuaW0uYXBwLnB0bC5FcnJDb2RlIjAKCENNTG9nb3V0Eg8KB3NVc2VySWQYASABKAMSEwoLbkRldmljZVR5cGUYAiABKA0iQQoLQ01Mb2dvdXRBY2sSIQoEbkVychgBIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZRIPCgdzVXNlcklkGAIgASgDIowBChNDTVN5bmNBcHBQcml2YXRlS2V5Eg8KB3NGcm9tSWQYASABKAMSDQoFc1RvSWQYAiABKAMSDgoGc01zZ0lkGAMgASgJEg8KB21zZ1R5cGUYBCABKA0SDwoHY29udGVudBgFIAEoDBIPCgdtc2dUaW1lGAYgASgEEhIKCmNsaWVudFR5cGUYByABKA0iSwoTQ21TeW5jUHJpdmF0ZUtleUFjaxIPCgdzVXNlcklkGAEgASgDEhIKCmNsaWVudFR5cGUYAiABKA0SDwoHY29udGVudBgDIAEoDCJMChFLaWNrVXNlckRldmljZVJlcRIOCgZ1c2VySWQYASABKAMSEgoKY2xpZW50VHlwZRgCIAEoDRITCgtkZXZpY2VUb2tlbhgDIAEoCSIiChJLaWNrVXNlckRldmljZVJlc3ASDAoEY29kZRgBIAEoBSIsChpHZXRVc2VyT25saW5lRGV2aWNlTGlzdFJlcRIOCgZ1c2VySWQYASABKAMiUgobR2V0VXNlck9ubGluZURldmljZUxpc3RSZXNwEgwKBGNvZGUYASABKAUSJQoFaW5mb3MYAiADKAsyFi5pbS5hcHAucHRsLkRldmljZUluZm8imAEKCkRldmljZUluZm8SDgoGdXNlcklkGAEgASgDEhMKC2RldmljZVRva2VuGAIgASgJEhIKCmRldmljZU5hbWUYAyABKAkSFQoNbGFzdExvZ2luVGltZRgFIAEoAxISCgpkZXZpY2VJbmZvGAYgASgJEhIKCmNsaWVudFR5cGUYByABKAUSEgoKYXBwVmVyc2lvbhgIIAEoCSKgAQocVXNlckRldmljZU9ubGluZVN0YXR1c05vdGlmeRIOCgZ1c2VySWQYASABKAMSEgoKY2xpZW50VHlwZRgCIAEoDRIOCgZzdGF0dXMYAyABKA0SEwoLZGV2aWNlVG9rZW4YBCABKAkSDwoHY29tbWFuZBgFIAEoDRISCgpkZXZpY2VJbmZvGAYgASgJEhIKCmRldmljZU5hbWUYByABKAkiUwoNQ01DbGllbnRTdGF0ZRIPCgdzVXNlcklkGAEgASgDEg4KBm5TdGF0ZRgCIAEoDRIMCgRuU2VxGAMgASgEEhMKC25DbGllbnRUaW1lGAQgASgEInwKEENNQ2xpZW50U3RhdGVBY2sSDwoHc1VzZXJJZBgBIAEoAxIMCgRuRXJyGAIgASgFEg4KBm5TdGF0ZRgDIAEoDRIMCgRuU2VxGAQgASgEEhYKDm5Gb3JlZ3JvdW5kVHRsGAUgASgNEhMKC25TZXJ2ZXJUaW1lGAYgASgEQh8KE2NvbS5tb3NhbnQuaW0ucHJvdG9IA1oGLi4vYXBwYgZwcm90bzM",[l]),R=/* @__PURE__ */A(E,0),S=/* @__PURE__ */A(E,1),I=/* @__PURE__ */A(E,2),Z=/* @__PURE__ */A(E,3),C=/* @__PURE__ */A(E,4),V=/* @__PURE__ */A(E,15),B=/* @__PURE__ */A(E,16);export{C as CCMPushTokenSyncAckSchema,B as CMClientStateAckSchema,V as CMClientStateSchema,I as CMKickoutNotificationSchema,S as CMLoginAckSchema,R as CMLoginSchema,Z as CMPushTokenSyncSchema,E as file_im_login};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fileDesc as E}from"@bufbuild/protobuf/codegenv2";const _=/* @__PURE__ */E("CgxpbS5wdWIucHJvdG8SCmltLmFwcC5wdGwiGwoKU3lzdGVtUGluZxINCgVtc2dJZBgBIAEoCSrcOQoFQ21kSWQSEAoMRVhDRVBUX0NNRElEEAASFAoQU1lTVEVNX0hFQVJUQkVBVBABEhgKFFNZU1RFTV9IRUFSVEJFQVRfQUNLEAISDwoLU1lTVEVNX1BJTkcQAxITCg9TWVNURU1fUElOR19BQ0sQBBIcChhTWVNURU1fVE9PX01BTllfUkVRVUVTVFMQBhIbChdDTV9TWU5DX0FQUF9QUklWQVRFX0tFWRBlEiIKHkNNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0VNU0FDSxBmEh8KG0NNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0FDSxBnEiAKHENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVkQaBInCiNDTV9TWU5DX0FQUF9TRU5EX1BSSVZBVEVfS0VZX0VNU0FDSxBpEiQKIENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVlfQUNLEGoSIgoeQ01fREVWSUNFX09OTElORV9TVEFUVVNfTk9USUZZEGwSDQoIQ01fTE9HSU4QgQISEQoMQ01fTE9HSU5fQUNLEIICEg4KCUNNX0xPR09VVBCDAhISCg1DTV9MT0dPVVRfQUNLEIQCEhUKEENNX1BVU0hUT0tFTlNZTkMQhQISGQoUQ01fUFVTSFRPS0VOU1lOQ19BQ0sQhgISHAoXQ01fS0lDS09VVF9OT1RJRklDQVRJT04QiAISFgoRQ01fTE9HT1VUX0NPTkZJUk0QiQISGgoVQ01fTE9HT1VUX0NPTkZJUk1fQUNLEIoCEhoKFUNNX0ZSRUVaRV9VU0VSX05PVElGWRCLAhINCghNRVNfQ0hBVBCBIBIRCgxNRVNfQ0hBVF9BQ0sQgiASGQoUTUVTX0NIQVRfREVMSVZFUl9BQ0sQgyASFQoQTUVTX0NIQVRfREVMSVZFUhCEIBIoCiNNRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OX0FDSxCFIBIkCh9NRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OEIYgEhIKDU1FU19DSEFUX1JFQUQQhyASFgoRTUVTX0NIQVRfUkVBRF9BQ0sQiCASHgoZTUVTX0NIQVRfUkVBRF9ERUxJVkVSX0FDSxCJIBIaChVNRVNfQ0hBVF9SRUFEX0RFTElWRVIQiiASEwoOTUVTX0NIQVRDQU5DRUwQiyASFwoSTUVTX0NIQVRDQU5DRUxfQUNLEIwgEh8KGk1FU19DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEI0gEhsKFk1FU19DSEFUQ0FOQ0VMX0RFTElWRVIQjiASGgoVTUVTX0NIQVRfT1BQT1NJVEVfRU5EEJEgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9FTVNfQUNLEJIgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFEJMgEiYKIU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFX0FDSxCUIBIfChpNRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCVIBIjCh5NRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQliASJwoiTUVTX0NIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCXIBISCg1NRVNfQURERlJJRU5EEIEiEhYKEU1FU19BRERGUklFTkRfQUNLEIIiEh4KGU1FU19BRERGUklFTkRfREVMSVZFUl9BQ0sQgyISGgoVTUVTX0FEREZSSUVORF9ERUxJVkVSEIQiEhYKEU1FU19BRERGUklFTkRfQU5TEIUiEhoKFU1FU19BRERGUklFTkRfQU5TX0FDSxCGIhIiCh1NRVNfQURERlJJRU5EX0FOU19ERUxJVkVSX0FDSxCHIhIeChlNRVNfQURERlJJRU5EX0FOU19ERUxJVkVSEIgiEiAKG01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWRCFJBIkCh9NRVNfVVNFUl9JTkZPX01PRElGWV9OT1RJRllfQUNLEIYkEigKI01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSEIgkEiwKJ01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSX0FDSxCHJBIdChhNRVNfREVMRVRFX0ZSSUVORF9OT1RJRlkQiSQSIQocTUVTX0RFTEVURV9GUklFTkRfTk9USUZZX0FDSxCQJBIaChVNRVNfQ0hBVF9FRElUX01TR19DMkMQpCQSHwoaTUVTX0NIQVRfRURJVF9PUFBPU0lURV9FTkQQpSQSGgoVTUVTX0NIQVRfTVNHX0VESVRfQUNLEKYkEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19DMkMQqiQSIwoeTUVTX0NIQVRfUkVBQ1RJT05fT1BQT1NJVEVfRU5EEKskEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19BQ0sQrCQSHgoZTUVTX0NIQVRfUkVBQ1RJT05fREVMSVZFUhCtJBIUCg9NU19DT01NT05OT1RJRlkQgSQSGAoTTVNfQ09NTU9OTk9USUZZX0FDSxCCJBIgChtNU19DT01NT05OT1RJRllfREVMSVZFUl9BQ0sQgyQSHAoXTVNfQ09NTU9OTk9USUZZX0RFTElWRVIQhCQSEwoOTVNHX1NFVF9VTlJFQUQQkSQSFwoSTVNHX1NFVF9VTlJFQURfQUNLEJIkEhwKF01TX1dBTExFVE5PVElGWV9ERUxJVkVSEJMkEiAKG01TX1dBTExFVE5PVElGWV9ERUxJVkVSX0FDSxCUJBInCiJNRVNfRlJJRU5EX0JMQUNLTElTVF9DSEFOR0VfTk9USUZZEJUkEisKJk1FU19GUklFTkRfQkxBQ0tMSVNUX0NIQU5HRV9OT1RJRllfQUNLEJYkEhYKEU1FU19GUklFTkRfTk9USUZZEJckEhoKFU1FU19GUklFTkRfTk9USUZZX0FDSxCYJBIqCiVNRVNfVVNFUl9GQVZPUklURV9MSVNUX0NIQU5HRURfTk9USUZZEJkkEh8KGk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZEKAkEiMKHk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZX0FDSxChJBIkCh9NRVNfVVNFUl9BUFBMWV9ERURVQ1RJT05fTk9USUZZEMckEhwKF01FU19HSVZFX0xPVFRFUllfTk9USUZZEKIkEiAKG01FU19HSVZFX0xPVFRFUllfTk9USUZZX0FDSxCjJBIPCgpHUk9VUF9DSEFUEIFAEhMKDkdST1VQX0NIQVRfQUNLEIJAEhwKF01FU19HUlBDSEFUX0RFTElWRVJfQUNLEINAEhgKE01FU19HUlBDSEFUX0RFTElWRVIQhEASFQoQR1JPVVBfQ0hBVENBTkNFTBCFQBIZChRHUk9VUF9DSEFUQ0FOQ0VMX0FDSxCGQBIhChxHUk9VUF9DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEIdAEh0KGEdST1VQX0NIQVRDQU5DRUxfREVMSVZFUhCIQBIQCgtNRVNfSk9JTkdSUBCBQhIUCg9NRVNfSk9JTkdSUF9BQ0sQgkISHAoXTUVTX0pPSU5HUlBfREVMSVZFUl9BQ0sQg0ISGAoTTUVTX0pPSU5HUlBfREVMSVZFUhCEQhIeChlNRVNfR1JQTk9USUZZX0RFTElWRVJfQUNLEINEEhoKFU1FU19HUlBOT1RJRllfREVMSVZFUhCERBIVChBNRVNfRVhDSEFOR0VfS0VZEIFGEhkKFE1FU19FWENIQU5HRV9LRVlfQUNLEIJGEiEKHE1FU19FWENIQU5HRV9LRVlfREVMSVZFUl9BQ0sQg0YSHQoYTUVTX0VYQ0hBTkdFX0tFWV9ERUxJVkVSEIRGEikKJE1FU19FWENIQU5HRV9LRVlfREVMSVZFUkRfTk9USUZZX0FDSxCFRhIlCiBNRVNfRVhDSEFOR0VfS0VZX0RFTElWRVJEX05PVElGWRCGRhIiCh1NRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCHRhImCiFNRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQiEYSKgolTUVTX0dSUENIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCJRhIdChhNRVNfR1JQQ0hBVF9FRElUX01TR19DMkMQkEYSIQocTUVTX0dSUENIQVRfRURJVF9NU0dfQzJDX0FDSxCRRhIhChxNRVNfR1JQQ0hBVF9SRUFDVElPTl9NU0dfQzJDEJJGEiUKIE1FU19HUlBDSEFUX1JFQUNUSU9OX01TR19DMkNfQUNLEJNGEiEKHE1FU19HUlBDSEFUX1JFQUNUSU9OX0RFTElWRVIQlEYSDwoKUkFESU9fQ0hBVBCBYBITCg5SQURJT19DSEFUX0FDSxCCYBIbChZSQURJT19DSEFUX0RFTElWRVJfQUNLEINgEhcKElJBRElPX0NIQVRfREVMSVZFUhCEYBIcChdSQURJT19BRE1JTl9DQU5DRUxfQ0hBVBCFYBIgChtSQURJT19BRE1JTl9DQU5DRUxfQ0hBVF9BQ0sQhmASKAojUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQh2ASJAofUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUhCIYBIWChFSQURJT19DQU5DRUxfQ0hBVBCJYBIaChVSQURJT19DQU5DRUxfQ0hBVF9BQ0sQimASIgodUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQi2ASHgoZUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUhCMYBIcChdSQURJT19BUFBMWV9ERUxJVkVSX0FDSxCDYhIYChNSQURJT19BUFBMWV9ERUxJVkVSEIRiEh0KGFJBRElPX0lOVklURV9ERUxJVkVSX0FDSxCHYhIZChRSQURJT19JTlZJVEVfREVMSVZFUhCIYhIdChhSQURJT19OT1RJRllfREVMSVZFUl9BQ0sQg2QSGQoUUkFESU9fTk9USUZZX0RFTElWRVIQhGQSIAobTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfQzJDEIVkEiQKH01FU19SQURJT19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQhmQSKAojTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfREVMSVZFUl9DMkMQh2QSGwoWTUVTX1JBRElPX0VESVRfTVNHX0MyQxCIZBIfChpNRVNfUkFESU9fRURJVF9NU0dfQzJDX0FDSxCJZBIhChxNRVNfUkFESU9fUkVEX1BBQ0tFVF9HUkFCQkVEEJBkEh8KGk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDEJFkEiMKHk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDX0FDSxCSZBIfChpNRVNfUkFESU9fUkVBQ1RJT05fREVMSVZFUhCTZBIYChJTSUdfU1BPTlNPUlAyUENBTEwQgYABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BQ0sQgoABEiQKHlNJR19TUE9OU09SUDJQQ0FMTF9ERUxJVkVSX0FDSxCDgAESIAoaU0lHX1NQT05TT1JQMlBDQUxMX0RFTElWRVIQhIABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BTlMQhYABEiAKGlNJR19TUE9OU09SUDJQQ0FMTF9BTlNfQUNLEIaAARIoCiJTSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVJfQUNLEIeAARIkCh5TSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVIQiIABEiIKHFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk8QiYABEiYKIFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk9fQUNLEIqAARIuCihTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVJfQUNLEIuAARIqCiRTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVIQjIABEhcKEVNJR19QMlBDQUxMSEFOR1VQEI2AARIbChVTSUdfUDJQQ0FMTEhBTkdVUF9BQ0sQjoABEiIKHFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUl9BQ0sQj4ABEh4KGFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUhCQgAESHAoWU0lHX1AyUENBTExTVEFURU5PVElGWRCRgAESIAoaU0lHX1AyUENBTExTVEFURU5PVElGWV9BQ0sQkoABEicKIVNJR19QMlBDQUxMU1RBVEVOT1RJRllERWxJVkVSX0FDSxCTgAESIwodU0lHX1AyUENBTExTVEFURU5PVElGWURFbElWRVIQlIABEhoKFFNJR19TUE9OU09SR1JPVVBDQUxMEIGCARIeChhTSUdfU1BPTlNPUkdST1VQQ0FMTF9BQ0sQgoIBEiYKIFNJR19TUE9OU09SR1JPVVBDQUxMX0RFTElWRVJfQUNLEIOCARIiChxTSUdfU1BPTlNPUkdST1VQQ0FMTF9ERUxJVkVSEISCARIXChFTSUdfR1JPVVBDQUxMX0FOUxCFggESGwoVU0lHX0dST1VQQ0FMTF9BTlNfQUNLEIaCARIjCh1TSUdfR1JPVVBDQUxMX0FOU19ERUxJVkVSX0FDSxCHggESHwoZU0lHX0dST1VQQ0FMTF9BTlNfREVMSVZFUhCIggESGAoSU0lHX0dST1VQQ0FMTF9KT0lOEImCARIcChZTSUdfR1JPVVBDQUxMX0pPSU5fQUNLEIqCARIkCh5TSUdfR1JPVVBDQUxMX0pPSU5fREVMSVZFUl9BQ0sQi4IBEiAKGlNJR19HUk9VUENBTExfSk9JTl9ERUxJVkVSEIyCARIaChRTSUdfR1JPVVBDQUxMX0hBTkdVUBCNggESHgoYU0lHX0dST1VQQ0FMTF9IQU5HVVBfQUNLEI6CARImCiBTSUdfR1JPVVBDQUxMX0hBTkdVUF9ERUxJVkVSX0FDSxCPggESIgocU0lHX0dST1VQQ0FMTF9IQU5HVVBfREVMSVZFUhCQggESGgoUU0lHX0dST1VQQ0FMTF9GSU5JU0gQkYIBEh4KGFNJR19HUk9VUENBTExfRklOSVNIX0FDSxCSggESJgogU0lHX0dST1VQQ0FMTF9GSU5JU0hfREVMSVZFUl9BQ0sQk4IBEiIKHFNJR19HUk9VUENBTExfRklOSVNIX0RFTElWRVIQlIIBEhoKFFNJR19HUk9VUENBTExfU1RBVFVTEJWCARIeChhTSUdfR1JPVVBDQUxMX1NUQVRVU19BQ0sQloIBEiYKIFNJR19HUk9VUENBTExfU1RBVFVTX0RFTElWRVJfQUNLEJeCARIiChxTSUdfR1JPVVBDQUxMX1NUQVRVU19ERUxJVkVSEJiCARIgChpTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRBCZggESJAoeU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfQUNLEJqCARIsCiZTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRF9ERUxJVkVSX0FDSxCbggESKAoiU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfREVMSVZFUhCcggESGAoSU0lHX0dST1VQQ0FMTF9CVVNZEJ2CARIcChZTSUdfR1JPVVBDQUxMX0JVU1lfQUNLEJ6CARIkCh5TSUdfR1JPVVBDQUxMX0JVU1lfREVMSVZFUl9BQ0sQn4IBEiAKGlNJR19HUk9VUENBTExfQlVTWV9ERUxJVkVSEKCCARIbChVTSUdfU1lOQ19SRUFEX01TR19DMkMQoYIBEh8KGVNJR19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQooIBEiMKHVNJR19TWU5DX1JFQURfTVNHX0RFTElWRVJfQzJDEKOCARIiChxOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTEIGgARImCiBOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTX0FDSxCCoAESLgooTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSX0FDSxCDoAESKgokTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSEISgARIYChJCT1RfTVNHX0dST1VQX1NFTkQQgcABEhgKEkJPVF9NU0dfUkFESU9fU0VORBCCwAESHwoZQk9UX01TR19ST0JPVF9ERUxFVEVfU0VORBCDwAESFwoSTUVTX0NIQVRfTUVTX1JPQk9UEKckEhsKFk1FU19DSEFUX01FU19ST0JPVF9BQ0sQqCQSHQoYTUVTX0NIQVRfTUVTX1JPQk9UX1JFUExZEKkkEg4KCFBDX0xPR0lOENHhAhIRCgtQQ19MT0dJTkFDSxDS4QISDwoJUENfS0lUT1VUENThAhIPCglQQ19MT0dPVVQQ1eECEhkKE1BDX1BDU1lOTUVTU0FHRVRPR1cQ1+ECEhoKFFBDX0dXU1lOTUVTU0FHRVRPQVBQENjhAhIdChdQQ19HV1NZTk1FU1NBR0VUT0FQUEFDSxDZ4QISHAoWUENfUENTWU5NRVNTQUdFVE9HV0FDSxDa4QISGgoUUENfQVBQU1lOTUVTU0FHRVRPR1cQ2+ECEhkKE1BDX0dXU1lOTUVTU0FHRVRPUEMQ3OECEhwKFlBDX0dXU1lOTUVTU0FHRVRPUENBQ0sQ3eECEh0KF1BDX0FQUFNZTk1FU1NBR0VUT0dXQUNLEN7hAhITCg1QQ19IRUFSVEJFQVJUEODhAhIWChBQQ19IRUFSVEJFQVJUQUNLEOHhAhIXChFQQ19DSEVDS0FQUEFDVElWRRDi4QISGgoUUENfQ0hFQ0tBUFBBQ1RJVkVBQ0sQ4+ECEhgKElBDX1JFUE9SVEFQUEFDVElWRRDk4QISGQoTUENfUENTVEFUVVNTWU5UT0FQUBDl4QISHAoWUENfUENTVEFUVVNTWU5UT0FQUEFDSxDm4QISGQoTUENfQVBQU1RBVFVTU1lOVE9QQxDn4QISHAoWUENfQVBQU1RBVFVTU1lOVE9QQ0FDSxDo4QISGQoTUENfQVBQU1lOTk9USUZZVE9HVxDp4QISHAoWUENfQVBQU1lOTk9USUZZVE9HV0FDSxDq4QISGAoSUENfR1dTWU5OT1RJRllUT1BDEOvhAhIbChVQQ19HV1NZTk5PVElGWVRPUENBQ0sQ7OECEhgKEk1FU19PRkZMSU5FU1VNTUFSWRCR4AISHAoWTUVTX09GRkxJTkVTVU1NQVJZX0FDSxCS4AISFgoQTUVTX09GRkxJTkVUT1RBTBCT4AISGgoUTUVTX09GRkxJTkVUT1RBTF9BQ0sQlOACEhQKDk1FU19PRkZMSU5FTVNHEJXgAhIYChJNRVNfT0ZGTElORU1TR19BQ0sQluACEh4KGE1FU19PRkZMSU5FTVNHX0RFTElWRVJFRBCX4AISIgocTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX0FDSxCY4AISLwopTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX05PVElGSUNBVElPTl9BQ0sQmeACEisKJU1FU19PRkZMSU5FTVNHX0RFTElWRVJFRF9OT1RJRklDQVRJT04QmuACKskNCgdFcnJDb2RlEg4KCkVYQ0VQVF9FUlIQABINCgdOT05fRVJSEICAAhIUCg5FUlJfU1lTX1JFR0lTVBCBgAISGgoURVJSX1NZU19JTlRFUk5BTF9FUlIQgoACEhQKDkVSUl9MT0dJTl9BVVRIEIGCAhIZChNFUlJfTE9HSU5fRk9SQklEREVOEIKCAhIQCgpFUlJfTE9HT1VUEIOCAhIeChhFUlJfREVWSUNFU1lOQ19QQVJBTUVURVIQhIICEh4KGEVSUl9ERVZJQ0VTWU5DX0ZPUkJJRERFThCFggISHgoYRVJSX0RFVklDRVNZTkNfRVhDRVBUSU9OEIaCAhIgChpFUlJfVFJBTlNNSVNTSU9OX0ZPUkJJRERFThCHggISHgoYRVJSX1RSQU5TTUlTU0lPTl9TRVNTSU9OEIiCAhIWChBFUlJfQ01fRVhDRVBUSU9OEImCAhIbChVFUlJfQ01fQVVUSF9LSUNLRURPVVQQkIICEhUKD0VSUl9DTV9QSFBfQVVUSBCRggISIgocRVJSX0NNX0FVVEhfS0lDS0VET1VUX0JZX0FQUBCSggISGAoSRVJSX0NNX1VTRVJfRlJFRVpFEJOCAhIYChJFUlJfQ0hBVF9GT1JCSURERU4QgYQCEhgKEkVSUl9DSEFUX1VOSEVBTFRIWRCChAISGAoSRVJSX0NIQVRfUEFSQU1FVEVSEIOEAhIdChdFUlJfQ0hBVF9DQU5DRUxfT1VUVElNRRCEhAISHAoWRVJSX0NIQVRfRlJJRU5EX1JFRlVTRRCRhAISGwoVRVJSX0NIQVRfRlJJRU5EX0JMT0NLEJKEAhIZChNFUlJfQ0hBVF9GUklFTkRfREVMEJOEAhIbChVFUlJfQ0hBVF9GUklFTkRfQURERUQQlIQCEhwKFkVSUl9DSEFUX0ZSSUVORF9BRERJTkcQlYQCEiAKGkVSUl9DSEFUX0ZSSUVORF9ISURFTkFEREVEEJaEAhIdChdFUlJfQ0hBVF9ERUVOQ1JZX0ZBSUxFRBCjhAISGAoSSU5GT19HUk9VUF9QRU5ESU5HEICGAhIZChNFUlJfR1JPVVBfUEFSQU1FVEVSEIGGAhIcChZFUlJfR1JPVVBfT1ZFUkNSRUFUSU9OEIKGAhIYChJFUlJfR1JPVVBfT1ZFUkpPSU4Qg4YCEiAKGkVSUl9HUk9VUF9ORVRXT1JLRVhDRVBUSU9OEISGAhIZChNFUlJfR1JPVVBfRk9SQklEREVOEIWGAhIeChhFUlJfR1JPVVBfSU5URVJFWENFUFRJT04QhoYCEhsKFUVSUl9HUk9VUF9NRU1CRVJFWElTVBCHhgISHgoYRVJSX0dST1VQX01FTUJFUk5PTkVYSVNUEIiGAhIfChlFUlJfR1JPVVBfSU5URVJQRVJNSVNTSU9OEImGAhIdChdFUlJfR1JPVVBfTk9OUEVSTUlTU0lPThCQhgISFgoQRVJSX0dST1VQX01BU1RFUhCRhgISGQoTRVJSX0dST1VQX05PVE1BU1RFUhCShgISHwoZRVJSX0dST1VQX0lOVklURUVYQ0VQVElPThCThgISHQoXRVJSX0dST1VQX0lOVklURVNVQ0NFU1MQlIYCEhkKE0VSUl9HUk9VUF9ESVNNSVNTRUQQlYYCEiAKGkVSUl9HUk9VUF9NRU1CRVJFWElTVF9ISURFEJaGAhIbChVFUlJfR1JPVVBfSk9JTl9SRUpFQ1QQoIYCEh0KF0VSUl9HUk9VUF9OT1RJRllfUkVKRUNUEKGGAhIbChVFUlJfR1JPVVBfTUFTVEVSX1FVSVQQooYCEhUKD0VSUl9DQUxMX1JFRlVTRRCAiAISEwoNRVJSX0NBTExfQlVTWRCBiAISGwoVRVJSX0NBTExfUEVFUl9PRkZMSU5FEIKIAhIcChZFUlJfQ0FMTF9DQUxMRVJfQ0FOQ0VMEIOIAhIjCh1FUlJfQ0FMTF9DQUxMRUVfTElWRUtJVF9UT0tFThCEiAISIgocRVJSX0NBTExfQ0FMTEVFX0xJVkVLSVRfQ09OThCFiAISIQobRVJSX0NBTExfUEVFUl9TVEFSVF9USU1FT1VUEIaIAhIYChJFUlJfQ0FMTF9QRUVSX0xPU1QQh4gCEh8KGUVSUl9DQUxMX0NBTExFRV9OT19BTlNXRVIQiIgCEhcKEUVSUl9SQURJT19ESVNNSVNTEIGKAhIXChFFUlJfUkFESU9fTk9TUEVBSxCCigISGAoSRVJSX1JBRElPX0lTREVMRVRFEIOKAhIVCg9FUlJfUkFESU9fQURNSU4QhIoCKswBCgdNc2dUeXBlEgsKB0RFRkFVTFQQABIRCg1QRVJTT05BTF9UQUxLEAESDgoKR1JPVVBfVEFMSxACEgwKCENPTlRBQ1RTEAMSCwoHU1lTX01TRxAEEhQKEEFEVkVSVElTTUVOVF9NU0cQBRIQCgxHUlBfQ09OVEFDVFMQBhINCglDSE5OX1RBTEsQBxIPCgtDSE5OX05PVElGWRAIEgwKCEJPVF9UQUxLEAsSDAoIUDJQX0NBTEwQEBISCg5SRUZFUkVOQ0VfQ0FMTBARKmcKCkRpdmVjZVR5cGUSCgoGVU5LTk9XEAASCwoHSFdfUFVTSBAQEgsKB1hNX1BVU0gQERIOCgpHT09HTEVfRkNNEBISCQoFSlBVU0gQExINCghBUE5TX0RFVhD+ARIJCgRBUE5TEP8BKrgBCg9DbG9zZUxpbmtSZWFzb24SGAoUQ2xPU0VfUkVBU09OX1VOS05PV04QABIcChhDTE9TRV9SRUFTT05fU2VsZl9Mb2dvdXQQARImCiJDTE9TRV9SRUFTT05fS2lja2VkX0JZX090aGVyRGV2aWNlEAISHgoaQ0xPU0VfUkVBU09OX0tpY2tlZF9CWV9BUFAQAxIlCiFDTE9TRV9SRUFTT05fUmVDb25uZWN0S2lja09sZExpbmsQBCpNChRQdWxsSGlzdG9yeU1zZ0RpcmVjdBISCg5EaXJlY3RfVW5rbm93bhAAEg0KCURpcmVjdF9VcBABEhIKDkRpcmVjdGlvbl9Eb3duEAJCHwoTY29tLm1vc2FudC5pbS5wcm90b0gDWgYuLi9hcHBiBnByb3RvMw");var R=/* @__PURE__ */(E=>(E[E.EXCEPT_CMDID=0]="EXCEPT_CMDID",E[E.SYSTEM_HEARTBEAT=1]="SYSTEM_HEARTBEAT",E[E.SYSTEM_HEARTBEAT_ACK=2]="SYSTEM_HEARTBEAT_ACK",E[E.SYSTEM_PING=3]="SYSTEM_PING",E[E.SYSTEM_PING_ACK=4]="SYSTEM_PING_ACK",E[E.SYSTEM_TOO_MANY_REQUESTS=6]="SYSTEM_TOO_MANY_REQUESTS",E[E.CM_SYNC_APP_PRIVATE_KEY=101]="CM_SYNC_APP_PRIVATE_KEY",E[E.CM_SYNC_APP_PRIVATE_KEY_EMSACK=102]="CM_SYNC_APP_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_PRIVATE_KEY_ACK=103]="CM_SYNC_APP_PRIVATE_KEY_ACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY=104]="CM_SYNC_APP_SEND_PRIVATE_KEY",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK=105]="CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_ACK=106]="CM_SYNC_APP_SEND_PRIVATE_KEY_ACK",E[E.CM_DEVICE_ONLINE_STATUS_NOTIFY=108]="CM_DEVICE_ONLINE_STATUS_NOTIFY",E[E.CM_LOGIN=257]="CM_LOGIN",E[E.CM_LOGIN_ACK=258]="CM_LOGIN_ACK",E[E.CM_LOGOUT=259]="CM_LOGOUT",E[E.CM_LOGOUT_ACK=260]="CM_LOGOUT_ACK",E[E.CM_PUSHTOKENSYNC=261]="CM_PUSHTOKENSYNC",E[E.CM_PUSHTOKENSYNC_ACK=262]="CM_PUSHTOKENSYNC_ACK",E[E.CM_KICKOUT_NOTIFICATION=264]="CM_KICKOUT_NOTIFICATION",E[E.CM_LOGOUT_CONFIRM=265]="CM_LOGOUT_CONFIRM",E[E.CM_LOGOUT_CONFIRM_ACK=266]="CM_LOGOUT_CONFIRM_ACK",E[E.CM_FREEZE_USER_NOTIFY=267]="CM_FREEZE_USER_NOTIFY",E[E.MES_CHAT=4097]="MES_CHAT",E[E.MES_CHAT_ACK=4098]="MES_CHAT_ACK",E[E.MES_CHAT_DELIVER_ACK=4099]="MES_CHAT_DELIVER_ACK",E[E.MES_CHAT_DELIVER=4100]="MES_CHAT_DELIVER",E[E.MES_CHAT_DELIVERED_NOTIFICATION_ACK=4101]="MES_CHAT_DELIVERED_NOTIFICATION_ACK",E[E.MES_CHAT_DELIVERED_NOTIFICATION=4102]="MES_CHAT_DELIVERED_NOTIFICATION",E[E.MES_CHAT_READ=4103]="MES_CHAT_READ",E[E.MES_CHAT_READ_ACK=4104]="MES_CHAT_READ_ACK",E[E.MES_CHAT_READ_DELIVER_ACK=4105]="MES_CHAT_READ_DELIVER_ACK",E[E.MES_CHAT_READ_DELIVER=4106]="MES_CHAT_READ_DELIVER",E[E.MES_CHATCANCEL=4107]="MES_CHATCANCEL",E[E.MES_CHATCANCEL_ACK=4108]="MES_CHATCANCEL_ACK",E[E.MES_CHATCANCEL_DELIVER_ACK=4109]="MES_CHATCANCEL_DELIVER_ACK",E[E.MES_CHATCANCEL_DELIVER=4110]="MES_CHATCANCEL_DELIVER",E[E.MES_CHAT_OPPOSITE_END=4113]="MES_CHAT_OPPOSITE_END",E[E.MES_CHAT_OPPOSITE_END_EMS_ACK=4114]="MES_CHAT_OPPOSITE_END_EMS_ACK",E[E.MES_CHAT_OPPOSITE_END_RECEIVE=4115]="MES_CHAT_OPPOSITE_END_RECEIVE",E[E.MES_CHAT_OPPOSITE_END_RECEIVE_ACK=4116]="MES_CHAT_OPPOSITE_END_RECEIVE_ACK",E[E.MES_CHAT_SYNC_READ_MSG_C2C=4117]="MES_CHAT_SYNC_READ_MSG_C2C",E[E.MES_CHAT_SYNC_READ_MSG_C2C_ACK=4118]="MES_CHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_CHAT_SYNC_READ_MSG_DELIVER_C2C=4119]="MES_CHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_ADDFRIEND=4353]="MES_ADDFRIEND",E[E.MES_ADDFRIEND_ACK=4354]="MES_ADDFRIEND_ACK",E[E.MES_ADDFRIEND_DELIVER_ACK=4355]="MES_ADDFRIEND_DELIVER_ACK",E[E.MES_ADDFRIEND_DELIVER=4356]="MES_ADDFRIEND_DELIVER",E[E.MES_ADDFRIEND_ANS=4357]="MES_ADDFRIEND_ANS",E[E.MES_ADDFRIEND_ANS_ACK=4358]="MES_ADDFRIEND_ANS_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER_ACK=4359]="MES_ADDFRIEND_ANS_DELIVER_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER=4360]="MES_ADDFRIEND_ANS_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY=4613]="MES_USER_INFO_MODIFY_NOTIFY",E[E.MES_USER_INFO_MODIFY_NOTIFY_ACK=4614]="MES_USER_INFO_MODIFY_NOTIFY_ACK",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER=4616]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK=4615]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK",E[E.MES_DELETE_FRIEND_NOTIFY=4617]="MES_DELETE_FRIEND_NOTIFY",E[E.MES_DELETE_FRIEND_NOTIFY_ACK=4624]="MES_DELETE_FRIEND_NOTIFY_ACK",E[E.MES_CHAT_EDIT_MSG_C2C=4644]="MES_CHAT_EDIT_MSG_C2C",E[E.MES_CHAT_EDIT_OPPOSITE_END=4645]="MES_CHAT_EDIT_OPPOSITE_END",E[E.MES_CHAT_MSG_EDIT_ACK=4646]="MES_CHAT_MSG_EDIT_ACK",E[E.MES_CHAT_REACTION_MSG_C2C=4650]="MES_CHAT_REACTION_MSG_C2C",E[E.MES_CHAT_REACTION_OPPOSITE_END=4651]="MES_CHAT_REACTION_OPPOSITE_END",E[E.MES_CHAT_REACTION_MSG_ACK=4652]="MES_CHAT_REACTION_MSG_ACK",E[E.MES_CHAT_REACTION_DELIVER=4653]="MES_CHAT_REACTION_DELIVER",E[E.MS_COMMONNOTIFY=4609]="MS_COMMONNOTIFY",E[E.MS_COMMONNOTIFY_ACK=4610]="MS_COMMONNOTIFY_ACK",E[E.MS_COMMONNOTIFY_DELIVER_ACK=4611]="MS_COMMONNOTIFY_DELIVER_ACK",E[E.MS_COMMONNOTIFY_DELIVER=4612]="MS_COMMONNOTIFY_DELIVER",E[E.MSG_SET_UNREAD=4625]="MSG_SET_UNREAD",E[E.MSG_SET_UNREAD_ACK=4626]="MSG_SET_UNREAD_ACK",E[E.MS_WALLETNOTIFY_DELIVER=4627]="MS_WALLETNOTIFY_DELIVER",E[E.MS_WALLETNOTIFY_DELIVER_ACK=4628]="MS_WALLETNOTIFY_DELIVER_ACK",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY=4629]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK=4630]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK",E[E.MES_FRIEND_NOTIFY=4631]="MES_FRIEND_NOTIFY",E[E.MES_FRIEND_NOTIFY_ACK=4632]="MES_FRIEND_NOTIFY_ACK",E[E.MES_USER_FAVORITE_LIST_CHANGED_NOTIFY=4633]="MES_USER_FAVORITE_LIST_CHANGED_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY=4640]="MES_USER_SWITCH_SET_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY_ACK=4641]="MES_USER_SWITCH_SET_NOTIFY_ACK",E[E.MES_USER_APPLY_DEDUCTION_NOTIFY=4679]="MES_USER_APPLY_DEDUCTION_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY=4642]="MES_GIVE_LOTTERY_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY_ACK=4643]="MES_GIVE_LOTTERY_NOTIFY_ACK",E[E.GROUP_CHAT=8193]="GROUP_CHAT",E[E.GROUP_CHAT_ACK=8194]="GROUP_CHAT_ACK",E[E.MES_GRPCHAT_DELIVER_ACK=8195]="MES_GRPCHAT_DELIVER_ACK",E[E.MES_GRPCHAT_DELIVER=8196]="MES_GRPCHAT_DELIVER",E[E.GROUP_CHATCANCEL=8197]="GROUP_CHATCANCEL",E[E.GROUP_CHATCANCEL_ACK=8198]="GROUP_CHATCANCEL_ACK",E[E.GROUP_CHATCANCEL_DELIVER_ACK=8199]="GROUP_CHATCANCEL_DELIVER_ACK",E[E.GROUP_CHATCANCEL_DELIVER=8200]="GROUP_CHATCANCEL_DELIVER",E[E.MES_JOINGRP=8449]="MES_JOINGRP",E[E.MES_JOINGRP_ACK=8450]="MES_JOINGRP_ACK",E[E.MES_JOINGRP_DELIVER_ACK=8451]="MES_JOINGRP_DELIVER_ACK",E[E.MES_JOINGRP_DELIVER=8452]="MES_JOINGRP_DELIVER",E[E.MES_GRPNOTIFY_DELIVER_ACK=8707]="MES_GRPNOTIFY_DELIVER_ACK",E[E.MES_GRPNOTIFY_DELIVER=8708]="MES_GRPNOTIFY_DELIVER",E[E.MES_EXCHANGE_KEY=8961]="MES_EXCHANGE_KEY",E[E.MES_EXCHANGE_KEY_ACK=8962]="MES_EXCHANGE_KEY_ACK",E[E.MES_EXCHANGE_KEY_DELIVER_ACK=8963]="MES_EXCHANGE_KEY_DELIVER_ACK",E[E.MES_EXCHANGE_KEY_DELIVER=8964]="MES_EXCHANGE_KEY_DELIVER",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK=8965]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY=8966]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C=8967]="MES_GRPCHAT_SYNC_READ_MSG_C2C",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK=8968]="MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C=8969]="MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C=8976]="MES_GRPCHAT_EDIT_MSG_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C_ACK=8977]="MES_GRPCHAT_EDIT_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_MSG_C2C=8978]="MES_GRPCHAT_REACTION_MSG_C2C",E[E.MES_GRPCHAT_REACTION_MSG_C2C_ACK=8979]="MES_GRPCHAT_REACTION_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_DELIVER=8980]="MES_GRPCHAT_REACTION_DELIVER",E[E.RADIO_CHAT=12289]="RADIO_CHAT",E[E.RADIO_CHAT_ACK=12290]="RADIO_CHAT_ACK",E[E.RADIO_CHAT_DELIVER_ACK=12291]="RADIO_CHAT_DELIVER_ACK",E[E.RADIO_CHAT_DELIVER=12292]="RADIO_CHAT_DELIVER",E[E.RADIO_ADMIN_CANCEL_CHAT=12293]="RADIO_ADMIN_CANCEL_CHAT",E[E.RADIO_ADMIN_CANCEL_CHAT_ACK=12294]="RADIO_ADMIN_CANCEL_CHAT_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK=12295]="RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER=12296]="RADIO_ADMIN_CANCEL_CHAT_DELIVER",E[E.RADIO_CANCEL_CHAT=12297]="RADIO_CANCEL_CHAT",E[E.RADIO_CANCEL_CHAT_ACK=12298]="RADIO_CANCEL_CHAT_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER_ACK=12299]="RADIO_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER=12300]="RADIO_CANCEL_CHAT_DELIVER",E[E.RADIO_APPLY_DELIVER_ACK=12547]="RADIO_APPLY_DELIVER_ACK",E[E.RADIO_APPLY_DELIVER=12548]="RADIO_APPLY_DELIVER",E[E.RADIO_INVITE_DELIVER_ACK=12551]="RADIO_INVITE_DELIVER_ACK",E[E.RADIO_INVITE_DELIVER=12552]="RADIO_INVITE_DELIVER",E[E.RADIO_NOTIFY_DELIVER_ACK=12803]="RADIO_NOTIFY_DELIVER_ACK",E[E.RADIO_NOTIFY_DELIVER=12804]="RADIO_NOTIFY_DELIVER",E[E.MES_RADIO_SYNC_READ_MSG_C2C=12805]="MES_RADIO_SYNC_READ_MSG_C2C",E[E.MES_RADIO_SYNC_READ_MSG_C2C_ACK=12806]="MES_RADIO_SYNC_READ_MSG_C2C_ACK",E[E.MES_RADIO_SYNC_READ_MSG_DELIVER_C2C=12807]="MES_RADIO_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_RADIO_EDIT_MSG_C2C=12808]="MES_RADIO_EDIT_MSG_C2C",E[E.MES_RADIO_EDIT_MSG_C2C_ACK=12809]="MES_RADIO_EDIT_MSG_C2C_ACK",E[E.MES_RADIO_RED_PACKET_GRABBED=12816]="MES_RADIO_RED_PACKET_GRABBED",E[E.MES_RADIO_REACTION_MSG_C2C=12817]="MES_RADIO_REACTION_MSG_C2C",E[E.MES_RADIO_REACTION_MSG_C2C_ACK=12818]="MES_RADIO_REACTION_MSG_C2C_ACK",E[E.MES_RADIO_REACTION_DELIVER=12819]="MES_RADIO_REACTION_DELIVER",E[E.SIG_SPONSORP2PCALL=16385]="SIG_SPONSORP2PCALL",E[E.SIG_SPONSORP2PCALL_ACK=16386]="SIG_SPONSORP2PCALL_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER_ACK=16387]="SIG_SPONSORP2PCALL_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER=16388]="SIG_SPONSORP2PCALL_DELIVER",E[E.SIG_SPONSORP2PCALL_ANS=16389]="SIG_SPONSORP2PCALL_ANS",E[E.SIG_SPONSORP2PCALL_ANS_ACK=16390]="SIG_SPONSORP2PCALL_ANS_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER_ACK=16391]="SIG_SPONSORP2PCALL_ANS_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER=16392]="SIG_SPONSORP2PCALL_ANS_DELIVER",E[E.SIG_P2PCALL_EXCHANGE_NATINFO=16393]="SIG_P2PCALL_EXCHANGE_NATINFO",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_ACK=16394]="SIG_P2PCALL_EXCHANGE_NATINFO_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK=16395]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER=16396]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER",E[E.SIG_P2PCALLHANGUP=16397]="SIG_P2PCALLHANGUP",E[E.SIG_P2PCALLHANGUP_ACK=16398]="SIG_P2PCALLHANGUP_ACK",E[E.SIG_P2PCALLHANGUPDElIVER_ACK=16399]="SIG_P2PCALLHANGUPDElIVER_ACK",E[E.SIG_P2PCALLHANGUPDElIVER=16400]="SIG_P2PCALLHANGUPDElIVER",E[E.SIG_P2PCALLSTATENOTIFY=16401]="SIG_P2PCALLSTATENOTIFY",E[E.SIG_P2PCALLSTATENOTIFY_ACK=16402]="SIG_P2PCALLSTATENOTIFY_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER_ACK=16403]="SIG_P2PCALLSTATENOTIFYDElIVER_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER=16404]="SIG_P2PCALLSTATENOTIFYDElIVER",E[E.SIG_SPONSORGROUPCALL=16641]="SIG_SPONSORGROUPCALL",E[E.SIG_SPONSORGROUPCALL_ACK=16642]="SIG_SPONSORGROUPCALL_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER_ACK=16643]="SIG_SPONSORGROUPCALL_DELIVER_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER=16644]="SIG_SPONSORGROUPCALL_DELIVER",E[E.SIG_GROUPCALL_ANS=16645]="SIG_GROUPCALL_ANS",E[E.SIG_GROUPCALL_ANS_ACK=16646]="SIG_GROUPCALL_ANS_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER_ACK=16647]="SIG_GROUPCALL_ANS_DELIVER_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER=16648]="SIG_GROUPCALL_ANS_DELIVER",E[E.SIG_GROUPCALL_JOIN=16649]="SIG_GROUPCALL_JOIN",E[E.SIG_GROUPCALL_JOIN_ACK=16650]="SIG_GROUPCALL_JOIN_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER_ACK=16651]="SIG_GROUPCALL_JOIN_DELIVER_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER=16652]="SIG_GROUPCALL_JOIN_DELIVER",E[E.SIG_GROUPCALL_HANGUP=16653]="SIG_GROUPCALL_HANGUP",E[E.SIG_GROUPCALL_HANGUP_ACK=16654]="SIG_GROUPCALL_HANGUP_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER_ACK=16655]="SIG_GROUPCALL_HANGUP_DELIVER_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER=16656]="SIG_GROUPCALL_HANGUP_DELIVER",E[E.SIG_GROUPCALL_FINISH=16657]="SIG_GROUPCALL_FINISH",E[E.SIG_GROUPCALL_FINISH_ACK=16658]="SIG_GROUPCALL_FINISH_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER_ACK=16659]="SIG_GROUPCALL_FINISH_DELIVER_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER=16660]="SIG_GROUPCALL_FINISH_DELIVER",E[E.SIG_GROUPCALL_STATUS=16661]="SIG_GROUPCALL_STATUS",E[E.SIG_GROUPCALL_STATUS_ACK=16662]="SIG_GROUPCALL_STATUS_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER_ACK=16663]="SIG_GROUPCALL_STATUS_DELIVER_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER=16664]="SIG_GROUPCALL_STATUS_DELIVER",E[E.SIG_GROUPCALL_DISCONNECTED=16665]="SIG_GROUPCALL_DISCONNECTED",E[E.SIG_GROUPCALL_DISCONNECTED_ACK=16666]="SIG_GROUPCALL_DISCONNECTED_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK=16667]="SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER=16668]="SIG_GROUPCALL_DISCONNECTED_DELIVER",E[E.SIG_GROUPCALL_BUSY=16669]="SIG_GROUPCALL_BUSY",E[E.SIG_GROUPCALL_BUSY_ACK=16670]="SIG_GROUPCALL_BUSY_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER_ACK=16671]="SIG_GROUPCALL_BUSY_DELIVER_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER=16672]="SIG_GROUPCALL_BUSY_DELIVER",E[E.SIG_SYNC_READ_MSG_C2C=16673]="SIG_SYNC_READ_MSG_C2C",E[E.SIG_SYNC_READ_MSG_C2C_ACK=16674]="SIG_SYNC_READ_MSG_C2C_ACK",E[E.SIG_SYNC_READ_MSG_DELIVER_C2C=16675]="SIG_SYNC_READ_MSG_DELIVER_C2C",E[E.NOTIFICATION_COMMON_CHANNELS=20481]="NOTIFICATION_COMMON_CHANNELS",E[E.NOTIFICATION_COMMON_CHANNELS_ACK=20482]="NOTIFICATION_COMMON_CHANNELS_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK=20483]="NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER=20484]="NOTIFICATION_COMMON_CHANNELS_DELIVER",E[E.BOT_MSG_GROUP_SEND=24577]="BOT_MSG_GROUP_SEND",E[E.BOT_MSG_RADIO_SEND=24578]="BOT_MSG_RADIO_SEND",E[E.BOT_MSG_ROBOT_DELETE_SEND=24579]="BOT_MSG_ROBOT_DELETE_SEND",E[E.MES_CHAT_MES_ROBOT=4647]="MES_CHAT_MES_ROBOT",E[E.MES_CHAT_MES_ROBOT_ACK=4648]="MES_CHAT_MES_ROBOT_ACK",E[E.MES_CHAT_MES_ROBOT_REPLY=4649]="MES_CHAT_MES_ROBOT_REPLY",E[E.PC_LOGIN=45265]="PC_LOGIN",E[E.PC_LOGINACK=45266]="PC_LOGINACK",E[E.PC_KITOUT=45268]="PC_KITOUT",E[E.PC_LOGOUT=45269]="PC_LOGOUT",E[E.PC_PCSYNMESSAGETOGW=45271]="PC_PCSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOAPP=45272]="PC_GWSYNMESSAGETOAPP",E[E.PC_GWSYNMESSAGETOAPPACK=45273]="PC_GWSYNMESSAGETOAPPACK",E[E.PC_PCSYNMESSAGETOGWACK=45274]="PC_PCSYNMESSAGETOGWACK",E[E.PC_APPSYNMESSAGETOGW=45275]="PC_APPSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOPC=45276]="PC_GWSYNMESSAGETOPC",E[E.PC_GWSYNMESSAGETOPCACK=45277]="PC_GWSYNMESSAGETOPCACK",E[E.PC_APPSYNMESSAGETOGWACK=45278]="PC_APPSYNMESSAGETOGWACK",E[E.PC_HEARTBEART=45280]="PC_HEARTBEART",E[E.PC_HEARTBEARTACK=45281]="PC_HEARTBEARTACK",E[E.PC_CHECKAPPACTIVE=45282]="PC_CHECKAPPACTIVE",E[E.PC_CHECKAPPACTIVEACK=45283]="PC_CHECKAPPACTIVEACK",E[E.PC_REPORTAPPACTIVE=45284]="PC_REPORTAPPACTIVE",E[E.PC_PCSTATUSSYNTOAPP=45285]="PC_PCSTATUSSYNTOAPP",E[E.PC_PCSTATUSSYNTOAPPACK=45286]="PC_PCSTATUSSYNTOAPPACK",E[E.PC_APPSTATUSSYNTOPC=45287]="PC_APPSTATUSSYNTOPC",E[E.PC_APPSTATUSSYNTOPCACK=45288]="PC_APPSTATUSSYNTOPCACK",E[E.PC_APPSYNNOTIFYTOGW=45289]="PC_APPSYNNOTIFYTOGW",E[E.PC_APPSYNNOTIFYTOGWACK=45290]="PC_APPSYNNOTIFYTOGWACK",E[E.PC_GWSYNNOTIFYTOPC=45291]="PC_GWSYNNOTIFYTOPC",E[E.PC_GWSYNNOTIFYTOPCACK=45292]="PC_GWSYNNOTIFYTOPCACK",E[E.MES_OFFLINESUMMARY=45073]="MES_OFFLINESUMMARY",E[E.MES_OFFLINESUMMARY_ACK=45074]="MES_OFFLINESUMMARY_ACK",E[E.MES_OFFLINETOTAL=45075]="MES_OFFLINETOTAL",E[E.MES_OFFLINETOTAL_ACK=45076]="MES_OFFLINETOTAL_ACK",E[E.MES_OFFLINEMSG=45077]="MES_OFFLINEMSG",E[E.MES_OFFLINEMSG_ACK=45078]="MES_OFFLINEMSG_ACK",E[E.MES_OFFLINEMSG_DELIVERED=45079]="MES_OFFLINEMSG_DELIVERED",E[E.MES_OFFLINEMSG_DELIVERED_ACK=45080]="MES_OFFLINEMSG_DELIVERED_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK=45081]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION=45082]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION",E))(R||{}),S=/* @__PURE__ */(E=>(E[E.EXCEPT_ERR=0]="EXCEPT_ERR",E[E.NON_ERR=32768]="NON_ERR",E[E.ERR_SYS_REGIST=32769]="ERR_SYS_REGIST",E[E.ERR_SYS_INTERNAL_ERR=32770]="ERR_SYS_INTERNAL_ERR",E[E.ERR_LOGIN_AUTH=33025]="ERR_LOGIN_AUTH",E[E.ERR_LOGIN_FORBIDDEN=33026]="ERR_LOGIN_FORBIDDEN",E[E.ERR_LOGOUT=33027]="ERR_LOGOUT",E[E.ERR_DEVICESYNC_PARAMETER=33028]="ERR_DEVICESYNC_PARAMETER",E[E.ERR_DEVICESYNC_FORBIDDEN=33029]="ERR_DEVICESYNC_FORBIDDEN",E[E.ERR_DEVICESYNC_EXCEPTION=33030]="ERR_DEVICESYNC_EXCEPTION",E[E.ERR_TRANSMISSION_FORBIDDEN=33031]="ERR_TRANSMISSION_FORBIDDEN",E[E.ERR_TRANSMISSION_SESSION=33032]="ERR_TRANSMISSION_SESSION",E[E.ERR_CM_EXCEPTION=33033]="ERR_CM_EXCEPTION",E[E.ERR_CM_AUTH_KICKEDOUT=33040]="ERR_CM_AUTH_KICKEDOUT",E[E.ERR_CM_PHP_AUTH=33041]="ERR_CM_PHP_AUTH",E[E.ERR_CM_AUTH_KICKEDOUT_BY_APP=33042]="ERR_CM_AUTH_KICKEDOUT_BY_APP",E[E.ERR_CM_USER_FREEZE=33043]="ERR_CM_USER_FREEZE",E[E.ERR_CHAT_FORBIDDEN=33281]="ERR_CHAT_FORBIDDEN",E[E.ERR_CHAT_UNHEALTHY=33282]="ERR_CHAT_UNHEALTHY",E[E.ERR_CHAT_PARAMETER=33283]="ERR_CHAT_PARAMETER",E[E.ERR_CHAT_CANCEL_OUTTIME=33284]="ERR_CHAT_CANCEL_OUTTIME",E[E.ERR_CHAT_FRIEND_REFUSE=33297]="ERR_CHAT_FRIEND_REFUSE",E[E.ERR_CHAT_FRIEND_BLOCK=33298]="ERR_CHAT_FRIEND_BLOCK",E[E.ERR_CHAT_FRIEND_DEL=33299]="ERR_CHAT_FRIEND_DEL",E[E.ERR_CHAT_FRIEND_ADDED=33300]="ERR_CHAT_FRIEND_ADDED",E[E.ERR_CHAT_FRIEND_ADDING=33301]="ERR_CHAT_FRIEND_ADDING",E[E.ERR_CHAT_FRIEND_HIDENADDED=33302]="ERR_CHAT_FRIEND_HIDENADDED",E[E.ERR_CHAT_DEENCRY_FAILED=33315]="ERR_CHAT_DEENCRY_FAILED",E[E.INFO_GROUP_PENDING=33536]="INFO_GROUP_PENDING",E[E.ERR_GROUP_PARAMETER=33537]="ERR_GROUP_PARAMETER",E[E.ERR_GROUP_OVERCREATION=33538]="ERR_GROUP_OVERCREATION",E[E.ERR_GROUP_OVERJOIN=33539]="ERR_GROUP_OVERJOIN",E[E.ERR_GROUP_NETWORKEXCEPTION=33540]="ERR_GROUP_NETWORKEXCEPTION",E[E.ERR_GROUP_FORBIDDEN=33541]="ERR_GROUP_FORBIDDEN",E[E.ERR_GROUP_INTEREXCEPTION=33542]="ERR_GROUP_INTEREXCEPTION",E[E.ERR_GROUP_MEMBEREXIST=33543]="ERR_GROUP_MEMBEREXIST",E[E.ERR_GROUP_MEMBERNONEXIST=33544]="ERR_GROUP_MEMBERNONEXIST",E[E.ERR_GROUP_INTERPERMISSION=33545]="ERR_GROUP_INTERPERMISSION",E[E.ERR_GROUP_NONPERMISSION=33552]="ERR_GROUP_NONPERMISSION",E[E.ERR_GROUP_MASTER=33553]="ERR_GROUP_MASTER",E[E.ERR_GROUP_NOTMASTER=33554]="ERR_GROUP_NOTMASTER",E[E.ERR_GROUP_INVITEEXCEPTION=33555]="ERR_GROUP_INVITEEXCEPTION",E[E.ERR_GROUP_INVITESUCCESS=33556]="ERR_GROUP_INVITESUCCESS",E[E.ERR_GROUP_DISMISSED=33557]="ERR_GROUP_DISMISSED",E[E.ERR_GROUP_MEMBEREXIST_HIDE=33558]="ERR_GROUP_MEMBEREXIST_HIDE",E[E.ERR_GROUP_JOIN_REJECT=33568]="ERR_GROUP_JOIN_REJECT",E[E.ERR_GROUP_NOTIFY_REJECT=33569]="ERR_GROUP_NOTIFY_REJECT",E[E.ERR_GROUP_MASTER_QUIT=33570]="ERR_GROUP_MASTER_QUIT",E[E.ERR_CALL_REFUSE=33792]="ERR_CALL_REFUSE",E[E.ERR_CALL_BUSY=33793]="ERR_CALL_BUSY",E[E.ERR_CALL_PEER_OFFLINE=33794]="ERR_CALL_PEER_OFFLINE",E[E.ERR_CALL_CALLER_CANCEL=33795]="ERR_CALL_CALLER_CANCEL",E[E.ERR_CALL_CALLEE_LIVEKIT_TOKEN=33796]="ERR_CALL_CALLEE_LIVEKIT_TOKEN",E[E.ERR_CALL_CALLEE_LIVEKIT_CONN=33797]="ERR_CALL_CALLEE_LIVEKIT_CONN",E[E.ERR_CALL_PEER_START_TIMEOUT=33798]="ERR_CALL_PEER_START_TIMEOUT",E[E.ERR_CALL_PEER_LOST=33799]="ERR_CALL_PEER_LOST",E[E.ERR_CALL_CALLEE_NO_ANSWER=33800]="ERR_CALL_CALLEE_NO_ANSWER",E[E.ERR_RADIO_DISMISS=34049]="ERR_RADIO_DISMISS",E[E.ERR_RADIO_NOSPEAK=34050]="ERR_RADIO_NOSPEAK",E[E.ERR_RADIO_ISDELETE=34051]="ERR_RADIO_ISDELETE",E[E.ERR_RADIO_ADMIN=34052]="ERR_RADIO_ADMIN",E))(S||{});export{R as CmdId,S as ErrCode,_ as file_im_pub};
|
|
1
|
+
import{fileDesc as E}from"@bufbuild/protobuf/codegenv2";const _=/* @__PURE__ */E("CgxpbS5wdWIucHJvdG8SCmltLmFwcC5wdGwiGwoKU3lzdGVtUGluZxINCgVtc2dJZBgBIAEoCSqMOgoFQ21kSWQSEAoMRVhDRVBUX0NNRElEEAASFAoQU1lTVEVNX0hFQVJUQkVBVBABEhgKFFNZU1RFTV9IRUFSVEJFQVRfQUNLEAISDwoLU1lTVEVNX1BJTkcQAxITCg9TWVNURU1fUElOR19BQ0sQBBIcChhTWVNURU1fVE9PX01BTllfUkVRVUVTVFMQBhIbChdDTV9TWU5DX0FQUF9QUklWQVRFX0tFWRBlEiIKHkNNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0VNU0FDSxBmEh8KG0NNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0FDSxBnEiAKHENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVkQaBInCiNDTV9TWU5DX0FQUF9TRU5EX1BSSVZBVEVfS0VZX0VNU0FDSxBpEiQKIENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVlfQUNLEGoSIgoeQ01fREVWSUNFX09OTElORV9TVEFUVVNfTk9USUZZEGwSDQoIQ01fTE9HSU4QgQISEQoMQ01fTE9HSU5fQUNLEIICEg4KCUNNX0xPR09VVBCDAhISCg1DTV9MT0dPVVRfQUNLEIQCEhUKEENNX1BVU0hUT0tFTlNZTkMQhQISGQoUQ01fUFVTSFRPS0VOU1lOQ19BQ0sQhgISHAoXQ01fS0lDS09VVF9OT1RJRklDQVRJT04QiAISFgoRQ01fTE9HT1VUX0NPTkZJUk0QiQISGgoVQ01fTE9HT1VUX0NPTkZJUk1fQUNLEIoCEhoKFUNNX0ZSRUVaRV9VU0VSX05PVElGWRCLAhIUCg9DTV9DTElFTlRfU1RBVEUQjAISGAoTQ01fQ0xJRU5UX1NUQVRFX0FDSxCNAhINCghNRVNfQ0hBVBCBIBIRCgxNRVNfQ0hBVF9BQ0sQgiASGQoUTUVTX0NIQVRfREVMSVZFUl9BQ0sQgyASFQoQTUVTX0NIQVRfREVMSVZFUhCEIBIoCiNNRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OX0FDSxCFIBIkCh9NRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OEIYgEhIKDU1FU19DSEFUX1JFQUQQhyASFgoRTUVTX0NIQVRfUkVBRF9BQ0sQiCASHgoZTUVTX0NIQVRfUkVBRF9ERUxJVkVSX0FDSxCJIBIaChVNRVNfQ0hBVF9SRUFEX0RFTElWRVIQiiASEwoOTUVTX0NIQVRDQU5DRUwQiyASFwoSTUVTX0NIQVRDQU5DRUxfQUNLEIwgEh8KGk1FU19DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEI0gEhsKFk1FU19DSEFUQ0FOQ0VMX0RFTElWRVIQjiASGgoVTUVTX0NIQVRfT1BQT1NJVEVfRU5EEJEgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9FTVNfQUNLEJIgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFEJMgEiYKIU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFX0FDSxCUIBIfChpNRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCVIBIjCh5NRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQliASJwoiTUVTX0NIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCXIBISCg1NRVNfQURERlJJRU5EEIEiEhYKEU1FU19BRERGUklFTkRfQUNLEIIiEh4KGU1FU19BRERGUklFTkRfREVMSVZFUl9BQ0sQgyISGgoVTUVTX0FEREZSSUVORF9ERUxJVkVSEIQiEhYKEU1FU19BRERGUklFTkRfQU5TEIUiEhoKFU1FU19BRERGUklFTkRfQU5TX0FDSxCGIhIiCh1NRVNfQURERlJJRU5EX0FOU19ERUxJVkVSX0FDSxCHIhIeChlNRVNfQURERlJJRU5EX0FOU19ERUxJVkVSEIgiEiAKG01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWRCFJBIkCh9NRVNfVVNFUl9JTkZPX01PRElGWV9OT1RJRllfQUNLEIYkEigKI01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSEIgkEiwKJ01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSX0FDSxCHJBIdChhNRVNfREVMRVRFX0ZSSUVORF9OT1RJRlkQiSQSIQocTUVTX0RFTEVURV9GUklFTkRfTk9USUZZX0FDSxCQJBIaChVNRVNfQ0hBVF9FRElUX01TR19DMkMQpCQSHwoaTUVTX0NIQVRfRURJVF9PUFBPU0lURV9FTkQQpSQSGgoVTUVTX0NIQVRfTVNHX0VESVRfQUNLEKYkEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19DMkMQqiQSIwoeTUVTX0NIQVRfUkVBQ1RJT05fT1BQT1NJVEVfRU5EEKskEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19BQ0sQrCQSHgoZTUVTX0NIQVRfUkVBQ1RJT05fREVMSVZFUhCtJBIUCg9NU19DT01NT05OT1RJRlkQgSQSGAoTTVNfQ09NTU9OTk9USUZZX0FDSxCCJBIgChtNU19DT01NT05OT1RJRllfREVMSVZFUl9BQ0sQgyQSHAoXTVNfQ09NTU9OTk9USUZZX0RFTElWRVIQhCQSEwoOTVNHX1NFVF9VTlJFQUQQkSQSFwoSTVNHX1NFVF9VTlJFQURfQUNLEJIkEhwKF01TX1dBTExFVE5PVElGWV9ERUxJVkVSEJMkEiAKG01TX1dBTExFVE5PVElGWV9ERUxJVkVSX0FDSxCUJBInCiJNRVNfRlJJRU5EX0JMQUNLTElTVF9DSEFOR0VfTk9USUZZEJUkEisKJk1FU19GUklFTkRfQkxBQ0tMSVNUX0NIQU5HRV9OT1RJRllfQUNLEJYkEhYKEU1FU19GUklFTkRfTk9USUZZEJckEhoKFU1FU19GUklFTkRfTk9USUZZX0FDSxCYJBIqCiVNRVNfVVNFUl9GQVZPUklURV9MSVNUX0NIQU5HRURfTk9USUZZEJkkEh8KGk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZEKAkEiMKHk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZX0FDSxChJBIkCh9NRVNfVVNFUl9BUFBMWV9ERURVQ1RJT05fTk9USUZZEMckEhwKF01FU19HSVZFX0xPVFRFUllfTk9USUZZEKIkEiAKG01FU19HSVZFX0xPVFRFUllfTk9USUZZX0FDSxCjJBIPCgpHUk9VUF9DSEFUEIFAEhMKDkdST1VQX0NIQVRfQUNLEIJAEhwKF01FU19HUlBDSEFUX0RFTElWRVJfQUNLEINAEhgKE01FU19HUlBDSEFUX0RFTElWRVIQhEASFQoQR1JPVVBfQ0hBVENBTkNFTBCFQBIZChRHUk9VUF9DSEFUQ0FOQ0VMX0FDSxCGQBIhChxHUk9VUF9DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEIdAEh0KGEdST1VQX0NIQVRDQU5DRUxfREVMSVZFUhCIQBIQCgtNRVNfSk9JTkdSUBCBQhIUCg9NRVNfSk9JTkdSUF9BQ0sQgkISHAoXTUVTX0pPSU5HUlBfREVMSVZFUl9BQ0sQg0ISGAoTTUVTX0pPSU5HUlBfREVMSVZFUhCEQhIeChlNRVNfR1JQTk9USUZZX0RFTElWRVJfQUNLEINEEhoKFU1FU19HUlBOT1RJRllfREVMSVZFUhCERBIVChBNRVNfRVhDSEFOR0VfS0VZEIFGEhkKFE1FU19FWENIQU5HRV9LRVlfQUNLEIJGEiEKHE1FU19FWENIQU5HRV9LRVlfREVMSVZFUl9BQ0sQg0YSHQoYTUVTX0VYQ0hBTkdFX0tFWV9ERUxJVkVSEIRGEikKJE1FU19FWENIQU5HRV9LRVlfREVMSVZFUkRfTk9USUZZX0FDSxCFRhIlCiBNRVNfRVhDSEFOR0VfS0VZX0RFTElWRVJEX05PVElGWRCGRhIiCh1NRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCHRhImCiFNRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQiEYSKgolTUVTX0dSUENIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCJRhIdChhNRVNfR1JQQ0hBVF9FRElUX01TR19DMkMQkEYSIQocTUVTX0dSUENIQVRfRURJVF9NU0dfQzJDX0FDSxCRRhIhChxNRVNfR1JQQ0hBVF9SRUFDVElPTl9NU0dfQzJDEJJGEiUKIE1FU19HUlBDSEFUX1JFQUNUSU9OX01TR19DMkNfQUNLEJNGEiEKHE1FU19HUlBDSEFUX1JFQUNUSU9OX0RFTElWRVIQlEYSDwoKUkFESU9fQ0hBVBCBYBITCg5SQURJT19DSEFUX0FDSxCCYBIbChZSQURJT19DSEFUX0RFTElWRVJfQUNLEINgEhcKElJBRElPX0NIQVRfREVMSVZFUhCEYBIcChdSQURJT19BRE1JTl9DQU5DRUxfQ0hBVBCFYBIgChtSQURJT19BRE1JTl9DQU5DRUxfQ0hBVF9BQ0sQhmASKAojUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQh2ASJAofUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUhCIYBIWChFSQURJT19DQU5DRUxfQ0hBVBCJYBIaChVSQURJT19DQU5DRUxfQ0hBVF9BQ0sQimASIgodUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQi2ASHgoZUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUhCMYBIcChdSQURJT19BUFBMWV9ERUxJVkVSX0FDSxCDYhIYChNSQURJT19BUFBMWV9ERUxJVkVSEIRiEh0KGFJBRElPX0lOVklURV9ERUxJVkVSX0FDSxCHYhIZChRSQURJT19JTlZJVEVfREVMSVZFUhCIYhIdChhSQURJT19OT1RJRllfREVMSVZFUl9BQ0sQg2QSGQoUUkFESU9fTk9USUZZX0RFTElWRVIQhGQSIAobTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfQzJDEIVkEiQKH01FU19SQURJT19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQhmQSKAojTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfREVMSVZFUl9DMkMQh2QSGwoWTUVTX1JBRElPX0VESVRfTVNHX0MyQxCIZBIfChpNRVNfUkFESU9fRURJVF9NU0dfQzJDX0FDSxCJZBIhChxNRVNfUkFESU9fUkVEX1BBQ0tFVF9HUkFCQkVEEJBkEh8KGk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDEJFkEiMKHk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDX0FDSxCSZBIfChpNRVNfUkFESU9fUkVBQ1RJT05fREVMSVZFUhCTZBIYChJTSUdfU1BPTlNPUlAyUENBTEwQgYABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BQ0sQgoABEiQKHlNJR19TUE9OU09SUDJQQ0FMTF9ERUxJVkVSX0FDSxCDgAESIAoaU0lHX1NQT05TT1JQMlBDQUxMX0RFTElWRVIQhIABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BTlMQhYABEiAKGlNJR19TUE9OU09SUDJQQ0FMTF9BTlNfQUNLEIaAARIoCiJTSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVJfQUNLEIeAARIkCh5TSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVIQiIABEiIKHFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk8QiYABEiYKIFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk9fQUNLEIqAARIuCihTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVJfQUNLEIuAARIqCiRTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVIQjIABEhcKEVNJR19QMlBDQUxMSEFOR1VQEI2AARIbChVTSUdfUDJQQ0FMTEhBTkdVUF9BQ0sQjoABEiIKHFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUl9BQ0sQj4ABEh4KGFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUhCQgAESHAoWU0lHX1AyUENBTExTVEFURU5PVElGWRCRgAESIAoaU0lHX1AyUENBTExTVEFURU5PVElGWV9BQ0sQkoABEicKIVNJR19QMlBDQUxMU1RBVEVOT1RJRllERWxJVkVSX0FDSxCTgAESIwodU0lHX1AyUENBTExTVEFURU5PVElGWURFbElWRVIQlIABEhoKFFNJR19TUE9OU09SR1JPVVBDQUxMEIGCARIeChhTSUdfU1BPTlNPUkdST1VQQ0FMTF9BQ0sQgoIBEiYKIFNJR19TUE9OU09SR1JPVVBDQUxMX0RFTElWRVJfQUNLEIOCARIiChxTSUdfU1BPTlNPUkdST1VQQ0FMTF9ERUxJVkVSEISCARIXChFTSUdfR1JPVVBDQUxMX0FOUxCFggESGwoVU0lHX0dST1VQQ0FMTF9BTlNfQUNLEIaCARIjCh1TSUdfR1JPVVBDQUxMX0FOU19ERUxJVkVSX0FDSxCHggESHwoZU0lHX0dST1VQQ0FMTF9BTlNfREVMSVZFUhCIggESGAoSU0lHX0dST1VQQ0FMTF9KT0lOEImCARIcChZTSUdfR1JPVVBDQUxMX0pPSU5fQUNLEIqCARIkCh5TSUdfR1JPVVBDQUxMX0pPSU5fREVMSVZFUl9BQ0sQi4IBEiAKGlNJR19HUk9VUENBTExfSk9JTl9ERUxJVkVSEIyCARIaChRTSUdfR1JPVVBDQUxMX0hBTkdVUBCNggESHgoYU0lHX0dST1VQQ0FMTF9IQU5HVVBfQUNLEI6CARImCiBTSUdfR1JPVVBDQUxMX0hBTkdVUF9ERUxJVkVSX0FDSxCPggESIgocU0lHX0dST1VQQ0FMTF9IQU5HVVBfREVMSVZFUhCQggESGgoUU0lHX0dST1VQQ0FMTF9GSU5JU0gQkYIBEh4KGFNJR19HUk9VUENBTExfRklOSVNIX0FDSxCSggESJgogU0lHX0dST1VQQ0FMTF9GSU5JU0hfREVMSVZFUl9BQ0sQk4IBEiIKHFNJR19HUk9VUENBTExfRklOSVNIX0RFTElWRVIQlIIBEhoKFFNJR19HUk9VUENBTExfU1RBVFVTEJWCARIeChhTSUdfR1JPVVBDQUxMX1NUQVRVU19BQ0sQloIBEiYKIFNJR19HUk9VUENBTExfU1RBVFVTX0RFTElWRVJfQUNLEJeCARIiChxTSUdfR1JPVVBDQUxMX1NUQVRVU19ERUxJVkVSEJiCARIgChpTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRBCZggESJAoeU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfQUNLEJqCARIsCiZTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRF9ERUxJVkVSX0FDSxCbggESKAoiU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfREVMSVZFUhCcggESGAoSU0lHX0dST1VQQ0FMTF9CVVNZEJ2CARIcChZTSUdfR1JPVVBDQUxMX0JVU1lfQUNLEJ6CARIkCh5TSUdfR1JPVVBDQUxMX0JVU1lfREVMSVZFUl9BQ0sQn4IBEiAKGlNJR19HUk9VUENBTExfQlVTWV9ERUxJVkVSEKCCARIbChVTSUdfU1lOQ19SRUFEX01TR19DMkMQoYIBEh8KGVNJR19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQooIBEiMKHVNJR19TWU5DX1JFQURfTVNHX0RFTElWRVJfQzJDEKOCARIiChxOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTEIGgARImCiBOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTX0FDSxCCoAESLgooTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSX0FDSxCDoAESKgokTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSEISgARIYChJCT1RfTVNHX0dST1VQX1NFTkQQgcABEhgKEkJPVF9NU0dfUkFESU9fU0VORBCCwAESHwoZQk9UX01TR19ST0JPVF9ERUxFVEVfU0VORBCDwAESFwoSTUVTX0NIQVRfTUVTX1JPQk9UEKckEhsKFk1FU19DSEFUX01FU19ST0JPVF9BQ0sQqCQSHQoYTUVTX0NIQVRfTUVTX1JPQk9UX1JFUExZEKkkEg4KCFBDX0xPR0lOENHhAhIRCgtQQ19MT0dJTkFDSxDS4QISDwoJUENfS0lUT1VUENThAhIPCglQQ19MT0dPVVQQ1eECEhkKE1BDX1BDU1lOTUVTU0FHRVRPR1cQ1+ECEhoKFFBDX0dXU1lOTUVTU0FHRVRPQVBQENjhAhIdChdQQ19HV1NZTk1FU1NBR0VUT0FQUEFDSxDZ4QISHAoWUENfUENTWU5NRVNTQUdFVE9HV0FDSxDa4QISGgoUUENfQVBQU1lOTUVTU0FHRVRPR1cQ2+ECEhkKE1BDX0dXU1lOTUVTU0FHRVRPUEMQ3OECEhwKFlBDX0dXU1lOTUVTU0FHRVRPUENBQ0sQ3eECEh0KF1BDX0FQUFNZTk1FU1NBR0VUT0dXQUNLEN7hAhITCg1QQ19IRUFSVEJFQVJUEODhAhIWChBQQ19IRUFSVEJFQVJUQUNLEOHhAhIXChFQQ19DSEVDS0FQUEFDVElWRRDi4QISGgoUUENfQ0hFQ0tBUFBBQ1RJVkVBQ0sQ4+ECEhgKElBDX1JFUE9SVEFQUEFDVElWRRDk4QISGQoTUENfUENTVEFUVVNTWU5UT0FQUBDl4QISHAoWUENfUENTVEFUVVNTWU5UT0FQUEFDSxDm4QISGQoTUENfQVBQU1RBVFVTU1lOVE9QQxDn4QISHAoWUENfQVBQU1RBVFVTU1lOVE9QQ0FDSxDo4QISGQoTUENfQVBQU1lOTk9USUZZVE9HVxDp4QISHAoWUENfQVBQU1lOTk9USUZZVE9HV0FDSxDq4QISGAoSUENfR1dTWU5OT1RJRllUT1BDEOvhAhIbChVQQ19HV1NZTk5PVElGWVRPUENBQ0sQ7OECEhgKEk1FU19PRkZMSU5FU1VNTUFSWRCR4AISHAoWTUVTX09GRkxJTkVTVU1NQVJZX0FDSxCS4AISFgoQTUVTX09GRkxJTkVUT1RBTBCT4AISGgoUTUVTX09GRkxJTkVUT1RBTF9BQ0sQlOACEhQKDk1FU19PRkZMSU5FTVNHEJXgAhIYChJNRVNfT0ZGTElORU1TR19BQ0sQluACEh4KGE1FU19PRkZMSU5FTVNHX0RFTElWRVJFRBCX4AISIgocTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX0FDSxCY4AISLwopTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX05PVElGSUNBVElPTl9BQ0sQmeACEisKJU1FU19PRkZMSU5FTVNHX0RFTElWRVJFRF9OT1RJRklDQVRJT04QmuACKskNCgdFcnJDb2RlEg4KCkVYQ0VQVF9FUlIQABINCgdOT05fRVJSEICAAhIUCg5FUlJfU1lTX1JFR0lTVBCBgAISGgoURVJSX1NZU19JTlRFUk5BTF9FUlIQgoACEhQKDkVSUl9MT0dJTl9BVVRIEIGCAhIZChNFUlJfTE9HSU5fRk9SQklEREVOEIKCAhIQCgpFUlJfTE9HT1VUEIOCAhIeChhFUlJfREVWSUNFU1lOQ19QQVJBTUVURVIQhIICEh4KGEVSUl9ERVZJQ0VTWU5DX0ZPUkJJRERFThCFggISHgoYRVJSX0RFVklDRVNZTkNfRVhDRVBUSU9OEIaCAhIgChpFUlJfVFJBTlNNSVNTSU9OX0ZPUkJJRERFThCHggISHgoYRVJSX1RSQU5TTUlTU0lPTl9TRVNTSU9OEIiCAhIWChBFUlJfQ01fRVhDRVBUSU9OEImCAhIbChVFUlJfQ01fQVVUSF9LSUNLRURPVVQQkIICEhUKD0VSUl9DTV9QSFBfQVVUSBCRggISIgocRVJSX0NNX0FVVEhfS0lDS0VET1VUX0JZX0FQUBCSggISGAoSRVJSX0NNX1VTRVJfRlJFRVpFEJOCAhIYChJFUlJfQ0hBVF9GT1JCSURERU4QgYQCEhgKEkVSUl9DSEFUX1VOSEVBTFRIWRCChAISGAoSRVJSX0NIQVRfUEFSQU1FVEVSEIOEAhIdChdFUlJfQ0hBVF9DQU5DRUxfT1VUVElNRRCEhAISHAoWRVJSX0NIQVRfRlJJRU5EX1JFRlVTRRCRhAISGwoVRVJSX0NIQVRfRlJJRU5EX0JMT0NLEJKEAhIZChNFUlJfQ0hBVF9GUklFTkRfREVMEJOEAhIbChVFUlJfQ0hBVF9GUklFTkRfQURERUQQlIQCEhwKFkVSUl9DSEFUX0ZSSUVORF9BRERJTkcQlYQCEiAKGkVSUl9DSEFUX0ZSSUVORF9ISURFTkFEREVEEJaEAhIdChdFUlJfQ0hBVF9ERUVOQ1JZX0ZBSUxFRBCjhAISGAoSSU5GT19HUk9VUF9QRU5ESU5HEICGAhIZChNFUlJfR1JPVVBfUEFSQU1FVEVSEIGGAhIcChZFUlJfR1JPVVBfT1ZFUkNSRUFUSU9OEIKGAhIYChJFUlJfR1JPVVBfT1ZFUkpPSU4Qg4YCEiAKGkVSUl9HUk9VUF9ORVRXT1JLRVhDRVBUSU9OEISGAhIZChNFUlJfR1JPVVBfRk9SQklEREVOEIWGAhIeChhFUlJfR1JPVVBfSU5URVJFWENFUFRJT04QhoYCEhsKFUVSUl9HUk9VUF9NRU1CRVJFWElTVBCHhgISHgoYRVJSX0dST1VQX01FTUJFUk5PTkVYSVNUEIiGAhIfChlFUlJfR1JPVVBfSU5URVJQRVJNSVNTSU9OEImGAhIdChdFUlJfR1JPVVBfTk9OUEVSTUlTU0lPThCQhgISFgoQRVJSX0dST1VQX01BU1RFUhCRhgISGQoTRVJSX0dST1VQX05PVE1BU1RFUhCShgISHwoZRVJSX0dST1VQX0lOVklURUVYQ0VQVElPThCThgISHQoXRVJSX0dST1VQX0lOVklURVNVQ0NFU1MQlIYCEhkKE0VSUl9HUk9VUF9ESVNNSVNTRUQQlYYCEiAKGkVSUl9HUk9VUF9NRU1CRVJFWElTVF9ISURFEJaGAhIbChVFUlJfR1JPVVBfSk9JTl9SRUpFQ1QQoIYCEh0KF0VSUl9HUk9VUF9OT1RJRllfUkVKRUNUEKGGAhIbChVFUlJfR1JPVVBfTUFTVEVSX1FVSVQQooYCEhUKD0VSUl9DQUxMX1JFRlVTRRCAiAISEwoNRVJSX0NBTExfQlVTWRCBiAISGwoVRVJSX0NBTExfUEVFUl9PRkZMSU5FEIKIAhIcChZFUlJfQ0FMTF9DQUxMRVJfQ0FOQ0VMEIOIAhIjCh1FUlJfQ0FMTF9DQUxMRUVfTElWRUtJVF9UT0tFThCEiAISIgocRVJSX0NBTExfQ0FMTEVFX0xJVkVLSVRfQ09OThCFiAISIQobRVJSX0NBTExfUEVFUl9TVEFSVF9USU1FT1VUEIaIAhIYChJFUlJfQ0FMTF9QRUVSX0xPU1QQh4gCEh8KGUVSUl9DQUxMX0NBTExFRV9OT19BTlNXRVIQiIgCEhcKEUVSUl9SQURJT19ESVNNSVNTEIGKAhIXChFFUlJfUkFESU9fTk9TUEVBSxCCigISGAoSRVJSX1JBRElPX0lTREVMRVRFEIOKAhIVCg9FUlJfUkFESU9fQURNSU4QhIoCKswBCgdNc2dUeXBlEgsKB0RFRkFVTFQQABIRCg1QRVJTT05BTF9UQUxLEAESDgoKR1JPVVBfVEFMSxACEgwKCENPTlRBQ1RTEAMSCwoHU1lTX01TRxAEEhQKEEFEVkVSVElTTUVOVF9NU0cQBRIQCgxHUlBfQ09OVEFDVFMQBhINCglDSE5OX1RBTEsQBxIPCgtDSE5OX05PVElGWRAIEgwKCEJPVF9UQUxLEAsSDAoIUDJQX0NBTEwQEBISCg5SRUZFUkVOQ0VfQ0FMTBARKmcKCkRpdmVjZVR5cGUSCgoGVU5LTk9XEAASCwoHSFdfUFVTSBAQEgsKB1hNX1BVU0gQERIOCgpHT09HTEVfRkNNEBISCQoFSlBVU0gQExINCghBUE5TX0RFVhD+ARIJCgRBUE5TEP8BKrgBCg9DbG9zZUxpbmtSZWFzb24SGAoUQ2xPU0VfUkVBU09OX1VOS05PV04QABIcChhDTE9TRV9SRUFTT05fU2VsZl9Mb2dvdXQQARImCiJDTE9TRV9SRUFTT05fS2lja2VkX0JZX090aGVyRGV2aWNlEAISHgoaQ0xPU0VfUkVBU09OX0tpY2tlZF9CWV9BUFAQAxIlCiFDTE9TRV9SRUFTT05fUmVDb25uZWN0S2lja09sZExpbmsQBCpNChRQdWxsSGlzdG9yeU1zZ0RpcmVjdBISCg5EaXJlY3RfVW5rbm93bhAAEg0KCURpcmVjdF9VcBABEhIKDkRpcmVjdGlvbl9Eb3duEAJCHwoTY29tLm1vc2FudC5pbS5wcm90b0gDWgYuLi9hcHBiBnByb3RvMw");var R=/* @__PURE__ */(E=>(E[E.EXCEPT_CMDID=0]="EXCEPT_CMDID",E[E.SYSTEM_HEARTBEAT=1]="SYSTEM_HEARTBEAT",E[E.SYSTEM_HEARTBEAT_ACK=2]="SYSTEM_HEARTBEAT_ACK",E[E.SYSTEM_PING=3]="SYSTEM_PING",E[E.SYSTEM_PING_ACK=4]="SYSTEM_PING_ACK",E[E.SYSTEM_TOO_MANY_REQUESTS=6]="SYSTEM_TOO_MANY_REQUESTS",E[E.CM_SYNC_APP_PRIVATE_KEY=101]="CM_SYNC_APP_PRIVATE_KEY",E[E.CM_SYNC_APP_PRIVATE_KEY_EMSACK=102]="CM_SYNC_APP_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_PRIVATE_KEY_ACK=103]="CM_SYNC_APP_PRIVATE_KEY_ACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY=104]="CM_SYNC_APP_SEND_PRIVATE_KEY",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK=105]="CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_ACK=106]="CM_SYNC_APP_SEND_PRIVATE_KEY_ACK",E[E.CM_DEVICE_ONLINE_STATUS_NOTIFY=108]="CM_DEVICE_ONLINE_STATUS_NOTIFY",E[E.CM_LOGIN=257]="CM_LOGIN",E[E.CM_LOGIN_ACK=258]="CM_LOGIN_ACK",E[E.CM_LOGOUT=259]="CM_LOGOUT",E[E.CM_LOGOUT_ACK=260]="CM_LOGOUT_ACK",E[E.CM_PUSHTOKENSYNC=261]="CM_PUSHTOKENSYNC",E[E.CM_PUSHTOKENSYNC_ACK=262]="CM_PUSHTOKENSYNC_ACK",E[E.CM_KICKOUT_NOTIFICATION=264]="CM_KICKOUT_NOTIFICATION",E[E.CM_LOGOUT_CONFIRM=265]="CM_LOGOUT_CONFIRM",E[E.CM_LOGOUT_CONFIRM_ACK=266]="CM_LOGOUT_CONFIRM_ACK",E[E.CM_FREEZE_USER_NOTIFY=267]="CM_FREEZE_USER_NOTIFY",E[E.CM_CLIENT_STATE=268]="CM_CLIENT_STATE",E[E.CM_CLIENT_STATE_ACK=269]="CM_CLIENT_STATE_ACK",E[E.MES_CHAT=4097]="MES_CHAT",E[E.MES_CHAT_ACK=4098]="MES_CHAT_ACK",E[E.MES_CHAT_DELIVER_ACK=4099]="MES_CHAT_DELIVER_ACK",E[E.MES_CHAT_DELIVER=4100]="MES_CHAT_DELIVER",E[E.MES_CHAT_DELIVERED_NOTIFICATION_ACK=4101]="MES_CHAT_DELIVERED_NOTIFICATION_ACK",E[E.MES_CHAT_DELIVERED_NOTIFICATION=4102]="MES_CHAT_DELIVERED_NOTIFICATION",E[E.MES_CHAT_READ=4103]="MES_CHAT_READ",E[E.MES_CHAT_READ_ACK=4104]="MES_CHAT_READ_ACK",E[E.MES_CHAT_READ_DELIVER_ACK=4105]="MES_CHAT_READ_DELIVER_ACK",E[E.MES_CHAT_READ_DELIVER=4106]="MES_CHAT_READ_DELIVER",E[E.MES_CHATCANCEL=4107]="MES_CHATCANCEL",E[E.MES_CHATCANCEL_ACK=4108]="MES_CHATCANCEL_ACK",E[E.MES_CHATCANCEL_DELIVER_ACK=4109]="MES_CHATCANCEL_DELIVER_ACK",E[E.MES_CHATCANCEL_DELIVER=4110]="MES_CHATCANCEL_DELIVER",E[E.MES_CHAT_OPPOSITE_END=4113]="MES_CHAT_OPPOSITE_END",E[E.MES_CHAT_OPPOSITE_END_EMS_ACK=4114]="MES_CHAT_OPPOSITE_END_EMS_ACK",E[E.MES_CHAT_OPPOSITE_END_RECEIVE=4115]="MES_CHAT_OPPOSITE_END_RECEIVE",E[E.MES_CHAT_OPPOSITE_END_RECEIVE_ACK=4116]="MES_CHAT_OPPOSITE_END_RECEIVE_ACK",E[E.MES_CHAT_SYNC_READ_MSG_C2C=4117]="MES_CHAT_SYNC_READ_MSG_C2C",E[E.MES_CHAT_SYNC_READ_MSG_C2C_ACK=4118]="MES_CHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_CHAT_SYNC_READ_MSG_DELIVER_C2C=4119]="MES_CHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_ADDFRIEND=4353]="MES_ADDFRIEND",E[E.MES_ADDFRIEND_ACK=4354]="MES_ADDFRIEND_ACK",E[E.MES_ADDFRIEND_DELIVER_ACK=4355]="MES_ADDFRIEND_DELIVER_ACK",E[E.MES_ADDFRIEND_DELIVER=4356]="MES_ADDFRIEND_DELIVER",E[E.MES_ADDFRIEND_ANS=4357]="MES_ADDFRIEND_ANS",E[E.MES_ADDFRIEND_ANS_ACK=4358]="MES_ADDFRIEND_ANS_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER_ACK=4359]="MES_ADDFRIEND_ANS_DELIVER_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER=4360]="MES_ADDFRIEND_ANS_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY=4613]="MES_USER_INFO_MODIFY_NOTIFY",E[E.MES_USER_INFO_MODIFY_NOTIFY_ACK=4614]="MES_USER_INFO_MODIFY_NOTIFY_ACK",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER=4616]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK=4615]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK",E[E.MES_DELETE_FRIEND_NOTIFY=4617]="MES_DELETE_FRIEND_NOTIFY",E[E.MES_DELETE_FRIEND_NOTIFY_ACK=4624]="MES_DELETE_FRIEND_NOTIFY_ACK",E[E.MES_CHAT_EDIT_MSG_C2C=4644]="MES_CHAT_EDIT_MSG_C2C",E[E.MES_CHAT_EDIT_OPPOSITE_END=4645]="MES_CHAT_EDIT_OPPOSITE_END",E[E.MES_CHAT_MSG_EDIT_ACK=4646]="MES_CHAT_MSG_EDIT_ACK",E[E.MES_CHAT_REACTION_MSG_C2C=4650]="MES_CHAT_REACTION_MSG_C2C",E[E.MES_CHAT_REACTION_OPPOSITE_END=4651]="MES_CHAT_REACTION_OPPOSITE_END",E[E.MES_CHAT_REACTION_MSG_ACK=4652]="MES_CHAT_REACTION_MSG_ACK",E[E.MES_CHAT_REACTION_DELIVER=4653]="MES_CHAT_REACTION_DELIVER",E[E.MS_COMMONNOTIFY=4609]="MS_COMMONNOTIFY",E[E.MS_COMMONNOTIFY_ACK=4610]="MS_COMMONNOTIFY_ACK",E[E.MS_COMMONNOTIFY_DELIVER_ACK=4611]="MS_COMMONNOTIFY_DELIVER_ACK",E[E.MS_COMMONNOTIFY_DELIVER=4612]="MS_COMMONNOTIFY_DELIVER",E[E.MSG_SET_UNREAD=4625]="MSG_SET_UNREAD",E[E.MSG_SET_UNREAD_ACK=4626]="MSG_SET_UNREAD_ACK",E[E.MS_WALLETNOTIFY_DELIVER=4627]="MS_WALLETNOTIFY_DELIVER",E[E.MS_WALLETNOTIFY_DELIVER_ACK=4628]="MS_WALLETNOTIFY_DELIVER_ACK",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY=4629]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK=4630]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK",E[E.MES_FRIEND_NOTIFY=4631]="MES_FRIEND_NOTIFY",E[E.MES_FRIEND_NOTIFY_ACK=4632]="MES_FRIEND_NOTIFY_ACK",E[E.MES_USER_FAVORITE_LIST_CHANGED_NOTIFY=4633]="MES_USER_FAVORITE_LIST_CHANGED_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY=4640]="MES_USER_SWITCH_SET_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY_ACK=4641]="MES_USER_SWITCH_SET_NOTIFY_ACK",E[E.MES_USER_APPLY_DEDUCTION_NOTIFY=4679]="MES_USER_APPLY_DEDUCTION_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY=4642]="MES_GIVE_LOTTERY_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY_ACK=4643]="MES_GIVE_LOTTERY_NOTIFY_ACK",E[E.GROUP_CHAT=8193]="GROUP_CHAT",E[E.GROUP_CHAT_ACK=8194]="GROUP_CHAT_ACK",E[E.MES_GRPCHAT_DELIVER_ACK=8195]="MES_GRPCHAT_DELIVER_ACK",E[E.MES_GRPCHAT_DELIVER=8196]="MES_GRPCHAT_DELIVER",E[E.GROUP_CHATCANCEL=8197]="GROUP_CHATCANCEL",E[E.GROUP_CHATCANCEL_ACK=8198]="GROUP_CHATCANCEL_ACK",E[E.GROUP_CHATCANCEL_DELIVER_ACK=8199]="GROUP_CHATCANCEL_DELIVER_ACK",E[E.GROUP_CHATCANCEL_DELIVER=8200]="GROUP_CHATCANCEL_DELIVER",E[E.MES_JOINGRP=8449]="MES_JOINGRP",E[E.MES_JOINGRP_ACK=8450]="MES_JOINGRP_ACK",E[E.MES_JOINGRP_DELIVER_ACK=8451]="MES_JOINGRP_DELIVER_ACK",E[E.MES_JOINGRP_DELIVER=8452]="MES_JOINGRP_DELIVER",E[E.MES_GRPNOTIFY_DELIVER_ACK=8707]="MES_GRPNOTIFY_DELIVER_ACK",E[E.MES_GRPNOTIFY_DELIVER=8708]="MES_GRPNOTIFY_DELIVER",E[E.MES_EXCHANGE_KEY=8961]="MES_EXCHANGE_KEY",E[E.MES_EXCHANGE_KEY_ACK=8962]="MES_EXCHANGE_KEY_ACK",E[E.MES_EXCHANGE_KEY_DELIVER_ACK=8963]="MES_EXCHANGE_KEY_DELIVER_ACK",E[E.MES_EXCHANGE_KEY_DELIVER=8964]="MES_EXCHANGE_KEY_DELIVER",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK=8965]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY=8966]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C=8967]="MES_GRPCHAT_SYNC_READ_MSG_C2C",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK=8968]="MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C=8969]="MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C=8976]="MES_GRPCHAT_EDIT_MSG_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C_ACK=8977]="MES_GRPCHAT_EDIT_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_MSG_C2C=8978]="MES_GRPCHAT_REACTION_MSG_C2C",E[E.MES_GRPCHAT_REACTION_MSG_C2C_ACK=8979]="MES_GRPCHAT_REACTION_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_DELIVER=8980]="MES_GRPCHAT_REACTION_DELIVER",E[E.RADIO_CHAT=12289]="RADIO_CHAT",E[E.RADIO_CHAT_ACK=12290]="RADIO_CHAT_ACK",E[E.RADIO_CHAT_DELIVER_ACK=12291]="RADIO_CHAT_DELIVER_ACK",E[E.RADIO_CHAT_DELIVER=12292]="RADIO_CHAT_DELIVER",E[E.RADIO_ADMIN_CANCEL_CHAT=12293]="RADIO_ADMIN_CANCEL_CHAT",E[E.RADIO_ADMIN_CANCEL_CHAT_ACK=12294]="RADIO_ADMIN_CANCEL_CHAT_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK=12295]="RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER=12296]="RADIO_ADMIN_CANCEL_CHAT_DELIVER",E[E.RADIO_CANCEL_CHAT=12297]="RADIO_CANCEL_CHAT",E[E.RADIO_CANCEL_CHAT_ACK=12298]="RADIO_CANCEL_CHAT_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER_ACK=12299]="RADIO_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER=12300]="RADIO_CANCEL_CHAT_DELIVER",E[E.RADIO_APPLY_DELIVER_ACK=12547]="RADIO_APPLY_DELIVER_ACK",E[E.RADIO_APPLY_DELIVER=12548]="RADIO_APPLY_DELIVER",E[E.RADIO_INVITE_DELIVER_ACK=12551]="RADIO_INVITE_DELIVER_ACK",E[E.RADIO_INVITE_DELIVER=12552]="RADIO_INVITE_DELIVER",E[E.RADIO_NOTIFY_DELIVER_ACK=12803]="RADIO_NOTIFY_DELIVER_ACK",E[E.RADIO_NOTIFY_DELIVER=12804]="RADIO_NOTIFY_DELIVER",E[E.MES_RADIO_SYNC_READ_MSG_C2C=12805]="MES_RADIO_SYNC_READ_MSG_C2C",E[E.MES_RADIO_SYNC_READ_MSG_C2C_ACK=12806]="MES_RADIO_SYNC_READ_MSG_C2C_ACK",E[E.MES_RADIO_SYNC_READ_MSG_DELIVER_C2C=12807]="MES_RADIO_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_RADIO_EDIT_MSG_C2C=12808]="MES_RADIO_EDIT_MSG_C2C",E[E.MES_RADIO_EDIT_MSG_C2C_ACK=12809]="MES_RADIO_EDIT_MSG_C2C_ACK",E[E.MES_RADIO_RED_PACKET_GRABBED=12816]="MES_RADIO_RED_PACKET_GRABBED",E[E.MES_RADIO_REACTION_MSG_C2C=12817]="MES_RADIO_REACTION_MSG_C2C",E[E.MES_RADIO_REACTION_MSG_C2C_ACK=12818]="MES_RADIO_REACTION_MSG_C2C_ACK",E[E.MES_RADIO_REACTION_DELIVER=12819]="MES_RADIO_REACTION_DELIVER",E[E.SIG_SPONSORP2PCALL=16385]="SIG_SPONSORP2PCALL",E[E.SIG_SPONSORP2PCALL_ACK=16386]="SIG_SPONSORP2PCALL_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER_ACK=16387]="SIG_SPONSORP2PCALL_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER=16388]="SIG_SPONSORP2PCALL_DELIVER",E[E.SIG_SPONSORP2PCALL_ANS=16389]="SIG_SPONSORP2PCALL_ANS",E[E.SIG_SPONSORP2PCALL_ANS_ACK=16390]="SIG_SPONSORP2PCALL_ANS_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER_ACK=16391]="SIG_SPONSORP2PCALL_ANS_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER=16392]="SIG_SPONSORP2PCALL_ANS_DELIVER",E[E.SIG_P2PCALL_EXCHANGE_NATINFO=16393]="SIG_P2PCALL_EXCHANGE_NATINFO",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_ACK=16394]="SIG_P2PCALL_EXCHANGE_NATINFO_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK=16395]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER=16396]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER",E[E.SIG_P2PCALLHANGUP=16397]="SIG_P2PCALLHANGUP",E[E.SIG_P2PCALLHANGUP_ACK=16398]="SIG_P2PCALLHANGUP_ACK",E[E.SIG_P2PCALLHANGUPDElIVER_ACK=16399]="SIG_P2PCALLHANGUPDElIVER_ACK",E[E.SIG_P2PCALLHANGUPDElIVER=16400]="SIG_P2PCALLHANGUPDElIVER",E[E.SIG_P2PCALLSTATENOTIFY=16401]="SIG_P2PCALLSTATENOTIFY",E[E.SIG_P2PCALLSTATENOTIFY_ACK=16402]="SIG_P2PCALLSTATENOTIFY_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER_ACK=16403]="SIG_P2PCALLSTATENOTIFYDElIVER_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER=16404]="SIG_P2PCALLSTATENOTIFYDElIVER",E[E.SIG_SPONSORGROUPCALL=16641]="SIG_SPONSORGROUPCALL",E[E.SIG_SPONSORGROUPCALL_ACK=16642]="SIG_SPONSORGROUPCALL_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER_ACK=16643]="SIG_SPONSORGROUPCALL_DELIVER_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER=16644]="SIG_SPONSORGROUPCALL_DELIVER",E[E.SIG_GROUPCALL_ANS=16645]="SIG_GROUPCALL_ANS",E[E.SIG_GROUPCALL_ANS_ACK=16646]="SIG_GROUPCALL_ANS_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER_ACK=16647]="SIG_GROUPCALL_ANS_DELIVER_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER=16648]="SIG_GROUPCALL_ANS_DELIVER",E[E.SIG_GROUPCALL_JOIN=16649]="SIG_GROUPCALL_JOIN",E[E.SIG_GROUPCALL_JOIN_ACK=16650]="SIG_GROUPCALL_JOIN_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER_ACK=16651]="SIG_GROUPCALL_JOIN_DELIVER_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER=16652]="SIG_GROUPCALL_JOIN_DELIVER",E[E.SIG_GROUPCALL_HANGUP=16653]="SIG_GROUPCALL_HANGUP",E[E.SIG_GROUPCALL_HANGUP_ACK=16654]="SIG_GROUPCALL_HANGUP_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER_ACK=16655]="SIG_GROUPCALL_HANGUP_DELIVER_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER=16656]="SIG_GROUPCALL_HANGUP_DELIVER",E[E.SIG_GROUPCALL_FINISH=16657]="SIG_GROUPCALL_FINISH",E[E.SIG_GROUPCALL_FINISH_ACK=16658]="SIG_GROUPCALL_FINISH_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER_ACK=16659]="SIG_GROUPCALL_FINISH_DELIVER_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER=16660]="SIG_GROUPCALL_FINISH_DELIVER",E[E.SIG_GROUPCALL_STATUS=16661]="SIG_GROUPCALL_STATUS",E[E.SIG_GROUPCALL_STATUS_ACK=16662]="SIG_GROUPCALL_STATUS_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER_ACK=16663]="SIG_GROUPCALL_STATUS_DELIVER_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER=16664]="SIG_GROUPCALL_STATUS_DELIVER",E[E.SIG_GROUPCALL_DISCONNECTED=16665]="SIG_GROUPCALL_DISCONNECTED",E[E.SIG_GROUPCALL_DISCONNECTED_ACK=16666]="SIG_GROUPCALL_DISCONNECTED_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK=16667]="SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER=16668]="SIG_GROUPCALL_DISCONNECTED_DELIVER",E[E.SIG_GROUPCALL_BUSY=16669]="SIG_GROUPCALL_BUSY",E[E.SIG_GROUPCALL_BUSY_ACK=16670]="SIG_GROUPCALL_BUSY_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER_ACK=16671]="SIG_GROUPCALL_BUSY_DELIVER_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER=16672]="SIG_GROUPCALL_BUSY_DELIVER",E[E.SIG_SYNC_READ_MSG_C2C=16673]="SIG_SYNC_READ_MSG_C2C",E[E.SIG_SYNC_READ_MSG_C2C_ACK=16674]="SIG_SYNC_READ_MSG_C2C_ACK",E[E.SIG_SYNC_READ_MSG_DELIVER_C2C=16675]="SIG_SYNC_READ_MSG_DELIVER_C2C",E[E.NOTIFICATION_COMMON_CHANNELS=20481]="NOTIFICATION_COMMON_CHANNELS",E[E.NOTIFICATION_COMMON_CHANNELS_ACK=20482]="NOTIFICATION_COMMON_CHANNELS_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK=20483]="NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER=20484]="NOTIFICATION_COMMON_CHANNELS_DELIVER",E[E.BOT_MSG_GROUP_SEND=24577]="BOT_MSG_GROUP_SEND",E[E.BOT_MSG_RADIO_SEND=24578]="BOT_MSG_RADIO_SEND",E[E.BOT_MSG_ROBOT_DELETE_SEND=24579]="BOT_MSG_ROBOT_DELETE_SEND",E[E.MES_CHAT_MES_ROBOT=4647]="MES_CHAT_MES_ROBOT",E[E.MES_CHAT_MES_ROBOT_ACK=4648]="MES_CHAT_MES_ROBOT_ACK",E[E.MES_CHAT_MES_ROBOT_REPLY=4649]="MES_CHAT_MES_ROBOT_REPLY",E[E.PC_LOGIN=45265]="PC_LOGIN",E[E.PC_LOGINACK=45266]="PC_LOGINACK",E[E.PC_KITOUT=45268]="PC_KITOUT",E[E.PC_LOGOUT=45269]="PC_LOGOUT",E[E.PC_PCSYNMESSAGETOGW=45271]="PC_PCSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOAPP=45272]="PC_GWSYNMESSAGETOAPP",E[E.PC_GWSYNMESSAGETOAPPACK=45273]="PC_GWSYNMESSAGETOAPPACK",E[E.PC_PCSYNMESSAGETOGWACK=45274]="PC_PCSYNMESSAGETOGWACK",E[E.PC_APPSYNMESSAGETOGW=45275]="PC_APPSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOPC=45276]="PC_GWSYNMESSAGETOPC",E[E.PC_GWSYNMESSAGETOPCACK=45277]="PC_GWSYNMESSAGETOPCACK",E[E.PC_APPSYNMESSAGETOGWACK=45278]="PC_APPSYNMESSAGETOGWACK",E[E.PC_HEARTBEART=45280]="PC_HEARTBEART",E[E.PC_HEARTBEARTACK=45281]="PC_HEARTBEARTACK",E[E.PC_CHECKAPPACTIVE=45282]="PC_CHECKAPPACTIVE",E[E.PC_CHECKAPPACTIVEACK=45283]="PC_CHECKAPPACTIVEACK",E[E.PC_REPORTAPPACTIVE=45284]="PC_REPORTAPPACTIVE",E[E.PC_PCSTATUSSYNTOAPP=45285]="PC_PCSTATUSSYNTOAPP",E[E.PC_PCSTATUSSYNTOAPPACK=45286]="PC_PCSTATUSSYNTOAPPACK",E[E.PC_APPSTATUSSYNTOPC=45287]="PC_APPSTATUSSYNTOPC",E[E.PC_APPSTATUSSYNTOPCACK=45288]="PC_APPSTATUSSYNTOPCACK",E[E.PC_APPSYNNOTIFYTOGW=45289]="PC_APPSYNNOTIFYTOGW",E[E.PC_APPSYNNOTIFYTOGWACK=45290]="PC_APPSYNNOTIFYTOGWACK",E[E.PC_GWSYNNOTIFYTOPC=45291]="PC_GWSYNNOTIFYTOPC",E[E.PC_GWSYNNOTIFYTOPCACK=45292]="PC_GWSYNNOTIFYTOPCACK",E[E.MES_OFFLINESUMMARY=45073]="MES_OFFLINESUMMARY",E[E.MES_OFFLINESUMMARY_ACK=45074]="MES_OFFLINESUMMARY_ACK",E[E.MES_OFFLINETOTAL=45075]="MES_OFFLINETOTAL",E[E.MES_OFFLINETOTAL_ACK=45076]="MES_OFFLINETOTAL_ACK",E[E.MES_OFFLINEMSG=45077]="MES_OFFLINEMSG",E[E.MES_OFFLINEMSG_ACK=45078]="MES_OFFLINEMSG_ACK",E[E.MES_OFFLINEMSG_DELIVERED=45079]="MES_OFFLINEMSG_DELIVERED",E[E.MES_OFFLINEMSG_DELIVERED_ACK=45080]="MES_OFFLINEMSG_DELIVERED_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK=45081]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION=45082]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION",E))(R||{}),S=/* @__PURE__ */(E=>(E[E.EXCEPT_ERR=0]="EXCEPT_ERR",E[E.NON_ERR=32768]="NON_ERR",E[E.ERR_SYS_REGIST=32769]="ERR_SYS_REGIST",E[E.ERR_SYS_INTERNAL_ERR=32770]="ERR_SYS_INTERNAL_ERR",E[E.ERR_LOGIN_AUTH=33025]="ERR_LOGIN_AUTH",E[E.ERR_LOGIN_FORBIDDEN=33026]="ERR_LOGIN_FORBIDDEN",E[E.ERR_LOGOUT=33027]="ERR_LOGOUT",E[E.ERR_DEVICESYNC_PARAMETER=33028]="ERR_DEVICESYNC_PARAMETER",E[E.ERR_DEVICESYNC_FORBIDDEN=33029]="ERR_DEVICESYNC_FORBIDDEN",E[E.ERR_DEVICESYNC_EXCEPTION=33030]="ERR_DEVICESYNC_EXCEPTION",E[E.ERR_TRANSMISSION_FORBIDDEN=33031]="ERR_TRANSMISSION_FORBIDDEN",E[E.ERR_TRANSMISSION_SESSION=33032]="ERR_TRANSMISSION_SESSION",E[E.ERR_CM_EXCEPTION=33033]="ERR_CM_EXCEPTION",E[E.ERR_CM_AUTH_KICKEDOUT=33040]="ERR_CM_AUTH_KICKEDOUT",E[E.ERR_CM_PHP_AUTH=33041]="ERR_CM_PHP_AUTH",E[E.ERR_CM_AUTH_KICKEDOUT_BY_APP=33042]="ERR_CM_AUTH_KICKEDOUT_BY_APP",E[E.ERR_CM_USER_FREEZE=33043]="ERR_CM_USER_FREEZE",E[E.ERR_CHAT_FORBIDDEN=33281]="ERR_CHAT_FORBIDDEN",E[E.ERR_CHAT_UNHEALTHY=33282]="ERR_CHAT_UNHEALTHY",E[E.ERR_CHAT_PARAMETER=33283]="ERR_CHAT_PARAMETER",E[E.ERR_CHAT_CANCEL_OUTTIME=33284]="ERR_CHAT_CANCEL_OUTTIME",E[E.ERR_CHAT_FRIEND_REFUSE=33297]="ERR_CHAT_FRIEND_REFUSE",E[E.ERR_CHAT_FRIEND_BLOCK=33298]="ERR_CHAT_FRIEND_BLOCK",E[E.ERR_CHAT_FRIEND_DEL=33299]="ERR_CHAT_FRIEND_DEL",E[E.ERR_CHAT_FRIEND_ADDED=33300]="ERR_CHAT_FRIEND_ADDED",E[E.ERR_CHAT_FRIEND_ADDING=33301]="ERR_CHAT_FRIEND_ADDING",E[E.ERR_CHAT_FRIEND_HIDENADDED=33302]="ERR_CHAT_FRIEND_HIDENADDED",E[E.ERR_CHAT_DEENCRY_FAILED=33315]="ERR_CHAT_DEENCRY_FAILED",E[E.INFO_GROUP_PENDING=33536]="INFO_GROUP_PENDING",E[E.ERR_GROUP_PARAMETER=33537]="ERR_GROUP_PARAMETER",E[E.ERR_GROUP_OVERCREATION=33538]="ERR_GROUP_OVERCREATION",E[E.ERR_GROUP_OVERJOIN=33539]="ERR_GROUP_OVERJOIN",E[E.ERR_GROUP_NETWORKEXCEPTION=33540]="ERR_GROUP_NETWORKEXCEPTION",E[E.ERR_GROUP_FORBIDDEN=33541]="ERR_GROUP_FORBIDDEN",E[E.ERR_GROUP_INTEREXCEPTION=33542]="ERR_GROUP_INTEREXCEPTION",E[E.ERR_GROUP_MEMBEREXIST=33543]="ERR_GROUP_MEMBEREXIST",E[E.ERR_GROUP_MEMBERNONEXIST=33544]="ERR_GROUP_MEMBERNONEXIST",E[E.ERR_GROUP_INTERPERMISSION=33545]="ERR_GROUP_INTERPERMISSION",E[E.ERR_GROUP_NONPERMISSION=33552]="ERR_GROUP_NONPERMISSION",E[E.ERR_GROUP_MASTER=33553]="ERR_GROUP_MASTER",E[E.ERR_GROUP_NOTMASTER=33554]="ERR_GROUP_NOTMASTER",E[E.ERR_GROUP_INVITEEXCEPTION=33555]="ERR_GROUP_INVITEEXCEPTION",E[E.ERR_GROUP_INVITESUCCESS=33556]="ERR_GROUP_INVITESUCCESS",E[E.ERR_GROUP_DISMISSED=33557]="ERR_GROUP_DISMISSED",E[E.ERR_GROUP_MEMBEREXIST_HIDE=33558]="ERR_GROUP_MEMBEREXIST_HIDE",E[E.ERR_GROUP_JOIN_REJECT=33568]="ERR_GROUP_JOIN_REJECT",E[E.ERR_GROUP_NOTIFY_REJECT=33569]="ERR_GROUP_NOTIFY_REJECT",E[E.ERR_GROUP_MASTER_QUIT=33570]="ERR_GROUP_MASTER_QUIT",E[E.ERR_CALL_REFUSE=33792]="ERR_CALL_REFUSE",E[E.ERR_CALL_BUSY=33793]="ERR_CALL_BUSY",E[E.ERR_CALL_PEER_OFFLINE=33794]="ERR_CALL_PEER_OFFLINE",E[E.ERR_CALL_CALLER_CANCEL=33795]="ERR_CALL_CALLER_CANCEL",E[E.ERR_CALL_CALLEE_LIVEKIT_TOKEN=33796]="ERR_CALL_CALLEE_LIVEKIT_TOKEN",E[E.ERR_CALL_CALLEE_LIVEKIT_CONN=33797]="ERR_CALL_CALLEE_LIVEKIT_CONN",E[E.ERR_CALL_PEER_START_TIMEOUT=33798]="ERR_CALL_PEER_START_TIMEOUT",E[E.ERR_CALL_PEER_LOST=33799]="ERR_CALL_PEER_LOST",E[E.ERR_CALL_CALLEE_NO_ANSWER=33800]="ERR_CALL_CALLEE_NO_ANSWER",E[E.ERR_RADIO_DISMISS=34049]="ERR_RADIO_DISMISS",E[E.ERR_RADIO_NOSPEAK=34050]="ERR_RADIO_NOSPEAK",E[E.ERR_RADIO_ISDELETE=34051]="ERR_RADIO_ISDELETE",E[E.ERR_RADIO_ADMIN=34052]="ERR_RADIO_ADMIN",E))(S||{});export{R as CmdId,S as ErrCode,_ as file_im_pub};
|