@antzsoft/chat-core 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedCompressionConfig, L as LoginCredentials, A as AuthResponse, a as RegisterData, b as AuthTokens, U as User, C as CrossConversationSyncResponse, c as ConversationSyncResponse, d as AppConfig, S as SendMessagePayload, M as Message, e as CursorPaginatedResponse, f as MessageReactionsResponse, P as PaginatedResponse, g as MessageReceiptsResponse, h as ConversationListParams, i as Conversation, j as Participant, k as ConversationUnreadCount, l as UnreadSummary, m as UserPreferences, n as ResolvedConfig, o as PersistStorage, p as PresignedUrlRequest, q as PresignedUrlResponse, F as FileResponse, r as CompletedPart, s as FileType, t as AntzChatConfig, u as UploadableFile, B as BatchUploadResult } from './storage-BqygfDAK.cjs';
2
- export { v as Attachment, w as CompressedFile, x as CompressionAlgorithm, y as CompressionConfig, z as ConversationType, D as ConversationUpdatedEvent, E as FileSizeLimits, G as LastReaction, H as MENTION_ALL_ID, I as MessageAckEvent, J as MessageContent, K as MessageDeletedEvent, N as MessageDeletedForMeEvent, O as MessageDeliveredEvent, Q as MessageForwardReference, T as MessageMetadata, V as MessageReaction, W as MessageReceiptEntry, X as MessageReplyReference, Y as MessageStarUpdatedEvent, Z as MessageUpdatedEvent, _ as MessagesDeliveredEvent, $ as MultipartPartUrl, a0 as MultipartUploadInfo, a1 as NewMessageEvent, a2 as OptimisticAttachment, a3 as PlatformCompressFn, a4 as PlatformUploadFn, a5 as PlatformUploadPartFn, a6 as QuietHours, a7 as ReactionGroup, a8 as ReactionUpdatedEvent, a9 as ReactionUser, aa as ReadReceiptEvent, ab as ReplyAttachmentSnapshot, ac as ResolvedFileSizeLimits, ad as SendMessageAttachment, ae as SyncDeletedForMe, af as SyncDeliveredReceipt, ag as SyncParticipantChange, ah as SyncReactionEntry, ai as SyncReactions, aj as SyncReadReceipt, ak as SyncStarEntry, al as SystemMessageMetadata, am as TypingIndicatorEvent, an as UploadConfig, ao as UploadProgress, ap as UserStatusEvent, aq as resolveConfig, ar as storageApi, as as uploadBatch } from './storage-BqygfDAK.cjs';
1
+ import { R as ResolvedCompressionConfig, L as LoginCredentials, A as AuthResponse, a as RegisterData, b as AuthTokens, U as User, C as CrossConversationSyncResponse, c as ConversationSyncResponse, d as AppConfig, S as SendMessagePayload, M as Message, e as CursorPaginatedResponse, f as MessageReactionsResponse, P as PaginatedResponse, g as MessageReceiptsResponse, h as ConversationListParams, i as Conversation, j as Participant, k as ConversationUnreadCount, l as UnreadSummary, m as UserPreferences, n as ResolvedConfig, F as ForwardMessagePayload, o as ForwardAckPayload, p as PersistStorage, q as PresignedUrlRequest, r as PresignedUrlResponse, s as FileResponse, t as CompletedPart, u as FileType, v as AntzChatConfig, w as UploadableFile, B as BatchUploadResult } from './storage-C8V7aVum.cjs';
2
+ export { x as Attachment, y as CompressedFile, z as CompressionAlgorithm, D as CompressionConfig, E as ConversationType, G as ConversationUpdatedEvent, H as FileSizeLimits, I as ForwardResultPayload, J as LastReaction, K as MENTION_ALL_ID, N as MessageAckEvent, O as MessageContent, Q as MessageDeletedEvent, T as MessageDeletedForMeEvent, V as MessageDeliveredEvent, W as MessageForwardReference, X as MessageMetadata, Y as MessageReaction, Z as MessageReceiptEntry, _ as MessageReplyReference, $ as MessageStarUpdatedEvent, a0 as MessageUpdatedEvent, a1 as MessagesDeliveredEvent, a2 as MultipartPartUrl, a3 as MultipartUploadInfo, a4 as NewMessageEvent, a5 as OptimisticAttachment, a6 as PlatformCompressFn, a7 as PlatformUploadFn, a8 as PlatformUploadPartFn, a9 as QuietHours, aa as ReactionGroup, ab as ReactionUpdatedEvent, ac as ReactionUser, ad as ReadReceiptEvent, ae as ReplyAttachmentSnapshot, af as ResolvedFileSizeLimits, ag as SendMessageAttachment, ah as SyncDeletedForMe, ai as SyncDeliveredReceipt, aj as SyncParticipantChange, ak as SyncReactionEntry, al as SyncReactions, am as SyncReadReceipt, an as SyncStarEntry, ao as SystemMessageMetadata, ap as TypingIndicatorEvent, aq as UploadConfig, ar as UploadProgress, as as UserStatusEvent, at as resolveConfig, au as storageApi, av as uploadBatch } from './storage-C8V7aVum.cjs';
3
3
  import { AxiosInstance } from 'axios';
4
4
  import { Socket } from 'socket.io-client';
5
5
  import * as zustand_middleware from 'zustand/middleware';
@@ -73,10 +73,26 @@ interface SendData {
73
73
  text?: string;
74
74
  attachments?: SendMessagePayload['attachments'];
75
75
  replyTo?: string;
76
+ /**
77
+ * Client-generated idempotency key. Generate one per send attempt and reuse the
78
+ * SAME value if you retry this exact send (e.g. after a client-side timeout) —
79
+ * never mint a new one for a retry. The server recognizes a matching
80
+ * (conversationId, senderId, tempId) and returns the already-created message
81
+ * instead of creating a duplicate. Unlike `messagesApi.forward()`, this is NOT
82
+ * auto-generated if omitted — omitting it (or generating a fresh one on every
83
+ * retry) means no dedup protection.
84
+ */
76
85
  tempId?: string;
77
86
  }
78
87
  /** Matches the server-enforced cap in messages/dto/create-message.dto.ts (MAX_FORWARD_TARGETS). */
79
88
  declare const MAX_FORWARD_TARGETS = 5;
89
+ /**
90
+ * Matches the server's HIGHLY_FORWARDED_DEPTH_THRESHOLD in messages.service.ts — the
91
+ * same forwardDepth value that triggers the server's fan-out-to-1 cap. Also used as
92
+ * the "Forwarded many times" label threshold so the label and the cap agree on what
93
+ * "highly forwarded" means; do not use a different number for the label alone.
94
+ */
95
+ declare const HIGHLY_FORWARDED_DEPTH_THRESHOLD = 5;
80
96
  interface ForwardResult {
81
97
  conversationId: string;
82
98
  success: boolean;
@@ -86,6 +102,12 @@ interface ForwardResult {
86
102
  declare const messagesApi: {
87
103
  list(conversationId: string, params?: ListMessagesParams): Promise<CursorPaginatedResponse<Message>>;
88
104
  get(messageId: string): Promise<Message>;
105
+ /**
106
+ * Sends a message via REST. For real-time delivery use `socketEmit.sendMessage`
107
+ * instead — this is a lower-level entry point (used e.g. by the socket path's
108
+ * REST-mirror flows). Pass `payload.tempId` and reuse the SAME value on retry to
109
+ * make a retry-after-timeout safe — see `SendData.tempId`.
110
+ */
89
111
  send(conversationId: string, payload: SendData): Promise<Message>;
90
112
  update(messageId: string, text: string): Promise<Message>;
91
113
  delete(messageId: string): Promise<void>;
@@ -115,8 +137,26 @@ declare const messagesApi: {
115
137
  * per call, also enforced server-side). Each target is independent — one failing
116
138
  * (e.g. no longer a participant) does not block the others; check `success`/`error`
117
139
  * per entry in the returned array.
140
+ *
141
+ * Pass `attachmentIds` to forward only a subset of the source message's attachments
142
+ * (e.g. one image out of a multi-image message) — omit it to forward the whole
143
+ * message, including all its attachments, unchanged. An ID not present on the
144
+ * source message is ignored server-side.
145
+ *
146
+ * Idempotency: pass `tempId` — generate ONE value per forward action (e.g. via
147
+ * `generateUUID` from '@antzsoft/chat-core/internal') and reuse that SAME value if
148
+ * you retry this exact forward (e.g. after a client-side timeout). The server then
149
+ * recognizes the retry per target and returns the already-created message instead
150
+ * of creating a duplicate. Never mint a new tempId for a retry — only when the user
151
+ * initiates a genuinely new forward action. If omitted, a fresh one is generated
152
+ * per call, which means a retry without an explicit tempId gets NO dedup protection.
153
+ *
154
+ * Transport: uses the 'forward_message' socket event when a socket is connected
155
+ * (lower latency, same server-side MessagesService.forward() path, so broadcast/
156
+ * push notification behavior is identical either way) and transparently falls back
157
+ * to the REST endpoint when no socket is available.
118
158
  */
119
- forward(messageId: string, targetConversationIds: string[]): Promise<ForwardResult[]>;
159
+ forward(messageId: string, targetConversationIds: string[], attachmentIds?: string[], tempId?: string): Promise<ForwardResult[]>;
120
160
  };
121
161
 
122
162
  declare function normalizeConversation(conv: any): Conversation;
@@ -311,6 +351,7 @@ declare const socketEmit: {
311
351
  joinRoom(conversationId: string): void;
312
352
  leaveRoom(conversationId: string): void;
313
353
  sendMessage(payload: SendMessagePayload): Promise<unknown>;
354
+ forwardMessage(payload: ForwardMessagePayload): Promise<ForwardAckPayload>;
314
355
  updateMessage(messageId: string, text: string): Promise<unknown>;
315
356
  deleteMessage(messageId: string): Promise<unknown>;
316
357
  deleteMessageForMe(messageId: string): Promise<unknown>;
@@ -676,7 +717,7 @@ declare class AntzChatClient {
676
717
  unpin(messageId: string): Promise<Message>;
677
718
  getPinned(conversationId: string): Promise<Message[]>;
678
719
  getReceipts(messageId: string): Promise<MessageReceiptsResponse>;
679
- forward(messageId: string, targetConversationIds: string[]): Promise<ForwardResult[]>;
720
+ forward(messageId: string, targetConversationIds: string[], attachmentIds?: string[], tempId?: string): Promise<ForwardResult[]>;
680
721
  };
681
722
  readonly conversations: {
682
723
  list(params?: ConversationListParams): Promise<PaginatedResponse<Conversation>>;
@@ -752,4 +793,4 @@ declare class AntzChatClient {
752
793
  uploadIcon(conversationId: string, file: UploadableFile): Promise<Conversation>;
753
794
  }
754
795
 
755
- export { AntzChatAuthError, AntzChatClient, AntzChatConfig, AntzChatError, AntzChatNetworkError, AntzChatPermissionError, AntzChatServerError, AntzChatValidationError, AppConfig, AuthResponse, AuthTokens, BatchUploadResult, CompletedPart, Conversation, ConversationListParams, ConversationSyncResponse, ConversationUnreadCount, type CreateDirectData, type CreateGroupData, CrossConversationSyncResponse, CursorPaginatedResponse, FileResponse, FileType, type ForwardResult, type LastReadEntry, type ListMessagesParams, LoginCredentials, MAX_FORWARD_TARGETS, type MentionPart, type MentionSegment, Message, MessageReactionsResponse, MessageReceiptsResponse, type MobileDeviceToken, PaginatedResponse, type ParsedMention, Participant, PersistStorage, PresignedUrlRequest, PresignedUrlResponse, RegisterData, type RegisterDeviceTokenPayload, ResolvedCompressionConfig, ResolvedConfig, type SearchParams, type SendData, SendMessagePayload, type SocketStatus, type StatusListener, type TokenStore, UnreadSummary, type UpdateConversationData, type UpdateProfilePayload, UploadableFile, User, UserPreferences, type WebPushDeviceToken, appConfigApi, authApi, buildMentionText, connectSocket, conversationsApi, createAuthStore, createRestTransitSession, decryptPayload, devicesApi, disconnectSocket, encryptPayload, extractMentionIds, fetchServerKeys, generateEphemeralKey, getApiClient, getAuthStore, getCompressionStrategy, getSessionId, getSessionKey, getSocket, getSocketStatus, initApiClient, initAuthStore, isMentionAll, isTransitEnvelope, messagesApi, normalizeAxiosError, normalizeConversation, onSocketStatus, parseMentions, performHandshake, reconnectSocket, refreshSocketAuth, renderMentionParts, resetAuthStore, resolveSystemMessageText, setApiClientInstance, setTransitSession, socketEmit, syncApi, tryGetSocket, useChatStore, usersApi };
796
+ export { AntzChatAuthError, AntzChatClient, AntzChatConfig, AntzChatError, AntzChatNetworkError, AntzChatPermissionError, AntzChatServerError, AntzChatValidationError, AppConfig, AuthResponse, AuthTokens, BatchUploadResult, CompletedPart, Conversation, ConversationListParams, ConversationSyncResponse, ConversationUnreadCount, type CreateDirectData, type CreateGroupData, CrossConversationSyncResponse, CursorPaginatedResponse, FileResponse, FileType, ForwardAckPayload, ForwardMessagePayload, type ForwardResult, HIGHLY_FORWARDED_DEPTH_THRESHOLD, type LastReadEntry, type ListMessagesParams, LoginCredentials, MAX_FORWARD_TARGETS, type MentionPart, type MentionSegment, Message, MessageReactionsResponse, MessageReceiptsResponse, type MobileDeviceToken, PaginatedResponse, type ParsedMention, Participant, PersistStorage, PresignedUrlRequest, PresignedUrlResponse, RegisterData, type RegisterDeviceTokenPayload, ResolvedCompressionConfig, ResolvedConfig, type SearchParams, type SendData, SendMessagePayload, type SocketStatus, type StatusListener, type TokenStore, UnreadSummary, type UpdateConversationData, type UpdateProfilePayload, UploadableFile, User, UserPreferences, type WebPushDeviceToken, appConfigApi, authApi, buildMentionText, connectSocket, conversationsApi, createAuthStore, createRestTransitSession, decryptPayload, devicesApi, disconnectSocket, encryptPayload, extractMentionIds, fetchServerKeys, generateEphemeralKey, getApiClient, getAuthStore, getCompressionStrategy, getSessionId, getSessionKey, getSocket, getSocketStatus, initApiClient, initAuthStore, isMentionAll, isTransitEnvelope, messagesApi, normalizeAxiosError, normalizeConversation, onSocketStatus, parseMentions, performHandshake, reconnectSocket, refreshSocketAuth, renderMentionParts, resetAuthStore, resolveSystemMessageText, setApiClientInstance, setTransitSession, socketEmit, syncApi, tryGetSocket, useChatStore, usersApi };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedCompressionConfig, L as LoginCredentials, A as AuthResponse, a as RegisterData, b as AuthTokens, U as User, C as CrossConversationSyncResponse, c as ConversationSyncResponse, d as AppConfig, S as SendMessagePayload, M as Message, e as CursorPaginatedResponse, f as MessageReactionsResponse, P as PaginatedResponse, g as MessageReceiptsResponse, h as ConversationListParams, i as Conversation, j as Participant, k as ConversationUnreadCount, l as UnreadSummary, m as UserPreferences, n as ResolvedConfig, o as PersistStorage, p as PresignedUrlRequest, q as PresignedUrlResponse, F as FileResponse, r as CompletedPart, s as FileType, t as AntzChatConfig, u as UploadableFile, B as BatchUploadResult } from './storage-BqygfDAK.js';
2
- export { v as Attachment, w as CompressedFile, x as CompressionAlgorithm, y as CompressionConfig, z as ConversationType, D as ConversationUpdatedEvent, E as FileSizeLimits, G as LastReaction, H as MENTION_ALL_ID, I as MessageAckEvent, J as MessageContent, K as MessageDeletedEvent, N as MessageDeletedForMeEvent, O as MessageDeliveredEvent, Q as MessageForwardReference, T as MessageMetadata, V as MessageReaction, W as MessageReceiptEntry, X as MessageReplyReference, Y as MessageStarUpdatedEvent, Z as MessageUpdatedEvent, _ as MessagesDeliveredEvent, $ as MultipartPartUrl, a0 as MultipartUploadInfo, a1 as NewMessageEvent, a2 as OptimisticAttachment, a3 as PlatformCompressFn, a4 as PlatformUploadFn, a5 as PlatformUploadPartFn, a6 as QuietHours, a7 as ReactionGroup, a8 as ReactionUpdatedEvent, a9 as ReactionUser, aa as ReadReceiptEvent, ab as ReplyAttachmentSnapshot, ac as ResolvedFileSizeLimits, ad as SendMessageAttachment, ae as SyncDeletedForMe, af as SyncDeliveredReceipt, ag as SyncParticipantChange, ah as SyncReactionEntry, ai as SyncReactions, aj as SyncReadReceipt, ak as SyncStarEntry, al as SystemMessageMetadata, am as TypingIndicatorEvent, an as UploadConfig, ao as UploadProgress, ap as UserStatusEvent, aq as resolveConfig, ar as storageApi, as as uploadBatch } from './storage-BqygfDAK.js';
1
+ import { R as ResolvedCompressionConfig, L as LoginCredentials, A as AuthResponse, a as RegisterData, b as AuthTokens, U as User, C as CrossConversationSyncResponse, c as ConversationSyncResponse, d as AppConfig, S as SendMessagePayload, M as Message, e as CursorPaginatedResponse, f as MessageReactionsResponse, P as PaginatedResponse, g as MessageReceiptsResponse, h as ConversationListParams, i as Conversation, j as Participant, k as ConversationUnreadCount, l as UnreadSummary, m as UserPreferences, n as ResolvedConfig, F as ForwardMessagePayload, o as ForwardAckPayload, p as PersistStorage, q as PresignedUrlRequest, r as PresignedUrlResponse, s as FileResponse, t as CompletedPart, u as FileType, v as AntzChatConfig, w as UploadableFile, B as BatchUploadResult } from './storage-C8V7aVum.js';
2
+ export { x as Attachment, y as CompressedFile, z as CompressionAlgorithm, D as CompressionConfig, E as ConversationType, G as ConversationUpdatedEvent, H as FileSizeLimits, I as ForwardResultPayload, J as LastReaction, K as MENTION_ALL_ID, N as MessageAckEvent, O as MessageContent, Q as MessageDeletedEvent, T as MessageDeletedForMeEvent, V as MessageDeliveredEvent, W as MessageForwardReference, X as MessageMetadata, Y as MessageReaction, Z as MessageReceiptEntry, _ as MessageReplyReference, $ as MessageStarUpdatedEvent, a0 as MessageUpdatedEvent, a1 as MessagesDeliveredEvent, a2 as MultipartPartUrl, a3 as MultipartUploadInfo, a4 as NewMessageEvent, a5 as OptimisticAttachment, a6 as PlatformCompressFn, a7 as PlatformUploadFn, a8 as PlatformUploadPartFn, a9 as QuietHours, aa as ReactionGroup, ab as ReactionUpdatedEvent, ac as ReactionUser, ad as ReadReceiptEvent, ae as ReplyAttachmentSnapshot, af as ResolvedFileSizeLimits, ag as SendMessageAttachment, ah as SyncDeletedForMe, ai as SyncDeliveredReceipt, aj as SyncParticipantChange, ak as SyncReactionEntry, al as SyncReactions, am as SyncReadReceipt, an as SyncStarEntry, ao as SystemMessageMetadata, ap as TypingIndicatorEvent, aq as UploadConfig, ar as UploadProgress, as as UserStatusEvent, at as resolveConfig, au as storageApi, av as uploadBatch } from './storage-C8V7aVum.js';
3
3
  import { AxiosInstance } from 'axios';
4
4
  import { Socket } from 'socket.io-client';
5
5
  import * as zustand_middleware from 'zustand/middleware';
@@ -73,10 +73,26 @@ interface SendData {
73
73
  text?: string;
74
74
  attachments?: SendMessagePayload['attachments'];
75
75
  replyTo?: string;
76
+ /**
77
+ * Client-generated idempotency key. Generate one per send attempt and reuse the
78
+ * SAME value if you retry this exact send (e.g. after a client-side timeout) —
79
+ * never mint a new one for a retry. The server recognizes a matching
80
+ * (conversationId, senderId, tempId) and returns the already-created message
81
+ * instead of creating a duplicate. Unlike `messagesApi.forward()`, this is NOT
82
+ * auto-generated if omitted — omitting it (or generating a fresh one on every
83
+ * retry) means no dedup protection.
84
+ */
76
85
  tempId?: string;
77
86
  }
78
87
  /** Matches the server-enforced cap in messages/dto/create-message.dto.ts (MAX_FORWARD_TARGETS). */
79
88
  declare const MAX_FORWARD_TARGETS = 5;
89
+ /**
90
+ * Matches the server's HIGHLY_FORWARDED_DEPTH_THRESHOLD in messages.service.ts — the
91
+ * same forwardDepth value that triggers the server's fan-out-to-1 cap. Also used as
92
+ * the "Forwarded many times" label threshold so the label and the cap agree on what
93
+ * "highly forwarded" means; do not use a different number for the label alone.
94
+ */
95
+ declare const HIGHLY_FORWARDED_DEPTH_THRESHOLD = 5;
80
96
  interface ForwardResult {
81
97
  conversationId: string;
82
98
  success: boolean;
@@ -86,6 +102,12 @@ interface ForwardResult {
86
102
  declare const messagesApi: {
87
103
  list(conversationId: string, params?: ListMessagesParams): Promise<CursorPaginatedResponse<Message>>;
88
104
  get(messageId: string): Promise<Message>;
105
+ /**
106
+ * Sends a message via REST. For real-time delivery use `socketEmit.sendMessage`
107
+ * instead — this is a lower-level entry point (used e.g. by the socket path's
108
+ * REST-mirror flows). Pass `payload.tempId` and reuse the SAME value on retry to
109
+ * make a retry-after-timeout safe — see `SendData.tempId`.
110
+ */
89
111
  send(conversationId: string, payload: SendData): Promise<Message>;
90
112
  update(messageId: string, text: string): Promise<Message>;
91
113
  delete(messageId: string): Promise<void>;
@@ -115,8 +137,26 @@ declare const messagesApi: {
115
137
  * per call, also enforced server-side). Each target is independent — one failing
116
138
  * (e.g. no longer a participant) does not block the others; check `success`/`error`
117
139
  * per entry in the returned array.
140
+ *
141
+ * Pass `attachmentIds` to forward only a subset of the source message's attachments
142
+ * (e.g. one image out of a multi-image message) — omit it to forward the whole
143
+ * message, including all its attachments, unchanged. An ID not present on the
144
+ * source message is ignored server-side.
145
+ *
146
+ * Idempotency: pass `tempId` — generate ONE value per forward action (e.g. via
147
+ * `generateUUID` from '@antzsoft/chat-core/internal') and reuse that SAME value if
148
+ * you retry this exact forward (e.g. after a client-side timeout). The server then
149
+ * recognizes the retry per target and returns the already-created message instead
150
+ * of creating a duplicate. Never mint a new tempId for a retry — only when the user
151
+ * initiates a genuinely new forward action. If omitted, a fresh one is generated
152
+ * per call, which means a retry without an explicit tempId gets NO dedup protection.
153
+ *
154
+ * Transport: uses the 'forward_message' socket event when a socket is connected
155
+ * (lower latency, same server-side MessagesService.forward() path, so broadcast/
156
+ * push notification behavior is identical either way) and transparently falls back
157
+ * to the REST endpoint when no socket is available.
118
158
  */
119
- forward(messageId: string, targetConversationIds: string[]): Promise<ForwardResult[]>;
159
+ forward(messageId: string, targetConversationIds: string[], attachmentIds?: string[], tempId?: string): Promise<ForwardResult[]>;
120
160
  };
121
161
 
122
162
  declare function normalizeConversation(conv: any): Conversation;
@@ -311,6 +351,7 @@ declare const socketEmit: {
311
351
  joinRoom(conversationId: string): void;
312
352
  leaveRoom(conversationId: string): void;
313
353
  sendMessage(payload: SendMessagePayload): Promise<unknown>;
354
+ forwardMessage(payload: ForwardMessagePayload): Promise<ForwardAckPayload>;
314
355
  updateMessage(messageId: string, text: string): Promise<unknown>;
315
356
  deleteMessage(messageId: string): Promise<unknown>;
316
357
  deleteMessageForMe(messageId: string): Promise<unknown>;
@@ -676,7 +717,7 @@ declare class AntzChatClient {
676
717
  unpin(messageId: string): Promise<Message>;
677
718
  getPinned(conversationId: string): Promise<Message[]>;
678
719
  getReceipts(messageId: string): Promise<MessageReceiptsResponse>;
679
- forward(messageId: string, targetConversationIds: string[]): Promise<ForwardResult[]>;
720
+ forward(messageId: string, targetConversationIds: string[], attachmentIds?: string[], tempId?: string): Promise<ForwardResult[]>;
680
721
  };
681
722
  readonly conversations: {
682
723
  list(params?: ConversationListParams): Promise<PaginatedResponse<Conversation>>;
@@ -752,4 +793,4 @@ declare class AntzChatClient {
752
793
  uploadIcon(conversationId: string, file: UploadableFile): Promise<Conversation>;
753
794
  }
754
795
 
755
- export { AntzChatAuthError, AntzChatClient, AntzChatConfig, AntzChatError, AntzChatNetworkError, AntzChatPermissionError, AntzChatServerError, AntzChatValidationError, AppConfig, AuthResponse, AuthTokens, BatchUploadResult, CompletedPart, Conversation, ConversationListParams, ConversationSyncResponse, ConversationUnreadCount, type CreateDirectData, type CreateGroupData, CrossConversationSyncResponse, CursorPaginatedResponse, FileResponse, FileType, type ForwardResult, type LastReadEntry, type ListMessagesParams, LoginCredentials, MAX_FORWARD_TARGETS, type MentionPart, type MentionSegment, Message, MessageReactionsResponse, MessageReceiptsResponse, type MobileDeviceToken, PaginatedResponse, type ParsedMention, Participant, PersistStorage, PresignedUrlRequest, PresignedUrlResponse, RegisterData, type RegisterDeviceTokenPayload, ResolvedCompressionConfig, ResolvedConfig, type SearchParams, type SendData, SendMessagePayload, type SocketStatus, type StatusListener, type TokenStore, UnreadSummary, type UpdateConversationData, type UpdateProfilePayload, UploadableFile, User, UserPreferences, type WebPushDeviceToken, appConfigApi, authApi, buildMentionText, connectSocket, conversationsApi, createAuthStore, createRestTransitSession, decryptPayload, devicesApi, disconnectSocket, encryptPayload, extractMentionIds, fetchServerKeys, generateEphemeralKey, getApiClient, getAuthStore, getCompressionStrategy, getSessionId, getSessionKey, getSocket, getSocketStatus, initApiClient, initAuthStore, isMentionAll, isTransitEnvelope, messagesApi, normalizeAxiosError, normalizeConversation, onSocketStatus, parseMentions, performHandshake, reconnectSocket, refreshSocketAuth, renderMentionParts, resetAuthStore, resolveSystemMessageText, setApiClientInstance, setTransitSession, socketEmit, syncApi, tryGetSocket, useChatStore, usersApi };
796
+ export { AntzChatAuthError, AntzChatClient, AntzChatConfig, AntzChatError, AntzChatNetworkError, AntzChatPermissionError, AntzChatServerError, AntzChatValidationError, AppConfig, AuthResponse, AuthTokens, BatchUploadResult, CompletedPart, Conversation, ConversationListParams, ConversationSyncResponse, ConversationUnreadCount, type CreateDirectData, type CreateGroupData, CrossConversationSyncResponse, CursorPaginatedResponse, FileResponse, FileType, ForwardAckPayload, ForwardMessagePayload, type ForwardResult, HIGHLY_FORWARDED_DEPTH_THRESHOLD, type LastReadEntry, type ListMessagesParams, LoginCredentials, MAX_FORWARD_TARGETS, type MentionPart, type MentionSegment, Message, MessageReactionsResponse, MessageReceiptsResponse, type MobileDeviceToken, PaginatedResponse, type ParsedMention, Participant, PersistStorage, PresignedUrlRequest, PresignedUrlResponse, RegisterData, type RegisterDeviceTokenPayload, ResolvedCompressionConfig, ResolvedConfig, type SearchParams, type SendData, SendMessagePayload, type SocketStatus, type StatusListener, type TokenStore, UnreadSummary, type UpdateConversationData, type UpdateProfilePayload, UploadableFile, User, UserPreferences, type WebPushDeviceToken, appConfigApi, authApi, buildMentionText, connectSocket, conversationsApi, createAuthStore, createRestTransitSession, decryptPayload, devicesApi, disconnectSocket, encryptPayload, extractMentionIds, fetchServerKeys, generateEphemeralKey, getApiClient, getAuthStore, getCompressionStrategy, getSessionId, getSessionKey, getSocket, getSocketStatus, initApiClient, initAuthStore, isMentionAll, isTransitEnvelope, messagesApi, normalizeAxiosError, normalizeConversation, onSocketStatus, parseMentions, performHandshake, reconnectSocket, refreshSocketAuth, renderMentionParts, resetAuthStore, resolveSystemMessageText, setApiClientInstance, setTransitSession, socketEmit, syncApi, tryGetSocket, useChatStore, usersApi };