k2-im 0.1.18 → 0.1.19

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/i18n.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-SXY56EVC.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-G7IJFU6R.js';import'./chunk-RKZTPXBQ.js';import'./chunk-WOT6VMZA.js';
1
+ import'./chunk-SXY56EVC.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-YPS6Y5ZY.js';import'./chunk-W2FKET4Z.js';import'./chunk-WOT6VMZA.js';
package/dist/index.d.ts CHANGED
@@ -3349,6 +3349,12 @@ interface MediaTransferAdapterConfig {
3349
3349
  * 部署可置 false 立即退回全量单次 PutObject(大文件回到单连接与整包内存的旧行为),无需发版。
3350
3350
  */
3351
3351
  multipartUpload?: boolean;
3352
+ /**
3353
+ * 大于 16MiB 的明文/simple 文件是否尝试 Range 并发下载(默认 true)。
3354
+ * 需要下载域名支持 Range,并暴露 Content-Range 与强 ETag;返回 200 时消费完整响应并记录诊断。
3355
+ * 置 false 使用单次 GET。此开关不改变上传或整文件 TEA 的行为。
3356
+ */
3357
+ rangeDownload?: boolean;
3352
3358
  /**
3353
3359
  * 媒体发送阶段的并发上限;由 im-core 消费,adapter 本身仍只负责单个上传任务。
3354
3360
  * 缺省为 4,允许 1-6;高并发会提高吞吐,也会增加文件加密的内存峰值。
@@ -3366,8 +3372,11 @@ interface MediaTransferAdapterConfig {
3366
3372
  * - `multipart-etag-missing`:分片响应读不到 ETag,**桶 CORS 缺 `ExposeHeaders: ETag`**,不是网络问题。
3367
3373
  * - `multipart-abort-failed`:分片失败后的 `AbortMultipartUpload` 清理本身失败,已上传分片可能残留并计费。
3368
3374
  * - `multipart-upload-failed`:分片上传因其它原因失败;`cause` 保留原始错误,消息列出分片对 CORS 的额外要求。
3375
+ * - `download-range-invalid`:分段状态、范围、长度或可读响应头不符合合同。
3376
+ * - `download-object-changed`:分段之间的强 ETag 或总长度改变,拒绝混合不同文件版本。
3377
+ * - `download-range-failed`:下载返回非成功 HTTP 状态。
3369
3378
  */
3370
- type MediaTransferErrorCode = 'bucket-unconfigured' | 'credentials-provider-missing' | 'credentials-request-failed' | 'credentials-invalid' | 'upload-source-invalid' | 'multipart-etag-missing' | 'multipart-abort-failed' | 'multipart-upload-failed';
3379
+ type MediaTransferErrorCode = 'bucket-unconfigured' | 'credentials-provider-missing' | 'credentials-request-failed' | 'credentials-invalid' | 'upload-source-invalid' | 'multipart-etag-missing' | 'multipart-abort-failed' | 'multipart-upload-failed' | 'download-range-invalid' | 'download-object-changed' | 'download-range-failed';
3371
3380
  /** 媒体传输统一错误:携带稳定业务码 + 可选底层 cause(诊断用,永不携带凭证明文)。 */
3372
3381
  declare class MediaTransferError extends Error {
3373
3382
  readonly code: MediaTransferErrorCode;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-IDECJJXC.js';import'./chunk-SXY56EVC.js';export{c as DEFAULT_LOADING_MINIMUM_VISIBLE_MS,b as DEFAULT_LOADING_SHOW_DELAY_MS,u as SPIKE_STEP,q as calculateMediaBox,f as canPromoteMediaPresentationSource,h as captureRuntimeClientOperation,g as captureRuntimeOperation,d as createDelayedLoadingIndicator,o as createLinkMatcher,s as formatFileSize,r as formatMediaDuration,t as getFileExtension,n as hasLinkCandidate,l as highlightSegments,i as mediaService,m as normalizeLinkHref,x as placeholderWaveform,j as readService,w as resampleWaveform,e as resolveBestMediaPresentationSource,a as resolveConversationListPresentation,p as resolveMediaPresentation,k as resolveQuotedMessagePresentation,v as spikeCountForDuration}from'./chunk-EBFUMES6.js';export{j as DEFAULT_EMOJI_ASSET_BASE,i as EMOJI_CATALOG,c as EMOJI_GAME_DICE_STABLE_KEY,b as EMOJI_GAME_RPS_STABLE_KEY,m as EMOJI_TOKEN_RE,K as MAX_BATCH_FILES,a as MAX_RECENT_EMOJI_COUNT,g as UNICODE_EMOJI_CATALOG,J as blockReasonForChannelSession,I as blockReasonForChannelState,O as blockReasonForGroupState,R as blockReasonForSession,D as canEditMessage,t as canPinChannelMessage,s as canPinGroupMessage,u as canPinMessage,C as canRecallMessage,Z as cancelMediaUpload,r as createChatRuntime,p as createEmojiMatcher,F as decideConversationAction,H as decideMemberTargetAction,G as decideMessageAction,l as emojiAssetUrl,n as emojiUrlByCode,xa as fetchConversationFileBatch,ya as fetchConversationImageBatch,va as fetchConversationMessageBatch,za as fetchConversationVideoBatch,Aa as fetchConversationVoiceBatch,Ba as fetchNextConversationSearchBatch,aa as forwardService,o as hasEmojiCandidate,N as isGifFile,v as isPinnedMessageProtected,V as isVoiceStorageConfigured,L as mediaBatchBudgetBytes,fa as messageService,e as parseUnicodeEmojiCode,ka as pinnedMessageService,d as prependRecentEmoji,ua as profileService,U as replaceInterruptedMediaFile,P as requiresConversationEncryption,y as resolveChannelMemberAvatarUrl,x as resolveChannelMemberDisplayName,k as resolveEmojiToken,B as resolveFriendDisplayName,la as resolveImProfileAccessDestination,w as resolveMemberDisplayName,A as resolvePublicNickname,z as resolveSenderAvatarUrl,q as resolveStandaloneEmojiMessage,h as resolveUnicodeEmoji,_ as retryMessage,M as runMediaSendBatch,Y as sendAsFilesBatch,E as sendBlockReasonForDecision,T as sendMediaFile,X as sendMediaFilesBatch,S as sendText,W as sendVoice,Q as supportsConversationMention,f as unicodeEmojiTextFromCode}from'./chunk-LCNFKUGH.js';export{C as createNewMessageBadgeController,i as createThreadItems,f as formatChatDateSeparator,e as formatConversationDisplayTime,c as getLocalDayKey,l as isMessageLocateScrollProtected,v as isMessageTailChangeFromOlderWindowTrim,k as isMessageViewportMeasurable,B as isMessageVisibleForNewMessageBadge,x as loadOlderUntilBoundary,p as refreshPrependMessageAnchorPosition,j as resolveCenteredMessageScrollTop,a as resolveDisplayTimestamp,g as resolveImThreadActiveDate,h as resolveMessageBodyKind,b as resolveMessageTimelineTimestamp,n as resolvePrependMessageAnchor,q as resolvePrependMessageAnchorAdjustment,o as resolvePrependMessageAnchorPosition,s as resolveSurvivingMessageAnchorAdjustment,r as resolveVisibleMessageAnchorPositions,t as shouldCompleteInitialViewport,y as shouldFillInitialHistoryViewport,u as shouldFollowIncomingMessage,z as shouldLoadNewerHistoryPage,m as shouldPrefetchOlderHistory,w as shouldRestoreMessageViewportFocus,d as shouldShowChatDateSeparator,A as shouldTrackRemoteMessageForBadge}from'./chunk-IXEEIWDI.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-G7IJFU6R.js';export{l as IM_CHAT_FONT_SCALES,e as IM_DIAGNOSTIC_CATEGORIES,h as IM_EMOJI_CATALOG,c as ImPinnedMessageOperationError,k as buildSessionFavoritePlainBody,d as createFaceToFaceGroupQrPayload,m as createImClient,f as createImConsoleDiagnosticSink,p as createImDiagnosticMemoryBuffer,g as createSdkDiagnosticWriter,a as migrateImCachePrefix,i as resolveImEmojiToken,j as resolveSessionFavoriteKindFromMessage}from'./chunk-ACU6MYJB.js';export{Ra as MediaTransferError,$a as createVoicePlayer,ab as createVoiceRecordingSession,Za as detectVoiceCapabilities,Sa as mediaTransferErrorCodeOf,Ta as normalizeMediaUploadCredentials,_a as voiceErrorCodeOf}from'./chunk-DFJWOEGQ.js';export{ia as EDIT_WINDOW_MS,qa as REACTION_SUPPORTED_CONTENT_TYPES,ra as canReactToMessage,ma as canTransmit,ka as canTransmitByType,la as canTransmitContent,o as classifyStickerImageType,Z as createImTextSearchMatcher,X as extractSearchText,Y as getImTextSearchInitial,ja as requiresForwardTypeConfirmation,ta as resolveChannelAccess,ca as resolveTextSegments,za as sortSessions,Aa as sumSessionsUnread}from'./chunk-RKZTPXBQ.js';import'./chunk-WOT6VMZA.js';
1
+ import'./chunk-IDECJJXC.js';import'./chunk-SXY56EVC.js';export{c as DEFAULT_LOADING_MINIMUM_VISIBLE_MS,b as DEFAULT_LOADING_SHOW_DELAY_MS,u as SPIKE_STEP,q as calculateMediaBox,f as canPromoteMediaPresentationSource,h as captureRuntimeClientOperation,g as captureRuntimeOperation,d as createDelayedLoadingIndicator,o as createLinkMatcher,s as formatFileSize,r as formatMediaDuration,t as getFileExtension,n as hasLinkCandidate,l as highlightSegments,i as mediaService,m as normalizeLinkHref,x as placeholderWaveform,j as readService,w as resampleWaveform,e as resolveBestMediaPresentationSource,a as resolveConversationListPresentation,p as resolveMediaPresentation,k as resolveQuotedMessagePresentation,v as spikeCountForDuration}from'./chunk-NBLASAT2.js';export{j as DEFAULT_EMOJI_ASSET_BASE,i as EMOJI_CATALOG,c as EMOJI_GAME_DICE_STABLE_KEY,b as EMOJI_GAME_RPS_STABLE_KEY,m as EMOJI_TOKEN_RE,K as MAX_BATCH_FILES,a as MAX_RECENT_EMOJI_COUNT,g as UNICODE_EMOJI_CATALOG,J as blockReasonForChannelSession,I as blockReasonForChannelState,O as blockReasonForGroupState,R as blockReasonForSession,D as canEditMessage,t as canPinChannelMessage,s as canPinGroupMessage,u as canPinMessage,C as canRecallMessage,Z as cancelMediaUpload,r as createChatRuntime,p as createEmojiMatcher,F as decideConversationAction,H as decideMemberTargetAction,G as decideMessageAction,l as emojiAssetUrl,n as emojiUrlByCode,xa as fetchConversationFileBatch,ya as fetchConversationImageBatch,va as fetchConversationMessageBatch,za as fetchConversationVideoBatch,Aa as fetchConversationVoiceBatch,Ba as fetchNextConversationSearchBatch,aa as forwardService,o as hasEmojiCandidate,N as isGifFile,v as isPinnedMessageProtected,V as isVoiceStorageConfigured,L as mediaBatchBudgetBytes,fa as messageService,e as parseUnicodeEmojiCode,ka as pinnedMessageService,d as prependRecentEmoji,ua as profileService,U as replaceInterruptedMediaFile,P as requiresConversationEncryption,y as resolveChannelMemberAvatarUrl,x as resolveChannelMemberDisplayName,k as resolveEmojiToken,B as resolveFriendDisplayName,la as resolveImProfileAccessDestination,w as resolveMemberDisplayName,A as resolvePublicNickname,z as resolveSenderAvatarUrl,q as resolveStandaloneEmojiMessage,h as resolveUnicodeEmoji,_ as retryMessage,M as runMediaSendBatch,Y as sendAsFilesBatch,E as sendBlockReasonForDecision,T as sendMediaFile,X as sendMediaFilesBatch,S as sendText,W as sendVoice,Q as supportsConversationMention,f as unicodeEmojiTextFromCode}from'./chunk-CD5SF7WI.js';export{C as createNewMessageBadgeController,i as createThreadItems,f as formatChatDateSeparator,e as formatConversationDisplayTime,c as getLocalDayKey,l as isMessageLocateScrollProtected,v as isMessageTailChangeFromOlderWindowTrim,k as isMessageViewportMeasurable,B as isMessageVisibleForNewMessageBadge,x as loadOlderUntilBoundary,p as refreshPrependMessageAnchorPosition,j as resolveCenteredMessageScrollTop,a as resolveDisplayTimestamp,g as resolveImThreadActiveDate,h as resolveMessageBodyKind,b as resolveMessageTimelineTimestamp,n as resolvePrependMessageAnchor,q as resolvePrependMessageAnchorAdjustment,o as resolvePrependMessageAnchorPosition,s as resolveSurvivingMessageAnchorAdjustment,r as resolveVisibleMessageAnchorPositions,t as shouldCompleteInitialViewport,y as shouldFillInitialHistoryViewport,u as shouldFollowIncomingMessage,z as shouldLoadNewerHistoryPage,m as shouldPrefetchOlderHistory,w as shouldRestoreMessageViewportFocus,d as shouldShowChatDateSeparator,A as shouldTrackRemoteMessageForBadge}from'./chunk-KLEMN4CG.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-YPS6Y5ZY.js';export{l as IM_CHAT_FONT_SCALES,e as IM_DIAGNOSTIC_CATEGORIES,h as IM_EMOJI_CATALOG,c as ImPinnedMessageOperationError,k as buildSessionFavoritePlainBody,d as createFaceToFaceGroupQrPayload,m as createImClient,f as createImConsoleDiagnosticSink,p as createImDiagnosticMemoryBuffer,g as createSdkDiagnosticWriter,a as migrateImCachePrefix,i as resolveImEmojiToken,j as resolveSessionFavoriteKindFromMessage}from'./chunk-NVF5RDHB.js';export{Ra as MediaTransferError,$a as createVoicePlayer,ab as createVoiceRecordingSession,Za as detectVoiceCapabilities,Sa as mediaTransferErrorCodeOf,Ta as normalizeMediaUploadCredentials,_a as voiceErrorCodeOf}from'./chunk-ULJD6ZA3.js';export{ia as EDIT_WINDOW_MS,qa as REACTION_SUPPORTED_CONTENT_TYPES,ra as canReactToMessage,ma as canTransmit,ka as canTransmitByType,la as canTransmitContent,o as classifyStickerImageType,Z as createImTextSearchMatcher,X as extractSearchText,Y as getImTextSearchInitial,ja as requiresForwardTypeConfirmation,ta as resolveChannelAccess,ca as resolveTextSegments,za as sortSessions,Aa as sumSessionsUnread}from'./chunk-W2FKET4Z.js';import'./chunk-WOT6VMZA.js';
package/dist/sdk.d.ts CHANGED
@@ -2051,6 +2051,12 @@ interface MediaTransferAdapterConfig {
2051
2051
  * 部署可置 false 立即退回全量单次 PutObject(大文件回到单连接与整包内存的旧行为),无需发版。
2052
2052
  */
2053
2053
  multipartUpload?: boolean;
2054
+ /**
2055
+ * 大于 16MiB 的明文/simple 文件是否尝试 Range 并发下载(默认 true)。
2056
+ * 需要下载域名支持 Range,并暴露 Content-Range 与强 ETag;返回 200 时消费完整响应并记录诊断。
2057
+ * 置 false 使用单次 GET。此开关不改变上传或整文件 TEA 的行为。
2058
+ */
2059
+ rangeDownload?: boolean;
2054
2060
  /**
2055
2061
  * 媒体发送阶段的并发上限;由 im-core 消费,adapter 本身仍只负责单个上传任务。
2056
2062
  * 缺省为 4,允许 1-6;高并发会提高吞吐,也会增加文件加密的内存峰值。
@@ -2068,8 +2074,11 @@ interface MediaTransferAdapterConfig {
2068
2074
  * - `multipart-etag-missing`:分片响应读不到 ETag,**桶 CORS 缺 `ExposeHeaders: ETag`**,不是网络问题。
2069
2075
  * - `multipart-abort-failed`:分片失败后的 `AbortMultipartUpload` 清理本身失败,已上传分片可能残留并计费。
2070
2076
  * - `multipart-upload-failed`:分片上传因其它原因失败;`cause` 保留原始错误,消息列出分片对 CORS 的额外要求。
2077
+ * - `download-range-invalid`:分段状态、范围、长度或可读响应头不符合合同。
2078
+ * - `download-object-changed`:分段之间的强 ETag 或总长度改变,拒绝混合不同文件版本。
2079
+ * - `download-range-failed`:下载返回非成功 HTTP 状态。
2071
2080
  */
2072
- type MediaTransferErrorCode = 'bucket-unconfigured' | 'credentials-provider-missing' | 'credentials-request-failed' | 'credentials-invalid' | 'upload-source-invalid' | 'multipart-etag-missing' | 'multipart-abort-failed' | 'multipart-upload-failed';
2081
+ type MediaTransferErrorCode = 'bucket-unconfigured' | 'credentials-provider-missing' | 'credentials-request-failed' | 'credentials-invalid' | 'upload-source-invalid' | 'multipart-etag-missing' | 'multipart-abort-failed' | 'multipart-upload-failed' | 'download-range-invalid' | 'download-object-changed' | 'download-range-failed';
2073
2082
  /** 媒体传输统一错误:携带稳定业务码 + 可选底层 cause(诊断用,永不携带凭证明文)。 */
2074
2083
  declare class MediaTransferError extends Error {
2075
2084
  readonly code: MediaTransferErrorCode;
package/dist/sdk.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-IDECJJXC.js';export{l as IM_CHAT_FONT_SCALES,e as IM_DIAGNOSTIC_CATEGORIES,h as IM_EMOJI_CATALOG,c as ImPinnedMessageOperationError,k as buildSessionFavoritePlainBody,d as createFaceToFaceGroupQrPayload,m as createImClient,f as createImConsoleDiagnosticSink,p as createImDiagnosticMemoryBuffer,g as createSdkDiagnosticWriter,a as migrateImCachePrefix,i as resolveImEmojiToken,j as resolveSessionFavoriteKindFromMessage}from'./chunk-ACU6MYJB.js';export{Ra as MediaTransferError,$a as createVoicePlayer,ab as createVoiceRecordingSession,Za as detectVoiceCapabilities,Sa as mediaTransferErrorCodeOf,Ta as normalizeMediaUploadCredentials,_a as voiceErrorCodeOf}from'./chunk-DFJWOEGQ.js';export{ia as EDIT_WINDOW_MS,qa as REACTION_SUPPORTED_CONTENT_TYPES,ra as canReactToMessage,ma as canTransmit,ka as canTransmitByType,la as canTransmitContent,o as classifyStickerImageType,Z as createImTextSearchMatcher,X as extractSearchText,Y as getImTextSearchInitial,ja as requiresForwardTypeConfirmation,ta as resolveChannelAccess,ca as resolveTextSegments,za as sortSessions,Aa as sumSessionsUnread}from'./chunk-RKZTPXBQ.js';import'./chunk-WOT6VMZA.js';
1
+ import'./chunk-IDECJJXC.js';export{l as IM_CHAT_FONT_SCALES,e as IM_DIAGNOSTIC_CATEGORIES,h as IM_EMOJI_CATALOG,c as ImPinnedMessageOperationError,k as buildSessionFavoritePlainBody,d as createFaceToFaceGroupQrPayload,m as createImClient,f as createImConsoleDiagnosticSink,p as createImDiagnosticMemoryBuffer,g as createSdkDiagnosticWriter,a as migrateImCachePrefix,i as resolveImEmojiToken,j as resolveSessionFavoriteKindFromMessage}from'./chunk-NVF5RDHB.js';export{Ra as MediaTransferError,$a as createVoicePlayer,ab as createVoiceRecordingSession,Za as detectVoiceCapabilities,Sa as mediaTransferErrorCodeOf,Ta as normalizeMediaUploadCredentials,_a as voiceErrorCodeOf}from'./chunk-ULJD6ZA3.js';export{ia as EDIT_WINDOW_MS,qa as REACTION_SUPPORTED_CONTENT_TYPES,ra as canReactToMessage,ma as canTransmit,ka as canTransmitByType,la as canTransmitContent,o as classifyStickerImageType,Z as createImTextSearchMatcher,X as extractSearchText,Y as getImTextSearchInitial,ja as requiresForwardTypeConfirmation,ta as resolveChannelAccess,ca as resolveTextSegments,za as sortSessions,Aa as sumSessionsUnread}from'./chunk-W2FKET4Z.js';import'./chunk-WOT6VMZA.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "k2-im",
3
3
  "type": "module",
4
- "version": "0.1.18",
4
+ "version": "0.1.19",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "publishConfig": {