k2-im 0.1.17 → 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.d.ts CHANGED
@@ -10,7 +10,7 @@ declare const DEFAULT_LOCALE: ImLocale;
10
10
  */
11
11
  declare function normalizeImLocale(input: string): ImLocale;
12
12
 
13
- /** 媒体业务类型:实现据此选对象存储 bucket/host;sticker 对应 app-sticker。 */
13
+ /** 媒体业务类型:实现据此选对象存储逻辑桶;sticker 对应 app-sticker。 */
14
14
  type MediaKind = 'image' | 'video' | 'voice' | 'file' | 'sticker';
15
15
 
16
16
  /** 会话类型。P0 只用 direct / group。 */
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-C6HKXQPW.js';import'./chunk-KTWXKQ4J.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
@@ -10,7 +10,7 @@ declare const DEFAULT_LOCALE: ImLocale;
10
10
  */
11
11
  declare function normalizeImLocale(input: string): ImLocale;
12
12
 
13
- /** 媒体业务类型:实现据此选对象存储 bucket/host;sticker 对应 app-sticker。 */
13
+ /** 媒体业务类型:实现据此选对象存储逻辑桶;sticker 对应 app-sticker。 */
14
14
  type MediaKind = 'image' | 'video' | 'voice' | 'file' | 'sticker';
15
15
 
16
16
  /** 会话类型。P0 只用 direct / group。 */
@@ -3276,20 +3276,85 @@ interface MembershipJoinResult {
3276
3276
  outcome: MembershipJoinOutcome;
3277
3277
  }
3278
3278
 
3279
- /** 单个媒体类型的对象存储位置:bucket + 公网 host(URL = host/key)。 */
3280
- interface MediaBucketConfig {
3279
+ /** 服务端按逻辑桶签发的 S3 临时上传凭证(已归一为 SDK 合同字段)。 */
3280
+ interface MediaUploadCredentials {
3281
+ /** STS access key id(服务端字段 `access_key_id`)。 */
3282
+ accessKeyId: string;
3283
+ /** STS secret access key(服务端字段 `secret_key`)。 */
3284
+ secretAccessKey: string;
3285
+ /** STS session token(服务端字段 `session_token`)。 */
3286
+ sessionToken: string;
3287
+ /** 服务端声明的过期时间(Unix 秒);缺省时该凭证只受 SDK 本地 TTL 约束。 */
3288
+ expiresAtSeconds?: number;
3289
+ /** 服务端解析出的**物理桶**名,可能与申请用的逻辑桶名不同;PutObject 必须用它。 */
3281
3290
  bucket: string;
3282
- host: string;
3291
+ /** 物理桶所在区域,决定上传端点;不再从身份池 id 前缀推断。 */
3292
+ region: string;
3293
+ /** 对象 key 前缀;STS 策略只允许写该前缀下的对象,SDK 生成的 key 必须以它开头。 */
3294
+ keyPrefix?: string;
3295
+ /** 公开访问域名(已归一为带 scheme、无尾斜杠);写进消息体的媒体 URL 以它为准。 */
3296
+ dnsPoint: string;
3297
+ /** 服务端身份标识;SDK 不使用,仅原样透出供宿主排查。 */
3298
+ identityId?: string;
3299
+ }
3300
+ /** SDK 向宿主申请凭证时给出的上下文。 */
3301
+ interface MediaUploadCredentialsRequest {
3302
+ /** 宿主 env 配置的**逻辑桶名**;宿主原样提交给自己的 BFF。 */
3303
+ bucket: string;
3304
+ /** true 表示 SDK 判定旧凭证不可用(上传被拒或已过期),宿主必须真的重新请求,不得返回自己的缓存。 */
3305
+ forceRefresh: boolean;
3283
3306
  }
3307
+ /**
3308
+ * 宿主注入的取凭证函数:按逻辑桶名向宿主自己的 BFF 申请一次 STS 临时凭证。
3309
+ *
3310
+ * @remarks 这里刻意不带 `AbortSignal`:同一逻辑桶的并发上传会共用同一次在途请求,
3311
+ * 单个上传被取消不应连带中止其它上传正在等待的凭证。宿主实现应当是「打一次接口」的纯函数,
3312
+ * 缓存、TTL、单飞与失败重签由 SDK 负责。
3313
+ */
3314
+ type MediaUploadCredentialsProvider = (request: MediaUploadCredentialsRequest) => Promise<MediaUploadCredentials>;
3315
+ /**
3316
+ * 把服务端原始回包归一为 `MediaUploadCredentials`,同时兼容 snake_case 与 camelCase。
3317
+ *
3318
+ * 宿主可直接用它解析自己 BFF 的返回值,避免 PC 与 H5 各写一份宽松解析;SDK 在收到 provider
3319
+ * 结果后也会再跑一次本函数,因此绕过它自行构造的对象同样会被校验。
3320
+ *
3321
+ * @param raw 凭证对象本身(不含 code/msg 外层包装,由宿主先拆包)。
3322
+ * @returns 归一后的凭证;关键字段缺失或非法时抛 `MediaTransferError('credentials-invalid')`,不返回半份凭证。
3323
+ */
3324
+ declare function normalizeMediaUploadCredentials(raw: unknown): MediaUploadCredentials;
3325
+
3284
3326
  interface MediaTransferAdapterConfig {
3285
- /** AWS Cognito 身份池 id(形如 `ap-northeast-1:xxxx`;region 从前缀解析)。 */
3286
- identityPoolId: string;
3287
- /** 群、社群与用户头像使用的独立 app-header bucket/host;不得复用聊天图片桶。 */
3288
- avatar?: MediaBucketConfig;
3289
- /** 各媒体类型的 bucket/host 映射(对齐 Android:image→app-image 等)。 */
3290
- buckets: Record<MediaKind, MediaBucketConfig>;
3291
- /** 是否启用 S3 Transfer Acceleration(对齐 Android,默认 true)。 */
3327
+ /**
3328
+ * 按**逻辑桶名**申请 S3 临时上传凭证;由宿主实现(打自己的 BFF),SDK 不硬编码接口路径与前缀。
3329
+ * 缓存、TTL、同桶单飞与失败重签由本 adapter 负责,宿主实现应当是「打一次接口」的纯函数。
3330
+ */
3331
+ getUploadCredentials: MediaUploadCredentialsProvider;
3332
+ /** 各媒体类型的**逻辑桶名**(宿主 env 配置,如 image→app-image);物理桶以服务端回包为准。 */
3333
+ buckets: Record<MediaKind, string>;
3334
+ /**
3335
+ * CHANNEL(社群)会话按媒体类型覆盖的逻辑桶名;未覆盖的类型继续使用 `buckets`。
3336
+ * iOS 与 prod H5 都为社群媒体准备了独立桶,但对「社群文件是否也走社群桶」结论相反,
3337
+ * 因此这里只提供按类型覆盖的机制,由部署配置决定覆盖哪些类型。
3338
+ */
3339
+ channelBuckets?: Partial<Record<MediaKind, string>>;
3340
+ /** 群、社群与用户头像使用的独立 app-header 逻辑桶名;不得复用聊天图片桶。 */
3341
+ avatarBucket?: string;
3342
+ /** 是否启用 S3 Transfer Acceleration(默认 true;`cn-` 分区没有加速端点,会强制关闭)。 */
3292
3343
  useAccelerateEndpoint?: boolean;
3344
+ /**
3345
+ * 是否允许超过分片阈值(16MiB)的上传使用 S3 分片上传(默认 true)。
3346
+ *
3347
+ * 分片相比单次 PUT 需要各物理桶的 CORS 额外放行 POST(Create/CompleteMultipartUpload)、
3348
+ * DELETE(AbortMultipartUpload)并 `ExposeHeaders: ETag`;未配齐时分片会直接失败。
3349
+ * 部署可置 false 立即退回全量单次 PutObject(大文件回到单连接与整包内存的旧行为),无需发版。
3350
+ */
3351
+ multipartUpload?: boolean;
3352
+ /**
3353
+ * 大于 16MiB 的明文/simple 文件是否尝试 Range 并发下载(默认 true)。
3354
+ * 需要下载域名支持 Range,并暴露 Content-Range 与强 ETag;返回 200 时消费完整响应并记录诊断。
3355
+ * 置 false 使用单次 GET。此开关不改变上传或整文件 TEA 的行为。
3356
+ */
3357
+ rangeDownload?: boolean;
3293
3358
  /**
3294
3359
  * 媒体发送阶段的并发上限;由 im-core 消费,adapter 本身仍只负责单个上传任务。
3295
3360
  * 缺省为 4,允许 1-6;高并发会提高吞吐,也会增加文件加密的内存峰值。
@@ -3297,6 +3362,31 @@ interface MediaTransferAdapterConfig {
3297
3362
  maxConcurrentUploads?: number;
3298
3363
  }
3299
3364
 
3365
+ /**
3366
+ * 媒体传输错误码(稳定业务码,宿主据此给提示或排查):
3367
+ * - `bucket-unconfigured`:该媒体类型或头像没有配置逻辑桶名(宿主 env 缺该资源类型)。
3368
+ * - `credentials-provider-missing`:宿主没有注入 `getUploadCredentials`,无法申请临时凭证。
3369
+ * - `credentials-request-failed`:宿主取凭证失败(网络、鉴权或业务码非成功);`cause` 保留宿主原始错误。
3370
+ * - `credentials-invalid`:凭证回包缺少必要字段或字段非法,不允许用半份凭证去签名。
3371
+ * - `upload-source-invalid`:上传内容既不是 `Uint8Array` 也不是 `Blob`(纯 JS 宿主绕过类型时的 fail-fast)。
3372
+ * - `multipart-etag-missing`:分片响应读不到 ETag,**桶 CORS 缺 `ExposeHeaders: ETag`**,不是网络问题。
3373
+ * - `multipart-abort-failed`:分片失败后的 `AbortMultipartUpload` 清理本身失败,已上传分片可能残留并计费。
3374
+ * - `multipart-upload-failed`:分片上传因其它原因失败;`cause` 保留原始错误,消息列出分片对 CORS 的额外要求。
3375
+ * - `download-range-invalid`:分段状态、范围、长度或可读响应头不符合合同。
3376
+ * - `download-object-changed`:分段之间的强 ETag 或总长度改变,拒绝混合不同文件版本。
3377
+ * - `download-range-failed`:下载返回非成功 HTTP 状态。
3378
+ */
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';
3380
+ /** 媒体传输统一错误:携带稳定业务码 + 可选底层 cause(诊断用,永不携带凭证明文)。 */
3381
+ declare class MediaTransferError extends Error {
3382
+ readonly code: MediaTransferErrorCode;
3383
+ constructor(code: MediaTransferErrorCode, message?: string, options?: {
3384
+ cause?: unknown;
3385
+ });
3386
+ }
3387
+ /** 判定并提取 MediaTransferError 的错误码;非该错误返回 undefined(调用方走通用失败处理)。 */
3388
+ declare function mediaTransferErrorCodeOf(error: unknown): MediaTransferErrorCode | undefined;
3389
+
3300
3390
  interface NetworkEventTarget {
3301
3391
  addEventListener: (type: string, listener: () => void) => void;
3302
3392
  removeEventListener: (type: string, listener: () => void) => void;
@@ -3361,8 +3451,9 @@ declare function createIndexedDbStorageAdapter(options: IndexedDbStorageAdapterO
3361
3451
  * - `encode-failed`:录音成品 → Speex/Ogg 编码失败。
3362
3452
  * - `decode-failed`:Speex/Ogg → PCM 解码失败(下载损坏 / teaKey 不对 / 非 Speex 文件)。
3363
3453
  * - `empty-recording`:录音成品为空(授权慢返回 / 极短按压)。
3454
+ * - `invalid-playback-rate`:播放速率不是有限数字(NaN/Infinity/非 number)——调用方 bug,不静默回落默认速率。
3364
3455
  */
3365
- type VoiceErrorCode = 'insecure-context' | 'no-media-devices' | 'no-media-recorder' | 'permission-denied' | 'device-not-found' | 'device-busy' | 'audio-context-blocked' | 'codec-unavailable' | 'encode-failed' | 'decode-failed' | 'empty-recording';
3456
+ type VoiceErrorCode = 'insecure-context' | 'no-media-devices' | 'no-media-recorder' | 'permission-denied' | 'device-not-found' | 'device-busy' | 'audio-context-blocked' | 'codec-unavailable' | 'encode-failed' | 'decode-failed' | 'empty-recording' | 'invalid-playback-rate';
3366
3457
  /** 判定并提取 VoiceError 的错误码;非 VoiceError 返回 undefined(调用方走通用错误提示)。 */
3367
3458
  declare function voiceErrorCodeOf(error: unknown): VoiceErrorCode | undefined;
3368
3459
 
@@ -3398,10 +3489,17 @@ interface VoicePlayerState {
3398
3489
  currentTimeMs: number;
3399
3490
  /** 播放失败的曲目 id 集合(错误态;再次 toggle 重试并清除)。 */
3400
3491
  errorIds: ReadonlySet<string>;
3492
+ /** 当前播放速率(0.5-2.0):播放器级配置,切曲、stop、dispose 都保持,不随单条曲目变化。 */
3493
+ playbackRate: number;
3401
3494
  }
3402
3495
  interface VoicePlayerOptions {
3403
3496
  /** 解码结果 WAV objectURL LRU 上限(缺省 8;60s 16k mono WAV ≈ 2MB/条)。 */
3404
3497
  cacheMax?: number;
3498
+ /**
3499
+ * 初始播放速率(缺省 1):宿主用它把自己保存的全局默认语速带进新播放器(如账号切换后重建实例)。
3500
+ * 有限值夹取到 0.5-2.0;非有限值抛 `VoiceError('invalid-playback-rate')`。
3501
+ */
3502
+ playbackRate?: number;
3405
3503
  }
3406
3504
  interface VoiceToggleOptions {
3407
3505
  /** 曲目字节加载器(宿主闭包:本地缓存命中或下载+TEA 解密);返回 null = 加载失败(曲目置错误态,由宿主自行提示)。 */
@@ -3426,6 +3524,12 @@ interface VoicePlayer {
3426
3524
  beginScrub: (id: string) => void;
3427
3525
  /** 结束拖动定位:拖动前在播则从新位置继续。 */
3428
3526
  endScrub: (id: string) => void;
3527
+ /**
3528
+ * 设置播放速率:立即作用于正在播放的曲目,并作为之后所有曲目的速率(播放器级配置)。
3529
+ * 有限值夹取到 0.5-2.0 后写入状态快照;非有限值(NaN/Infinity/非 number)抛
3530
+ * `VoiceError('invalid-playback-rate')`,不静默回落默认速率。
3531
+ */
3532
+ setPlaybackRate: (rate: number) => void;
3429
3533
  /** 停止播放、清 Audio src 并复位;decoded LRU 仍保留供重播。宿主在切会话/撤回/页面隐藏等位置调用。幂等。 */
3430
3534
  stop: () => void;
3431
3535
  /** 释放全部资源(Audio src、缓存 object URL 与订阅)。HMR/宿主销毁时调用;重复调用无副作用。 */
@@ -6139,12 +6243,20 @@ declare const IM_EMOJI_CATALOG: readonly ImEmojiCatalogEntry[];
6139
6243
  declare function resolveImEmojiToken(token: string): ImEmojiCatalogEntry | undefined;
6140
6244
 
6141
6245
  /**
6142
- * 媒体对象存储(S3)配置:由宿主注入的**部署基建配置**,SDK 不硬编码 bucket/身份池/host(配置归属宿主层,经 ImClientOptions.media 注入)。
6143
- * 形状 = im-browser `MediaTransferAdapterConfig`:`identityPoolId` + 独立 `avatar` app-header 位置 + 各 `MediaKind`(image/video/voice/file/sticker)的 `{ bucket, host }` + 可选 `useAccelerateEndpoint`、`maxConcurrentUploads`。
6144
- * 业务契约对齐 Android AWSUploadManager / CommonConstants.AWS(Cognito 匿名身份池直传、对象 public-read、Transfer Acceleration;见 研究Android图片消息实现.md §A.2)。
6145
- * ⚠ 各 bucket 需在对象存储侧配置 CORS 允许本站 origin(含分片上传 POST/DELETE + ExposeHeaders ETag);`identityPoolId` 前端可见(对齐 Android 现状)。
6146
- * 并发字段只由 SDK core 的媒体编排消费;adapter 会忽略该字段。高内存设备可设置 5-6,低内存设备建议 2-3。
6147
- * ⚠ 后续如需更安全(presigned URL)改 im-browser 的 `MediaTransferPort` 实现即可,本配置与调用方不变。
6246
+ * 媒体对象存储(S3)配置:由宿主注入的**部署基建配置**,SDK 不硬编码逻辑桶名,也不硬编码取凭证的接口路径。
6247
+ *
6248
+ * 形状 = im-browser `MediaTransferAdapterConfig`:必填 `getUploadCredentials`(按逻辑桶名向宿主自己的 BFF 申请
6249
+ * STS 临时凭证)+ 各 `MediaKind`(image/video/voice/file/sticker)的**逻辑桶名** + 可选 `channelBuckets`(社群会话
6250
+ * 按类型覆盖)、`avatarBucket`、`useAccelerateEndpoint`、`multipartUpload`、`maxConcurrentUploads`。
6251
+ *
6252
+ * 上传凭证由业务后端按登录态签发(与 iOS、prod H5 同一个接口),回包同时给出**物理桶**、区域、`key_prefix` 和
6253
+ * 公开访问域名;SDK 据此拼 object key 与消息体 URL,宿主 env 里配的只是申请凭证用的逻辑桶名。凭证缓存(本地
6254
+ * 1 小时、按服务端过期时间提前 5 分钟失效)、同桶单飞与失败重签由 SDK 负责,宿主只需提供「打一次接口」的纯函数。
6255
+ *
6256
+ * ⚠ 各 bucket 需在对象存储侧配置 CORS 允许本站 origin 的 PUT + GET;超过 16MiB 的上传走 S3 分片,另需放行
6257
+ * POST(Create/CompleteMultipartUpload)、DELETE(AbortMultipartUpload)并 ExposeHeaders: ETag。CORS 未配齐时
6258
+ * 可用 `multipartUpload: false` 退回全量单次 PutObject。
6259
+ * ⚠ 并发字段只由 SDK core 的媒体编排消费;adapter 会忽略该字段。高内存设备可设置 5-6,低内存设备建议 2-3。
6148
6260
  */
6149
6261
  type ImMediaConfig = MediaTransferAdapterConfig;
6150
6262
  /**
@@ -8203,7 +8315,7 @@ declare function replaceInterruptedMediaFile(runtime: ChatRuntime, input: {
8203
8315
  conversationId: string;
8204
8316
  conversationType: ConversationType;
8205
8317
  }, hooks: SendCommandHooks): Promise<boolean>;
8206
- /** 判断部署配置是否提供完整语音存储地址;缺失时录音入口和最终发送都应明确禁用。 */
8318
+ /** 判断部署配置是否提供语音逻辑桶名;缺失时录音入口和最终发送都应明确禁用。 */
8207
8319
  declare function isVoiceStorageConfigured(runtime: ChatRuntime): boolean;
8208
8320
  /**
8209
8321
  * 发送录音器产出的语音消息。
@@ -9018,5 +9130,5 @@ declare function resampleWaveform(data: readonly number[], targetCount: number):
9018
9130
  */
9019
9131
  declare function placeholderWaveform(seed: string, count: number): number[];
9020
9132
 
9021
- 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, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, MAX_BATCH_FILES, MAX_RECENT_EMOJI_COUNT, REACTION_SUPPORTED_CONTENT_TYPES, SPIKE_STEP, UNICODE_EMOJI_CATALOG, blockReasonForChannelSession, blockReasonForChannelState, blockReasonForGroupState, blockReasonForSession, buildSessionFavoritePlainBody, calculateMediaBox, canEditMessage, canPinChannelMessage, canPinGroupMessage, canPinMessage, canPromoteMediaPresentationSource, canReactToMessage, canRecallMessage, canTransmit, canTransmitByType, canTransmitContent, cancelMediaUpload, captureRuntimeClientOperation, captureRuntimeOperation, classifyStickerImageType, createChatRuntime, createDelayedLoadingIndicator, createEmojiMatcher, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImI18n, createImTextSearchMatcher, createLinkMatcher, createNewMessageBadgeController, createSdkDiagnosticWriter, createThreadItems, createVoicePlayer, createVoiceRecordingSession, decideConversationAction, decideMemberTargetAction, decideMessageAction, detectVoiceCapabilities, emojiAssetUrl, emojiUrlByCode, extractSearchText, fetchConversationFileBatch, fetchConversationImageBatch, fetchConversationMessageBatch, fetchConversationVideoBatch, fetchConversationVoiceBatch, fetchNextConversationSearchBatch, formatChatDateSeparator, formatConversationDisplayTime, formatFailure, formatFileSize, formatLastMessageSummary, formatMediaDuration, formatMediaPlaceholder, formatMentionAll, formatServiceText, formatSystemMessage, forward_service as forwardService, getFileExtension, getImTextSearchInitial, getImTimeCatalog, getLocalDayKey, hasEmojiCandidate, hasLinkCandidate, highlightSegments, isGifFile, isMessageLocateScrollProtected, isMessageTailChangeFromOlderWindowTrim, isMessageViewportMeasurable, isMessageVisibleForNewMessageBadge, isPinnedMessageProtected, isVoiceStorageConfigured, loadOlderUntilBoundary, mediaBatchBudgetBytes, media_service as mediaService, message_service as messageService, migrateImCachePrefix, normalizeImLocale, normalizeLinkHref, 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, resolveConversationListPresentation, resolveDisplayTimestamp, resolveEmojiToken, resolveFriendDisplayName, resolveImEmojiToken, resolveImProfileAccessDestination, resolveImThreadActiveDate, resolveMediaPresentation, resolveMemberDisplayName, resolveMessageBodyKind, resolveMessageTimelineTimestamp, resolvePrependMessageAnchor, resolvePrependMessageAnchorAdjustment, resolvePrependMessageAnchorPosition, resolvePublicNickname, resolveQuotedMessagePresentation, resolveSenderAvatarUrl, resolveSessionFavoriteKindFromMessage, resolveStandaloneEmojiMessage, resolveSurvivingMessageAnchorAdjustment, resolveTextSegments, resolveUnicodeEmoji, resolveVisibleMessageAnchorPositions, retryMessage, runMediaSendBatch, sendAsFilesBatch, sendBlockReasonForDecision, sendMediaFile, sendMediaFilesBatch, sendText, sendVoice, shouldCompleteInitialViewport, shouldFillInitialHistoryViewport, shouldFollowIncomingMessage, shouldLoadNewerHistoryPage, shouldPrefetchOlderHistory, shouldRestoreMessageViewportFocus, shouldShowChatDateSeparator, shouldTrackRemoteMessageForBadge, sortSessions, spikeCountForDuration, sumSessionsUnread, supportsConversationMention, unicodeEmojiTextFromCode, voiceErrorCodeOf };
9022
- export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CapabilityAvailability, CapabilityDecision, CapabilityReason, CenteredMessageScrollInput, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilityAction, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewSegment, ConversationMessageApi, ConversationOpenOptions, ConversationRef, ConversationSearchCategory, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, CreateThreadItemsInput, 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, GifMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, HighlightSegment, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, 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, 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, ImForwardOperationResult, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMemberPresentation, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImI18n, ImImageBody, ImLastMessageCatalog, ImLifecycleSnapshot, ImLocalDataApi, ImLocalDataInfo, ImLocale, ImLogoutOptions, 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, ImQuotedMessagePresentation, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImServiceCatalog, ImServiceTextKey, ImSessionApi, 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, ImWeekdayKey, ImageMessageOptions, ImagePreviewMetadata, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, LocalConversationHistoryClearResult, LocalMessageDeletionResult, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MentionCandidate, MentionCandidatePage, MentionInput, MessageCapabilityAction, MessageCapabilityInput, MessageContentType, MessageLocateScrollProtectionInput, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchResult, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolveTextOptions, ResolvedConversationBackground, ResolvedMediaPresentation, RichExtraSegment, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SegmentMatch, SegmentMatcher, SendCapabilityMode, SendCommandHooks, SendMessageResult, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnicodeEmojiEntry, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
9133
+ 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, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, MAX_BATCH_FILES, MAX_RECENT_EMOJI_COUNT, MediaTransferError, REACTION_SUPPORTED_CONTENT_TYPES, SPIKE_STEP, UNICODE_EMOJI_CATALOG, blockReasonForChannelSession, blockReasonForChannelState, blockReasonForGroupState, blockReasonForSession, buildSessionFavoritePlainBody, calculateMediaBox, canEditMessage, canPinChannelMessage, canPinGroupMessage, canPinMessage, canPromoteMediaPresentationSource, canReactToMessage, canRecallMessage, canTransmit, canTransmitByType, canTransmitContent, cancelMediaUpload, captureRuntimeClientOperation, captureRuntimeOperation, classifyStickerImageType, createChatRuntime, createDelayedLoadingIndicator, createEmojiMatcher, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImI18n, createImTextSearchMatcher, createLinkMatcher, createNewMessageBadgeController, createSdkDiagnosticWriter, createThreadItems, createVoicePlayer, createVoiceRecordingSession, decideConversationAction, decideMemberTargetAction, decideMessageAction, detectVoiceCapabilities, emojiAssetUrl, emojiUrlByCode, extractSearchText, fetchConversationFileBatch, fetchConversationImageBatch, fetchConversationMessageBatch, fetchConversationVideoBatch, fetchConversationVoiceBatch, fetchNextConversationSearchBatch, formatChatDateSeparator, formatConversationDisplayTime, formatFailure, formatFileSize, formatLastMessageSummary, formatMediaDuration, formatMediaPlaceholder, formatMentionAll, formatServiceText, formatSystemMessage, forward_service as forwardService, getFileExtension, getImTextSearchInitial, getImTimeCatalog, getLocalDayKey, hasEmojiCandidate, hasLinkCandidate, highlightSegments, isGifFile, isMessageLocateScrollProtected, isMessageTailChangeFromOlderWindowTrim, isMessageViewportMeasurable, isMessageVisibleForNewMessageBadge, isPinnedMessageProtected, isVoiceStorageConfigured, loadOlderUntilBoundary, mediaBatchBudgetBytes, media_service as mediaService, mediaTransferErrorCodeOf, message_service as messageService, migrateImCachePrefix, normalizeImLocale, normalizeLinkHref, normalizeMediaUploadCredentials, 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, resolveConversationListPresentation, resolveDisplayTimestamp, resolveEmojiToken, resolveFriendDisplayName, resolveImEmojiToken, resolveImProfileAccessDestination, resolveImThreadActiveDate, resolveMediaPresentation, resolveMemberDisplayName, resolveMessageBodyKind, resolveMessageTimelineTimestamp, resolvePrependMessageAnchor, resolvePrependMessageAnchorAdjustment, resolvePrependMessageAnchorPosition, resolvePublicNickname, resolveQuotedMessagePresentation, resolveSenderAvatarUrl, resolveSessionFavoriteKindFromMessage, resolveStandaloneEmojiMessage, resolveSurvivingMessageAnchorAdjustment, resolveTextSegments, resolveUnicodeEmoji, resolveVisibleMessageAnchorPositions, retryMessage, runMediaSendBatch, sendAsFilesBatch, sendBlockReasonForDecision, sendMediaFile, sendMediaFilesBatch, sendText, sendVoice, shouldCompleteInitialViewport, shouldFillInitialHistoryViewport, shouldFollowIncomingMessage, shouldLoadNewerHistoryPage, shouldPrefetchOlderHistory, shouldRestoreMessageViewportFocus, shouldShowChatDateSeparator, shouldTrackRemoteMessageForBadge, sortSessions, spikeCountForDuration, sumSessionsUnread, supportsConversationMention, unicodeEmojiTextFromCode, voiceErrorCodeOf };
9134
+ export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CapabilityAvailability, CapabilityDecision, CapabilityReason, CenteredMessageScrollInput, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilityAction, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewSegment, ConversationMessageApi, ConversationOpenOptions, ConversationRef, ConversationSearchCategory, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, CreateThreadItemsInput, 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, GifMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, HighlightSegment, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, 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, 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, ImForwardOperationResult, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMemberPresentation, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImI18n, ImImageBody, ImLastMessageCatalog, ImLifecycleSnapshot, ImLocalDataApi, ImLocalDataInfo, ImLocale, ImLogoutOptions, 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, ImQuotedMessagePresentation, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImServiceCatalog, ImServiceTextKey, ImSessionApi, 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, ImWeekdayKey, ImageMessageOptions, ImagePreviewMetadata, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, LocalConversationHistoryClearResult, LocalMessageDeletionResult, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MediaTransferErrorCode, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MentionCandidate, MentionCandidatePage, MentionInput, MessageCapabilityAction, MessageCapabilityInput, MessageContentType, MessageLocateScrollProtectionInput, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchResult, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolveTextOptions, ResolvedConversationBackground, ResolvedMediaPresentation, RichExtraSegment, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SegmentMatch, SegmentMatcher, SendCapabilityMode, SendCommandHooks, SendMessageResult, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnicodeEmojiEntry, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
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-RT3IRN3M.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-GBIHVXZP.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-VYHK4LIZ.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-C6HKXQPW.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-FA3RKHIR.js';export{Ya as createVoicePlayer,Za as createVoiceRecordingSession,Wa as detectVoiceCapabilities,Xa as voiceErrorCodeOf}from'./chunk-K6P5ZYHG.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-KTWXKQ4J.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
@@ -1,4 +1,4 @@
1
- /** 媒体业务类型:实现据此选对象存储 bucket/host;sticker 对应 app-sticker。 */
1
+ /** 媒体业务类型:实现据此选对象存储逻辑桶;sticker 对应 app-sticker。 */
2
2
  type MediaKind = 'image' | 'video' | 'voice' | 'file' | 'sticker';
3
3
 
4
4
  /** 会话类型。P0 只用 direct / group。 */
@@ -1978,20 +1978,85 @@ interface MembershipJoinResult {
1978
1978
  outcome: MembershipJoinOutcome;
1979
1979
  }
1980
1980
 
1981
- /** 单个媒体类型的对象存储位置:bucket + 公网 host(URL = host/key)。 */
1982
- interface MediaBucketConfig {
1981
+ /** 服务端按逻辑桶签发的 S3 临时上传凭证(已归一为 SDK 合同字段)。 */
1982
+ interface MediaUploadCredentials {
1983
+ /** STS access key id(服务端字段 `access_key_id`)。 */
1984
+ accessKeyId: string;
1985
+ /** STS secret access key(服务端字段 `secret_key`)。 */
1986
+ secretAccessKey: string;
1987
+ /** STS session token(服务端字段 `session_token`)。 */
1988
+ sessionToken: string;
1989
+ /** 服务端声明的过期时间(Unix 秒);缺省时该凭证只受 SDK 本地 TTL 约束。 */
1990
+ expiresAtSeconds?: number;
1991
+ /** 服务端解析出的**物理桶**名,可能与申请用的逻辑桶名不同;PutObject 必须用它。 */
1983
1992
  bucket: string;
1984
- host: string;
1993
+ /** 物理桶所在区域,决定上传端点;不再从身份池 id 前缀推断。 */
1994
+ region: string;
1995
+ /** 对象 key 前缀;STS 策略只允许写该前缀下的对象,SDK 生成的 key 必须以它开头。 */
1996
+ keyPrefix?: string;
1997
+ /** 公开访问域名(已归一为带 scheme、无尾斜杠);写进消息体的媒体 URL 以它为准。 */
1998
+ dnsPoint: string;
1999
+ /** 服务端身份标识;SDK 不使用,仅原样透出供宿主排查。 */
2000
+ identityId?: string;
2001
+ }
2002
+ /** SDK 向宿主申请凭证时给出的上下文。 */
2003
+ interface MediaUploadCredentialsRequest {
2004
+ /** 宿主 env 配置的**逻辑桶名**;宿主原样提交给自己的 BFF。 */
2005
+ bucket: string;
2006
+ /** true 表示 SDK 判定旧凭证不可用(上传被拒或已过期),宿主必须真的重新请求,不得返回自己的缓存。 */
2007
+ forceRefresh: boolean;
1985
2008
  }
2009
+ /**
2010
+ * 宿主注入的取凭证函数:按逻辑桶名向宿主自己的 BFF 申请一次 STS 临时凭证。
2011
+ *
2012
+ * @remarks 这里刻意不带 `AbortSignal`:同一逻辑桶的并发上传会共用同一次在途请求,
2013
+ * 单个上传被取消不应连带中止其它上传正在等待的凭证。宿主实现应当是「打一次接口」的纯函数,
2014
+ * 缓存、TTL、单飞与失败重签由 SDK 负责。
2015
+ */
2016
+ type MediaUploadCredentialsProvider = (request: MediaUploadCredentialsRequest) => Promise<MediaUploadCredentials>;
2017
+ /**
2018
+ * 把服务端原始回包归一为 `MediaUploadCredentials`,同时兼容 snake_case 与 camelCase。
2019
+ *
2020
+ * 宿主可直接用它解析自己 BFF 的返回值,避免 PC 与 H5 各写一份宽松解析;SDK 在收到 provider
2021
+ * 结果后也会再跑一次本函数,因此绕过它自行构造的对象同样会被校验。
2022
+ *
2023
+ * @param raw 凭证对象本身(不含 code/msg 外层包装,由宿主先拆包)。
2024
+ * @returns 归一后的凭证;关键字段缺失或非法时抛 `MediaTransferError('credentials-invalid')`,不返回半份凭证。
2025
+ */
2026
+ declare function normalizeMediaUploadCredentials(raw: unknown): MediaUploadCredentials;
2027
+
1986
2028
  interface MediaTransferAdapterConfig {
1987
- /** AWS Cognito 身份池 id(形如 `ap-northeast-1:xxxx`;region 从前缀解析)。 */
1988
- identityPoolId: string;
1989
- /** 群、社群与用户头像使用的独立 app-header bucket/host;不得复用聊天图片桶。 */
1990
- avatar?: MediaBucketConfig;
1991
- /** 各媒体类型的 bucket/host 映射(对齐 Android:image→app-image 等)。 */
1992
- buckets: Record<MediaKind, MediaBucketConfig>;
1993
- /** 是否启用 S3 Transfer Acceleration(对齐 Android,默认 true)。 */
2029
+ /**
2030
+ * 按**逻辑桶名**申请 S3 临时上传凭证;由宿主实现(打自己的 BFF),SDK 不硬编码接口路径与前缀。
2031
+ * 缓存、TTL、同桶单飞与失败重签由本 adapter 负责,宿主实现应当是「打一次接口」的纯函数。
2032
+ */
2033
+ getUploadCredentials: MediaUploadCredentialsProvider;
2034
+ /** 各媒体类型的**逻辑桶名**(宿主 env 配置,如 image→app-image);物理桶以服务端回包为准。 */
2035
+ buckets: Record<MediaKind, string>;
2036
+ /**
2037
+ * CHANNEL(社群)会话按媒体类型覆盖的逻辑桶名;未覆盖的类型继续使用 `buckets`。
2038
+ * iOS 与 prod H5 都为社群媒体准备了独立桶,但对「社群文件是否也走社群桶」结论相反,
2039
+ * 因此这里只提供按类型覆盖的机制,由部署配置决定覆盖哪些类型。
2040
+ */
2041
+ channelBuckets?: Partial<Record<MediaKind, string>>;
2042
+ /** 群、社群与用户头像使用的独立 app-header 逻辑桶名;不得复用聊天图片桶。 */
2043
+ avatarBucket?: string;
2044
+ /** 是否启用 S3 Transfer Acceleration(默认 true;`cn-` 分区没有加速端点,会强制关闭)。 */
1994
2045
  useAccelerateEndpoint?: boolean;
2046
+ /**
2047
+ * 是否允许超过分片阈值(16MiB)的上传使用 S3 分片上传(默认 true)。
2048
+ *
2049
+ * 分片相比单次 PUT 需要各物理桶的 CORS 额外放行 POST(Create/CompleteMultipartUpload)、
2050
+ * DELETE(AbortMultipartUpload)并 `ExposeHeaders: ETag`;未配齐时分片会直接失败。
2051
+ * 部署可置 false 立即退回全量单次 PutObject(大文件回到单连接与整包内存的旧行为),无需发版。
2052
+ */
2053
+ multipartUpload?: boolean;
2054
+ /**
2055
+ * 大于 16MiB 的明文/simple 文件是否尝试 Range 并发下载(默认 true)。
2056
+ * 需要下载域名支持 Range,并暴露 Content-Range 与强 ETag;返回 200 时消费完整响应并记录诊断。
2057
+ * 置 false 使用单次 GET。此开关不改变上传或整文件 TEA 的行为。
2058
+ */
2059
+ rangeDownload?: boolean;
1995
2060
  /**
1996
2061
  * 媒体发送阶段的并发上限;由 im-core 消费,adapter 本身仍只负责单个上传任务。
1997
2062
  * 缺省为 4,允许 1-6;高并发会提高吞吐,也会增加文件加密的内存峰值。
@@ -1999,6 +2064,31 @@ interface MediaTransferAdapterConfig {
1999
2064
  maxConcurrentUploads?: number;
2000
2065
  }
2001
2066
 
2067
+ /**
2068
+ * 媒体传输错误码(稳定业务码,宿主据此给提示或排查):
2069
+ * - `bucket-unconfigured`:该媒体类型或头像没有配置逻辑桶名(宿主 env 缺该资源类型)。
2070
+ * - `credentials-provider-missing`:宿主没有注入 `getUploadCredentials`,无法申请临时凭证。
2071
+ * - `credentials-request-failed`:宿主取凭证失败(网络、鉴权或业务码非成功);`cause` 保留宿主原始错误。
2072
+ * - `credentials-invalid`:凭证回包缺少必要字段或字段非法,不允许用半份凭证去签名。
2073
+ * - `upload-source-invalid`:上传内容既不是 `Uint8Array` 也不是 `Blob`(纯 JS 宿主绕过类型时的 fail-fast)。
2074
+ * - `multipart-etag-missing`:分片响应读不到 ETag,**桶 CORS 缺 `ExposeHeaders: ETag`**,不是网络问题。
2075
+ * - `multipart-abort-failed`:分片失败后的 `AbortMultipartUpload` 清理本身失败,已上传分片可能残留并计费。
2076
+ * - `multipart-upload-failed`:分片上传因其它原因失败;`cause` 保留原始错误,消息列出分片对 CORS 的额外要求。
2077
+ * - `download-range-invalid`:分段状态、范围、长度或可读响应头不符合合同。
2078
+ * - `download-object-changed`:分段之间的强 ETag 或总长度改变,拒绝混合不同文件版本。
2079
+ * - `download-range-failed`:下载返回非成功 HTTP 状态。
2080
+ */
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';
2082
+ /** 媒体传输统一错误:携带稳定业务码 + 可选底层 cause(诊断用,永不携带凭证明文)。 */
2083
+ declare class MediaTransferError extends Error {
2084
+ readonly code: MediaTransferErrorCode;
2085
+ constructor(code: MediaTransferErrorCode, message?: string, options?: {
2086
+ cause?: unknown;
2087
+ });
2088
+ }
2089
+ /** 判定并提取 MediaTransferError 的错误码;非该错误返回 undefined(调用方走通用失败处理)。 */
2090
+ declare function mediaTransferErrorCodeOf(error: unknown): MediaTransferErrorCode | undefined;
2091
+
2002
2092
  /**
2003
2093
  * 语音能力错误码(稳定业务码,UI 文案据此映射):
2004
2094
  * - `insecure-context`:非安全上下文(getUserMedia/AudioWorklet 仅 HTTPS/localhost 可用)。
@@ -2012,8 +2102,9 @@ interface MediaTransferAdapterConfig {
2012
2102
  * - `encode-failed`:录音成品 → Speex/Ogg 编码失败。
2013
2103
  * - `decode-failed`:Speex/Ogg → PCM 解码失败(下载损坏 / teaKey 不对 / 非 Speex 文件)。
2014
2104
  * - `empty-recording`:录音成品为空(授权慢返回 / 极短按压)。
2105
+ * - `invalid-playback-rate`:播放速率不是有限数字(NaN/Infinity/非 number)——调用方 bug,不静默回落默认速率。
2015
2106
  */
2016
- type VoiceErrorCode = 'insecure-context' | 'no-media-devices' | 'no-media-recorder' | 'permission-denied' | 'device-not-found' | 'device-busy' | 'audio-context-blocked' | 'codec-unavailable' | 'encode-failed' | 'decode-failed' | 'empty-recording';
2107
+ type VoiceErrorCode = 'insecure-context' | 'no-media-devices' | 'no-media-recorder' | 'permission-denied' | 'device-not-found' | 'device-busy' | 'audio-context-blocked' | 'codec-unavailable' | 'encode-failed' | 'decode-failed' | 'empty-recording' | 'invalid-playback-rate';
2017
2108
  /** 判定并提取 VoiceError 的错误码;非 VoiceError 返回 undefined(调用方走通用错误提示)。 */
2018
2109
  declare function voiceErrorCodeOf(error: unknown): VoiceErrorCode | undefined;
2019
2110
 
@@ -2049,10 +2140,17 @@ interface VoicePlayerState {
2049
2140
  currentTimeMs: number;
2050
2141
  /** 播放失败的曲目 id 集合(错误态;再次 toggle 重试并清除)。 */
2051
2142
  errorIds: ReadonlySet<string>;
2143
+ /** 当前播放速率(0.5-2.0):播放器级配置,切曲、stop、dispose 都保持,不随单条曲目变化。 */
2144
+ playbackRate: number;
2052
2145
  }
2053
2146
  interface VoicePlayerOptions {
2054
2147
  /** 解码结果 WAV objectURL LRU 上限(缺省 8;60s 16k mono WAV ≈ 2MB/条)。 */
2055
2148
  cacheMax?: number;
2149
+ /**
2150
+ * 初始播放速率(缺省 1):宿主用它把自己保存的全局默认语速带进新播放器(如账号切换后重建实例)。
2151
+ * 有限值夹取到 0.5-2.0;非有限值抛 `VoiceError('invalid-playback-rate')`。
2152
+ */
2153
+ playbackRate?: number;
2056
2154
  }
2057
2155
  interface VoiceToggleOptions {
2058
2156
  /** 曲目字节加载器(宿主闭包:本地缓存命中或下载+TEA 解密);返回 null = 加载失败(曲目置错误态,由宿主自行提示)。 */
@@ -2077,6 +2175,12 @@ interface VoicePlayer {
2077
2175
  beginScrub: (id: string) => void;
2078
2176
  /** 结束拖动定位:拖动前在播则从新位置继续。 */
2079
2177
  endScrub: (id: string) => void;
2178
+ /**
2179
+ * 设置播放速率:立即作用于正在播放的曲目,并作为之后所有曲目的速率(播放器级配置)。
2180
+ * 有限值夹取到 0.5-2.0 后写入状态快照;非有限值(NaN/Infinity/非 number)抛
2181
+ * `VoiceError('invalid-playback-rate')`,不静默回落默认速率。
2182
+ */
2183
+ setPlaybackRate: (rate: number) => void;
2080
2184
  /** 停止播放、清 Audio src 并复位;decoded LRU 仍保留供重播。宿主在切会话/撤回/页面隐藏等位置调用。幂等。 */
2081
2185
  stop: () => void;
2082
2186
  /** 释放全部资源(Audio src、缓存 object URL 与订阅)。HMR/宿主销毁时调用;重复调用无副作用。 */
@@ -4790,12 +4894,20 @@ declare const IM_EMOJI_CATALOG: readonly ImEmojiCatalogEntry[];
4790
4894
  declare function resolveImEmojiToken(token: string): ImEmojiCatalogEntry | undefined;
4791
4895
 
4792
4896
  /**
4793
- * 媒体对象存储(S3)配置:由宿主注入的**部署基建配置**,SDK 不硬编码 bucket/身份池/host(配置归属宿主层,经 ImClientOptions.media 注入)。
4794
- * 形状 = im-browser `MediaTransferAdapterConfig`:`identityPoolId` + 独立 `avatar` app-header 位置 + 各 `MediaKind`(image/video/voice/file/sticker)的 `{ bucket, host }` + 可选 `useAccelerateEndpoint`、`maxConcurrentUploads`。
4795
- * 业务契约对齐 Android AWSUploadManager / CommonConstants.AWS(Cognito 匿名身份池直传、对象 public-read、Transfer Acceleration;见 研究Android图片消息实现.md §A.2)。
4796
- * ⚠ 各 bucket 需在对象存储侧配置 CORS 允许本站 origin(含分片上传 POST/DELETE + ExposeHeaders ETag);`identityPoolId` 前端可见(对齐 Android 现状)。
4797
- * 并发字段只由 SDK core 的媒体编排消费;adapter 会忽略该字段。高内存设备可设置 5-6,低内存设备建议 2-3。
4798
- * ⚠ 后续如需更安全(presigned URL)改 im-browser 的 `MediaTransferPort` 实现即可,本配置与调用方不变。
4897
+ * 媒体对象存储(S3)配置:由宿主注入的**部署基建配置**,SDK 不硬编码逻辑桶名,也不硬编码取凭证的接口路径。
4898
+ *
4899
+ * 形状 = im-browser `MediaTransferAdapterConfig`:必填 `getUploadCredentials`(按逻辑桶名向宿主自己的 BFF 申请
4900
+ * STS 临时凭证)+ 各 `MediaKind`(image/video/voice/file/sticker)的**逻辑桶名** + 可选 `channelBuckets`(社群会话
4901
+ * 按类型覆盖)、`avatarBucket`、`useAccelerateEndpoint`、`multipartUpload`、`maxConcurrentUploads`。
4902
+ *
4903
+ * 上传凭证由业务后端按登录态签发(与 iOS、prod H5 同一个接口),回包同时给出**物理桶**、区域、`key_prefix` 和
4904
+ * 公开访问域名;SDK 据此拼 object key 与消息体 URL,宿主 env 里配的只是申请凭证用的逻辑桶名。凭证缓存(本地
4905
+ * 1 小时、按服务端过期时间提前 5 分钟失效)、同桶单飞与失败重签由 SDK 负责,宿主只需提供「打一次接口」的纯函数。
4906
+ *
4907
+ * ⚠ 各 bucket 需在对象存储侧配置 CORS 允许本站 origin 的 PUT + GET;超过 16MiB 的上传走 S3 分片,另需放行
4908
+ * POST(Create/CompleteMultipartUpload)、DELETE(AbortMultipartUpload)并 ExposeHeaders: ETag。CORS 未配齐时
4909
+ * 可用 `multipartUpload: false` 退回全量单次 PutObject。
4910
+ * ⚠ 并发字段只由 SDK core 的媒体编排消费;adapter 会忽略该字段。高内存设备可设置 5-6,低内存设备建议 2-3。
4799
4911
  */
4800
4912
  type ImMediaConfig = MediaTransferAdapterConfig;
4801
4913
  /**
@@ -5316,5 +5428,5 @@ interface ImDiagnosticMemoryBuffer extends ImDiagnosticSink {
5316
5428
  */
5317
5429
  declare function createImDiagnosticMemoryBuffer(options?: ImDiagnosticMemoryBufferOptions): ImDiagnosticMemoryBuffer;
5318
5430
 
5319
- export { EDIT_WINDOW_MS, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, REACTION_SUPPORTED_CONTENT_TYPES, buildSessionFavoritePlainBody, canReactToMessage, canTransmit, canTransmitByType, canTransmitContent, classifyStickerImageType, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImTextSearchMatcher, createSdkDiagnosticWriter, createVoicePlayer, createVoiceRecordingSession, detectVoiceCapabilities, extractSearchText, getImTextSearchInitial, migrateImCachePrefix, requiresForwardTypeConfirmation, resolveChannelAccess, resolveImEmojiToken, resolveSessionFavoriteKindFromMessage, resolveTextSegments, sortSessions, sumSessionsUnread, voiceErrorCodeOf };
5320
- export type { CapabilityAvailability, CapabilityDecision, CapabilityReason, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationMessageApi, ConversationOpenOptions, ConversationRef, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, ExpressionMessageOptions, FileMessageOptions, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImChannelConversationAccessSnapshot, ImChannelMentionApi, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, 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, 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, ImFileBody, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImImageBody, ImLifecycleSnapshot, ImLocalDataApi, ImLocalDataInfo, ImLogoutOptions, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImSessionApi, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImageMessageOptions, ImagePreviewMetadata, LocalConversationHistoryClearResult, LocalMessageDeletionResult, MentionCandidate, MentionCandidatePage, MentionInput, MessageContentType, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchResult, ResolveTextOptions, ResolvedConversationBackground, SegmentMatch, SegmentMatcher, SendMessageResult, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
5431
+ export { EDIT_WINDOW_MS, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, MediaTransferError, REACTION_SUPPORTED_CONTENT_TYPES, buildSessionFavoritePlainBody, canReactToMessage, canTransmit, canTransmitByType, canTransmitContent, classifyStickerImageType, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImTextSearchMatcher, createSdkDiagnosticWriter, createVoicePlayer, createVoiceRecordingSession, detectVoiceCapabilities, extractSearchText, getImTextSearchInitial, mediaTransferErrorCodeOf, migrateImCachePrefix, normalizeMediaUploadCredentials, requiresForwardTypeConfirmation, resolveChannelAccess, resolveImEmojiToken, resolveSessionFavoriteKindFromMessage, resolveTextSegments, sortSessions, sumSessionsUnread, voiceErrorCodeOf };
5432
+ export type { CapabilityAvailability, CapabilityDecision, CapabilityReason, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationMessageApi, ConversationOpenOptions, ConversationRef, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, ExpressionMessageOptions, FileMessageOptions, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImChannelConversationAccessSnapshot, ImChannelMentionApi, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, 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, 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, ImFileBody, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImImageBody, ImLifecycleSnapshot, ImLocalDataApi, ImLocalDataInfo, ImLogoutOptions, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImSessionApi, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImageMessageOptions, ImagePreviewMetadata, LocalConversationHistoryClearResult, LocalMessageDeletionResult, MediaTransferErrorCode, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MentionCandidate, MentionCandidatePage, MentionInput, MessageContentType, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchResult, ResolveTextOptions, ResolvedConversationBackground, SegmentMatch, SegmentMatcher, SendMessageResult, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
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-FA3RKHIR.js';export{Ya as createVoicePlayer,Za as createVoiceRecordingSession,Wa as detectVoiceCapabilities,Xa as voiceErrorCodeOf}from'./chunk-K6P5ZYHG.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-KTWXKQ4J.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.17",
4
+ "version": "0.1.19",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "publishConfig": {
@@ -60,8 +60,6 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@aws-sdk/client-s3": "^3.1079.0",
63
- "@aws-sdk/credential-provider-cognito-identity": "^3.972.52",
64
- "@aws-sdk/lib-storage": "^3.1079.0",
65
63
  "@aws-sdk/xhr-http-handler": "^3.1079.0",
66
64
  "@bufbuild/protobuf": "^2.12.1",
67
65
  "axios": "^1.16.1",