stream-chat 9.50.3 → 10.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/dist/cjs/index.browser.js +19798 -14472
  2. package/dist/cjs/index.browser.js.map +4 -4
  3. package/dist/cjs/index.node.js +19817 -14482
  4. package/dist/cjs/index.node.js.map +4 -4
  5. package/dist/esm/index.mjs +19795 -14469
  6. package/dist/esm/index.mjs.map +4 -4
  7. package/dist/types/ChannelManager.d.ts +221 -0
  8. package/dist/types/EventHandlerPipeline.d.ts +104 -0
  9. package/dist/types/api-client.d.ts +26 -0
  10. package/dist/types/campaign.d.ts +0 -44
  11. package/dist/types/channel.d.ts +454 -479
  12. package/dist/types/channel_batch_updater.d.ts +0 -93
  13. package/dist/types/channel_state.d.ts +53 -201
  14. package/dist/types/client.d.ts +451 -1920
  15. package/dist/types/client_state.d.ts +4 -4
  16. package/dist/types/configuration/InstanceConfigurationService.d.ts +26 -0
  17. package/dist/types/configuration/index.d.ts +1 -0
  18. package/dist/types/configuration/types.d.ts +53 -0
  19. package/dist/types/connection.d.ts +49 -41
  20. package/dist/types/connection_fallback.d.ts +6 -4
  21. package/dist/types/constants.d.ts +0 -4
  22. package/dist/types/custom_types.d.ts +2 -0
  23. package/dist/types/entityStore/EntityStore.d.ts +111 -0
  24. package/dist/types/entityStore/StoreBackedItemIndex.d.ts +60 -0
  25. package/dist/types/entityStore/applyReactionLocally.d.ts +26 -0
  26. package/dist/types/entityStore/index.d.ts +2 -0
  27. package/dist/types/errors.d.ts +10 -2
  28. package/dist/types/gen/chat/ChannelApi.d.ts +45 -0
  29. package/dist/types/gen/chat/ChatApi.d.ts +334 -0
  30. package/dist/types/gen/model-decoders/decoders.d.ts +3 -0
  31. package/dist/types/gen/model-decoders/event-decoder-mapping.d.ts +6 -0
  32. package/dist/types/gen/models/index.d.ts +8836 -0
  33. package/dist/types/gen/moderation/ModerationApi.d.ts +50 -0
  34. package/dist/types/gen-imports.d.ts +3 -0
  35. package/dist/types/index.d.ts +8 -7
  36. package/dist/types/insights.d.ts +9 -8
  37. package/dist/types/logger.d.ts +9 -0
  38. package/dist/types/messageComposer/LocationComposer.d.ts +7 -4
  39. package/dist/types/messageComposer/attachmentIdentity.d.ts +2 -2
  40. package/dist/types/messageComposer/attachmentManager.d.ts +8 -4
  41. package/dist/types/messageComposer/configuration/types.d.ts +11 -11
  42. package/dist/types/messageComposer/linkPreviewsManager.d.ts +25 -13
  43. package/dist/types/messageComposer/messageComposer.d.ts +10 -10
  44. package/dist/types/messageComposer/middleware/messageComposer/types.d.ts +3 -3
  45. package/dist/types/messageComposer/middleware/pollComposer/types.d.ts +4 -7
  46. package/dist/types/messageComposer/middleware/textComposer/commandUtils.d.ts +3 -3
  47. package/dist/types/messageComposer/middleware/textComposer/commands.d.ts +7 -7
  48. package/dist/types/messageComposer/middleware/textComposer/mentions.d.ts +218 -4
  49. package/dist/types/messageComposer/middleware/textComposer/types.d.ts +9 -4
  50. package/dist/types/messageComposer/pollComposer.d.ts +5 -4
  51. package/dist/types/messageComposer/textComposer.d.ts +8 -3
  52. package/dist/types/messageComposer/types.d.ts +6 -28
  53. package/dist/types/messageDelivery/MessageDeliveryReporter.d.ts +40 -25
  54. package/dist/types/messageDelivery/MessageReceiptsTracker.d.ts +53 -12
  55. package/dist/types/messageOperations/MessageOperationStatePolicy.d.ts +19 -0
  56. package/dist/types/messageOperations/MessageOperations.d.ts +17 -0
  57. package/dist/types/messageOperations/index.d.ts +3 -0
  58. package/dist/types/messageOperations/types.d.ts +49 -0
  59. package/dist/types/moderation.d.ts +21 -203
  60. package/dist/types/notifications/types.d.ts +8 -7
  61. package/dist/types/offline-support/offline_support_api.d.ts +111 -87
  62. package/dist/types/offline-support/offline_sync_manager.d.ts +0 -7
  63. package/dist/types/offline-support/types.d.ts +19 -23
  64. package/dist/types/offline-support/util.d.ts +4 -2
  65. package/dist/types/pagination/FilterBuilder.d.ts +1 -1
  66. package/dist/types/pagination/ItemIndex.d.ts +25 -0
  67. package/dist/types/pagination/cursorDerivation/createdAtAroundPaginationFlags.d.ts +9 -0
  68. package/dist/types/pagination/cursorDerivation/idAroundPaginationFlags.d.ts +6 -0
  69. package/dist/types/pagination/cursorDerivation/index.d.ts +1 -0
  70. package/dist/types/pagination/cursorDerivation/linearPaginationFlags.d.ts +6 -0
  71. package/dist/types/pagination/filterCompiler.d.ts +7 -0
  72. package/dist/types/pagination/index.d.ts +1 -3
  73. package/dist/types/pagination/paginators/BasePaginator.d.ts +848 -0
  74. package/dist/types/pagination/paginators/ChannelPaginator.d.ts +212 -0
  75. package/dist/types/pagination/paginators/MessageIntervalPaginator.d.ts +282 -0
  76. package/dist/types/pagination/paginators/MessagePaginator.d.ts +208 -0
  77. package/dist/types/pagination/paginators/PinnedMessagePaginator.d.ts +39 -0
  78. package/dist/types/pagination/paginators/ReminderPaginator.d.ts +19 -0
  79. package/dist/types/pagination/paginators/UserGroupPaginator.d.ts +24 -0
  80. package/dist/types/pagination/paginators/index.d.ts +7 -0
  81. package/dist/types/pagination/paginators/stateThrottling.d.ts +2 -0
  82. package/dist/types/pagination/sortCompiler.d.ts +49 -0
  83. package/dist/types/pagination/types.normalization.d.ts +11 -0
  84. package/dist/types/pagination/utility.normalization.d.ts +18 -0
  85. package/dist/types/pagination/utility.queryChannel.d.ts +26 -0
  86. package/dist/types/pagination/utility.search.d.ts +13 -0
  87. package/dist/types/permissions.d.ts +1 -1
  88. package/dist/types/poll.d.ts +29 -32
  89. package/dist/types/poll_manager.d.ts +2 -2
  90. package/dist/types/reminders/Reminder.d.ts +2 -5
  91. package/dist/types/reminders/ReminderManager.d.ts +2 -9
  92. package/dist/types/search/MessageSearchSource.d.ts +4 -4
  93. package/dist/types/search/UserSearchSource.d.ts +1 -1
  94. package/dist/types/search/types.d.ts +3 -3
  95. package/dist/types/segment.d.ts +0 -34
  96. package/dist/types/signing.d.ts +105 -65
  97. package/dist/types/store.d.ts +1 -0
  98. package/dist/types/thread.d.ts +70 -34
  99. package/dist/types/thread_manager.d.ts +3 -3
  100. package/dist/types/token_manager.d.ts +15 -10
  101. package/dist/types/types.d.ts +197 -3404
  102. package/dist/types/utils/FixedSizeQueueCache.d.ts +12 -6
  103. package/dist/types/utils/WithSubscriptions.d.ts +2 -1
  104. package/dist/types/utils/concurrency.d.ts +4 -4
  105. package/dist/types/utils/mergeWith/mergeWith.d.ts +3 -3
  106. package/dist/types/utils/mergeWith/mergeWithCore.d.ts +8 -3
  107. package/dist/types/utils/retryable.d.ts +34 -0
  108. package/dist/types/utils/throttling/throttle.d.ts +36 -0
  109. package/dist/types/utils.d.ts +100 -194
  110. package/package.json +7 -3
  111. package/src/ChannelManager.ts +724 -0
  112. package/src/CooldownTimer.ts +2 -2
  113. package/src/EventHandlerPipeline.ts +228 -0
  114. package/src/LiveLocationManager.ts +12 -11
  115. package/src/api-client.ts +275 -0
  116. package/src/campaign.ts +1 -77
  117. package/src/channel.ts +1344 -1282
  118. package/src/channel_batch_updater.ts +1 -211
  119. package/src/channel_state.ts +144 -1013
  120. package/src/client.ts +936 -3995
  121. package/src/client_state.ts +4 -4
  122. package/src/configuration/InstanceConfigurationService.ts +73 -0
  123. package/src/configuration/index.ts +1 -0
  124. package/src/configuration/types.ts +81 -0
  125. package/src/connection.ts +145 -94
  126. package/src/connection_fallback.ts +29 -27
  127. package/src/constants.ts +1 -5
  128. package/src/custom_types.ts +4 -1
  129. package/src/entityStore/EntityStore.ts +208 -0
  130. package/src/entityStore/StoreBackedItemIndex.ts +115 -0
  131. package/src/entityStore/applyReactionLocally.ts +113 -0
  132. package/src/entityStore/index.ts +2 -0
  133. package/src/errors.ts +14 -2
  134. package/src/gen/chat/ChannelApi.ts +275 -0
  135. package/src/gen/chat/ChatApi.ts +2554 -0
  136. package/src/gen/model-decoders/decoders.ts +2680 -0
  137. package/src/gen/model-decoders/event-decoder-mapping.ts +198 -0
  138. package/src/gen/models/index.ts +12673 -0
  139. package/src/gen/moderation/ModerationApi.ts +607 -0
  140. package/src/gen-imports.ts +3 -0
  141. package/src/index.ts +11 -12
  142. package/src/insights.ts +6 -5
  143. package/src/logger.ts +28 -0
  144. package/src/messageComposer/LocationComposer.ts +9 -5
  145. package/src/messageComposer/MessageComposerEffectHandlers.ts +1 -0
  146. package/src/messageComposer/attachmentIdentity.ts +16 -9
  147. package/src/messageComposer/attachmentManager.ts +13 -8
  148. package/src/messageComposer/configuration/types.ts +11 -11
  149. package/src/messageComposer/linkPreviewsManager.ts +9 -10
  150. package/src/messageComposer/messageComposer.ts +57 -53
  151. package/src/messageComposer/middleware/messageComposer/attachments.ts +1 -2
  152. package/src/messageComposer/middleware/messageComposer/cleanData.ts +1 -1
  153. package/src/messageComposer/middleware/messageComposer/compositionValidation.ts +2 -2
  154. package/src/messageComposer/middleware/messageComposer/messageComposerState.ts +2 -2
  155. package/src/messageComposer/middleware/messageComposer/sharedLocation.ts +4 -3
  156. package/src/messageComposer/middleware/messageComposer/textComposer.ts +2 -2
  157. package/src/messageComposer/middleware/messageComposer/types.ts +3 -4
  158. package/src/messageComposer/middleware/messageComposer/userDataInjection.ts +9 -5
  159. package/src/messageComposer/middleware/pollComposer/state.ts +0 -2
  160. package/src/messageComposer/middleware/pollComposer/types.ts +4 -7
  161. package/src/messageComposer/middleware/textComposer/TextComposerMiddlewareExecutor.ts +10 -1
  162. package/src/messageComposer/middleware/textComposer/commandEffects.ts +4 -4
  163. package/src/messageComposer/middleware/textComposer/commandUtils.ts +3 -6
  164. package/src/messageComposer/middleware/textComposer/commands.ts +3 -3
  165. package/src/messageComposer/middleware/textComposer/mentionUtils.ts +1 -1
  166. package/src/messageComposer/middleware/textComposer/mentions.ts +31 -15
  167. package/src/messageComposer/middleware/textComposer/types.ts +9 -4
  168. package/src/messageComposer/pollComposer.ts +6 -8
  169. package/src/messageComposer/textComposer.ts +27 -2
  170. package/src/messageComposer/types.ts +6 -28
  171. package/src/messageDelivery/MessageDeliveryReporter.ts +101 -45
  172. package/src/messageDelivery/MessageReceiptsTracker.ts +294 -21
  173. package/src/messageOperations/MessageOperationStatePolicy.ts +77 -0
  174. package/src/messageOperations/MessageOperations.ts +212 -0
  175. package/src/messageOperations/index.ts +10 -0
  176. package/src/messageOperations/types.ts +64 -0
  177. package/src/moderation.ts +38 -431
  178. package/src/notifications/types.ts +8 -7
  179. package/src/offline-support/offline_support_api.ts +200 -133
  180. package/src/offline-support/offline_sync_manager.ts +23 -44
  181. package/src/offline-support/types.ts +23 -26
  182. package/src/offline-support/util.ts +5 -4
  183. package/src/pagination/FilterBuilder.ts +4 -1
  184. package/src/pagination/ItemIndex.ts +25 -0
  185. package/src/pagination/cursorDerivation/createdAtAroundPaginationFlags.ts +73 -0
  186. package/src/pagination/cursorDerivation/idAroundPaginationFlags.ts +53 -0
  187. package/src/pagination/cursorDerivation/index.ts +1 -0
  188. package/src/pagination/cursorDerivation/linearPaginationFlags.ts +86 -0
  189. package/src/pagination/filterCompiler.ts +196 -0
  190. package/src/pagination/index.ts +1 -3
  191. package/src/pagination/paginators/BasePaginator.ts +2859 -0
  192. package/src/pagination/paginators/ChannelPaginator.ts +729 -0
  193. package/src/pagination/paginators/MessageIntervalPaginator.ts +1116 -0
  194. package/src/pagination/paginators/MessagePaginator.ts +508 -0
  195. package/src/pagination/paginators/PinnedMessagePaginator.ts +108 -0
  196. package/src/pagination/paginators/ReminderPaginator.ts +107 -0
  197. package/src/pagination/paginators/UserGroupPaginator.ts +127 -0
  198. package/src/pagination/paginators/index.ts +7 -0
  199. package/src/pagination/paginators/stateThrottling.ts +31 -0
  200. package/src/pagination/sortCompiler.ts +193 -0
  201. package/src/pagination/types.normalization.ts +14 -0
  202. package/src/pagination/utility.normalization.ts +106 -0
  203. package/src/pagination/utility.queryChannel.ts +84 -0
  204. package/src/pagination/utility.search.ts +80 -0
  205. package/src/permissions.ts +7 -8
  206. package/src/poll.ts +101 -110
  207. package/src/poll_manager.ts +14 -8
  208. package/src/reminders/Reminder.ts +2 -5
  209. package/src/reminders/ReminderManager.ts +19 -21
  210. package/src/search/BaseSearchSource.ts +0 -3
  211. package/src/search/ChannelMemberSearchSource.ts +7 -1
  212. package/src/search/ChannelSearchSource.ts +10 -3
  213. package/src/search/MessageSearchSource.ts +29 -30
  214. package/src/search/UserSearchSource.ts +12 -8
  215. package/src/search/types.ts +3 -4
  216. package/src/segment.ts +1 -95
  217. package/src/signing.ts +107 -67
  218. package/src/store.ts +2 -1
  219. package/src/thread.ts +562 -238
  220. package/src/thread_manager.ts +37 -16
  221. package/src/token_manager.ts +21 -10
  222. package/src/types.ts +364 -4533
  223. package/src/uploadManager.ts +8 -0
  224. package/src/utils/FixedSizeQueueCache.ts +12 -6
  225. package/src/utils/WithSubscriptions.ts +2 -1
  226. package/src/utils/concurrency.ts +4 -4
  227. package/src/utils/mergeWith/mergeWith.ts +3 -3
  228. package/src/utils/mergeWith/mergeWithCore.ts +140 -164
  229. package/src/utils/mergeWith/mergeWithDiff.ts +3 -3
  230. package/src/utils/retryable.ts +117 -0
  231. package/src/utils/throttling/throttle.ts +130 -0
  232. package/src/utils.ts +208 -754
  233. package/dist/types/channel_manager.d.ts +0 -122
  234. package/dist/types/events.d.ts +0 -72
  235. package/dist/types/pagination/BasePaginator.d.ts +0 -69
  236. package/dist/types/pagination/ReminderPaginator.d.ts +0 -16
  237. package/dist/types/pagination/UserGroupPaginator.d.ts +0 -21
  238. package/src/channel_manager.ts +0 -830
  239. package/src/events.ts +0 -75
  240. package/src/pagination/BasePaginator.ts +0 -184
  241. package/src/pagination/ReminderPaginator.ts +0 -56
  242. package/src/pagination/UserGroupPaginator.ts +0 -93
@@ -0,0 +1,50 @@
1
+ import type { ApiClient, StreamResponse } from '../../gen-imports';
2
+ import type { AppealRequest, AppealResponse, BanRequest, BulkActionAppealsRequest, BulkActionAppealsResponse, BulkDeleteActionConfigRequest, BulkDeleteActionConfigResponse, BulkUpsertActionConfigRequest, BulkUpsertActionConfigResponse, CreateQueueRequest, DeleteActionConfigResponse, DeleteModerationConfigResponse, DeleteQueueRequest, FlagItemResponse, FlagRequest, GetActionConfigResponse, GetAppealResponse, GetConfigResponse, ListQueuesResponse, ModerationBanResponse, MuteRequest, MuteResponse, QueryAppealsRequest, QueryAppealsResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, QueueResponse, SubmitActionRequest, SubmitActionResponse, UpdateQueueRequest, UpsertActionConfigRequest, UpsertActionConfigResponse, UpsertConfigRequest, UpsertConfigResponse } from '../models';
3
+ export declare class ModerationApi {
4
+ readonly apiClient: ApiClient;
5
+ constructor(apiClient: ApiClient);
6
+ getActionConfig(request?: {
7
+ queue_type?: string;
8
+ entity_type?: string;
9
+ exclude_defaults?: boolean;
10
+ only_defaults?: boolean;
11
+ }): Promise<StreamResponse<GetActionConfigResponse>>;
12
+ upsertActionConfig(request: UpsertActionConfigRequest): Promise<StreamResponse<UpsertActionConfigResponse>>;
13
+ bulkUpsertActionConfig(request: BulkUpsertActionConfigRequest): Promise<StreamResponse<BulkUpsertActionConfigResponse>>;
14
+ bulkDeleteActionConfig(request: BulkDeleteActionConfigRequest): Promise<StreamResponse<BulkDeleteActionConfigResponse>>;
15
+ deleteActionConfig(request: {
16
+ id: string;
17
+ }): Promise<StreamResponse<DeleteActionConfigResponse>>;
18
+ appeal(request: AppealRequest): Promise<StreamResponse<AppealResponse>>;
19
+ getAppeal(request: {
20
+ id: string;
21
+ }): Promise<StreamResponse<GetAppealResponse>>;
22
+ queryAppeals(request?: QueryAppealsRequest): Promise<StreamResponse<QueryAppealsResponse>>;
23
+ bulkActionAppeals(request: BulkActionAppealsRequest): Promise<StreamResponse<BulkActionAppealsResponse>>;
24
+ ban(request: BanRequest): Promise<StreamResponse<ModerationBanResponse>>;
25
+ upsertConfig(request: UpsertConfigRequest): Promise<StreamResponse<UpsertConfigResponse>>;
26
+ deleteConfig(request: {
27
+ key: string;
28
+ team?: string;
29
+ }): Promise<StreamResponse<DeleteModerationConfigResponse>>;
30
+ getConfig(request: {
31
+ key: string;
32
+ team?: string;
33
+ }): Promise<StreamResponse<GetConfigResponse>>;
34
+ queryModerationConfigs(request?: QueryModerationConfigsRequest): Promise<StreamResponse<QueryModerationConfigsResponse>>;
35
+ flag(request: FlagRequest): Promise<StreamResponse<FlagItemResponse>>;
36
+ mute(request: MuteRequest): Promise<StreamResponse<MuteResponse>>;
37
+ listQueues(): Promise<StreamResponse<ListQueuesResponse>>;
38
+ createQueue(request: CreateQueueRequest): Promise<StreamResponse<QueueResponse>>;
39
+ getQueue(request: {
40
+ id: string;
41
+ }): Promise<StreamResponse<QueueResponse>>;
42
+ updateQueue(request: UpdateQueueRequest & {
43
+ id: string;
44
+ }): Promise<StreamResponse<QueueResponse>>;
45
+ deleteQueue(request: DeleteQueueRequest & {
46
+ id: string;
47
+ }): Promise<StreamResponse<QueueResponse>>;
48
+ queryReviewQueue(request?: QueryReviewQueueRequest): Promise<StreamResponse<QueryReviewQueueResponse>>;
49
+ submitAction(request: SubmitActionRequest): Promise<StreamResponse<SubmitActionResponse>>;
50
+ }
@@ -0,0 +1,3 @@
1
+ export { ChatApi } from './gen/chat/ChatApi';
2
+ export type { StreamResponse } from './types';
3
+ export { ApiClient } from './api-client';
@@ -1,16 +1,17 @@
1
1
  export * from './base64';
2
- export * from './campaign';
3
- export * from './channel_batch_updater';
4
2
  export * from './client';
5
3
  export * from './client_state';
6
4
  export * from './channel';
7
5
  export * from './channel_state';
6
+ export * from './configuration';
8
7
  export * from './connection';
9
8
  export { type CooldownTimerState } from './CooldownTimer';
10
- export * from './events';
11
9
  export * from './insights';
10
+ export * from './logger';
12
11
  export * from './messageComposer';
13
12
  export * from './messageDelivery';
13
+ export { EntityStore } from './entityStore/EntityStore';
14
+ export type { EntityStoreChangeBatch, EntityStoreOptions, EntityStoreSubscriber, } from './entityStore/EntityStore';
14
15
  export * from './middleware';
15
16
  export * from './moderation';
16
17
  export * from './notifications';
@@ -20,18 +21,18 @@ export * from './poll';
20
21
  export * from './poll_manager';
21
22
  export * from './reminders';
22
23
  export * from './search';
23
- export * from './segment';
24
24
  export * from './signing';
25
25
  export * from './store';
26
26
  export { Thread } from './thread';
27
- export type { ThreadState, ThreadReadState, ThreadRepliesPagination, ThreadUserReadState, } from './thread';
27
+ export type { ThreadState, ThreadReadState, ThreadUserReadState } from './thread';
28
28
  export * from './thread_manager';
29
29
  export * from './token_manager';
30
30
  export * from './types';
31
31
  export * from './uploadManager';
32
- export * from './channel_manager';
33
32
  export * from './offline-support';
34
33
  export * from './LiveLocationManager';
35
34
  export type { CustomAttachmentData, CustomChannelData, CustomCommandData, CustomEventData, CustomEventTypes, CustomMemberData, CustomMessageComposerData, CustomMessageData, CustomPollOptionData, CustomPollData, CustomReactionData, CustomUserData, CustomThreadData, } from './custom_types';
36
- export { isOwnUser, chatCodes, logChatPromiseExecution, localMessageToNewMessagePayload, formatMessage, promoteChannel, } from './utils';
35
+ export { isOwnUser, chatCodes, logChatPromiseExecution, localMessageToNewMessagePayload, formatMessage, } from './utils';
37
36
  export { FixedSizeQueueCache } from './utils/FixedSizeQueueCache';
37
+ export * from './ChannelManager';
38
+ export * from './EventHandlerPipeline';
@@ -8,15 +8,16 @@ export declare class InsightMetrics {
8
8
  constructor();
9
9
  }
10
10
  /**
11
- * postInsights is not supposed to be used by end users directly within chat application, and thus is kept isolated
12
- * from all the client/connection code/logic.
11
+ * Posts internal insights telemetry to the Stream insights endpoint. Not intended for end-user use;
12
+ * kept isolated from the client/connection code/logic.
13
13
  *
14
- * @param insightType
15
- * @param insights
14
+ * @internal
15
+ * @param insightType - The category of insight being reported (e.g. `'ws_fatal'`).
16
+ * @param insights - The insight payload to send.
16
17
  */
17
18
  export declare const postInsights: (insightType: InsightTypes, insights: Record<string, unknown>) => Promise<void>;
18
19
  export declare function buildWsFatalInsight(connection: StableWSConnection, event: Record<string, unknown>): {
19
- ready_state: 0 | 2 | 1 | 3 | undefined;
20
+ ready_state: 0 | 1 | 2 | 3 | undefined;
20
21
  url: string;
21
22
  api_key: string;
22
23
  start_ts: number | null;
@@ -24,7 +25,7 @@ export declare function buildWsFatalInsight(connection: StableWSConnection, even
24
25
  auth_type: string;
25
26
  token: string | undefined;
26
27
  user_id: string | undefined;
27
- user_details: import("./types").UserResponse | import("./types").OwnUserResponse | undefined;
28
+ user_details: import("./client").ClientUser | undefined;
28
29
  device: import("./types").BaseDeviceFields | undefined;
29
30
  client_id: string | undefined;
30
31
  ws_details: import("ws") | undefined;
@@ -36,7 +37,7 @@ export declare function buildWsFatalInsight(connection: StableWSConnection, even
36
37
  instance_client_id: string;
37
38
  };
38
39
  export declare function buildWsSuccessAfterFailureInsight(connection: StableWSConnection): {
39
- ready_state: 0 | 2 | 1 | 3 | undefined;
40
+ ready_state: 0 | 1 | 2 | 3 | undefined;
40
41
  url: string;
41
42
  api_key: string;
42
43
  start_ts: number | null;
@@ -44,7 +45,7 @@ export declare function buildWsSuccessAfterFailureInsight(connection: StableWSCo
44
45
  auth_type: string;
45
46
  token: string | undefined;
46
47
  user_id: string | undefined;
47
- user_details: import("./types").UserResponse | import("./types").OwnUserResponse | undefined;
48
+ user_details: import("./client").ClientUser | undefined;
48
49
  device: import("./types").BaseDeviceFields | undefined;
49
50
  client_id: string | undefined;
50
51
  ws_details: import("ws") | undefined;
@@ -0,0 +1,9 @@
1
+ import * as scopedLogger from '@stream-io/logger';
2
+ export type ChatLoggerScope = 'api-client' | 'channel' | 'channel-manager' | 'client' | 'connection' | 'connection-fallback' | 'message-composer' | 'offline-db' | 'state-store' | 'text-composer' | 'thread' | 'thread-manager' | 'token-manager' | 'upload-manager' | 'utils';
3
+ /**
4
+ * @internal
5
+ */
6
+ export type ScopedLogger = scopedLogger.Logger<ChatLoggerScope>;
7
+ export { LogLevelEnum } from '@stream-io/logger';
8
+ export type { ConfigureLoggersOptions, LogLevel, Sink } from '@stream-io/logger';
9
+ export declare const chatLoggerSystem: scopedLogger.LoggerSystem<ChatLoggerScope>;
@@ -1,6 +1,6 @@
1
1
  import { StateStore } from '../store';
2
2
  import type { MessageComposer } from './messageComposer';
3
- import type { DraftMessage, LiveLocationPayload, LocalMessage, StaticLocationPayload } from '../types';
3
+ import type { DraftMessage, LiveLocationPayload, LocalMessage, SharedLocation } from '../types';
4
4
  export type Coords = {
5
5
  latitude: number;
6
6
  longitude: number;
@@ -9,9 +9,12 @@ export type LocationComposerOptions = {
9
9
  composer: MessageComposer;
10
10
  message?: DraftMessage | LocalMessage;
11
11
  };
12
- export type StaticLocationPreview = StaticLocationPayload;
12
+ export type StaticLocationPreview = SharedLocation & {
13
+ message_id?: string;
14
+ };
13
15
  export type LiveLocationPreview = Omit<LiveLocationPayload, 'end_at'> & {
14
16
  durationMs?: number;
17
+ message_id?: string;
15
18
  };
16
19
  export type LocationComposerState = {
17
20
  location: StaticLocationPreview | LiveLocationPreview | null;
@@ -24,8 +27,8 @@ export declare class LocationComposer {
24
27
  constructor({ composer, message }: LocationComposerOptions);
25
28
  get config(): import("..").LocationComposerConfig;
26
29
  get deviceId(): string;
27
- get location(): StaticLocationPayload | LiveLocationPreview | null;
28
- get validLocation(): StaticLocationPayload | LiveLocationPayload | null;
30
+ get location(): StaticLocationPreview | LiveLocationPreview | null;
31
+ get validLocation(): SharedLocation | null;
29
32
  initState: ({ message }?: {
30
33
  message?: DraftMessage | LocalMessage;
31
34
  }) => void;
@@ -1,4 +1,4 @@
1
- import type { Attachment, SharedLocationResponse } from '../types';
1
+ import type { Attachment, SharedLocationResponseData } from '../types';
2
2
  import type { AudioAttachment, FileAttachment, GiphyAttachment, ImageAttachment, LocalAttachment, LocalAudioAttachment, LocalFileAttachment, LocalImageAttachment, LocalUploadAttachment, LocalVideoAttachment, LocalVoiceRecordingAttachment, UploadedAttachment, VideoAttachment, VoiceRecordingAttachment } from './types';
3
3
  export declare const isScrapedContent: (attachment: Attachment) => boolean;
4
4
  export declare const isLocalAttachment: (attachment: unknown) => attachment is LocalAttachment;
@@ -14,5 +14,5 @@ export declare const isLocalVoiceRecordingAttachment: (attachment: Attachment |
14
14
  export declare const isVideoAttachment: (attachment: Attachment | LocalAttachment, supportedVideoFormat?: string[]) => attachment is VideoAttachment;
15
15
  export declare const isLocalVideoAttachment: (attachment: Attachment | LocalAttachment) => attachment is LocalVideoAttachment;
16
16
  export declare const isUploadedAttachment: (attachment: Attachment) => attachment is UploadedAttachment;
17
- export declare const isSharedLocationResponse: (location: unknown) => location is SharedLocationResponse;
17
+ export declare const isSharedLocationResponseData: (location: unknown) => location is SharedLocationResponseData;
18
18
  export declare const isGiphyAttachment: (attachment: Attachment) => attachment is GiphyAttachment;
@@ -1,4 +1,4 @@
1
- import type { AttachmentManagerConfig, MinimumUploadRequestResult, UploadRequestFn, UploadRequestOptions } from './configuration';
1
+ import type { AttachmentManagerConfig, UploadRequestFn, UploadRequestOptions } from './configuration';
2
2
  import { AttachmentPostUploadMiddlewareExecutor, AttachmentPreUploadMiddlewareExecutor } from './middleware/attachmentManager';
3
3
  import { StateStore } from '../store';
4
4
  import type { AttachmentLoadingState, FileLike, FileReference, LocalAttachment, LocalUploadAttachment, UploadPermissionCheckResult } from './types';
@@ -26,7 +26,13 @@ export declare class AttachmentManager {
26
26
  get config(): AttachmentManagerConfig;
27
27
  get acceptedFiles(): AttachmentManagerConfig["acceptedFiles"];
28
28
  set acceptedFiles(acceptedFiles: AttachmentManagerConfig['acceptedFiles']);
29
+ /**
30
+ @deprecated attachments can be filtered using injecting pre-upload middleware
31
+ */
29
32
  get fileUploadFilter(): AttachmentManagerConfig["fileUploadFilter"];
33
+ /**
34
+ @deprecated attachments can be filtered using injecting pre-upload middleware
35
+ */
30
36
  set fileUploadFilter(fileUploadFilter: AttachmentManagerConfig['fileUploadFilter']);
31
37
  get maxNumberOfFilesPerMessage(): AttachmentManagerConfig["maxNumberOfFilesPerMessage"];
32
38
  set maxNumberOfFilesPerMessage(maxNumberOfFilesPerMessage: AttachmentManagerConfig['maxNumberOfFilesPerMessage']);
@@ -67,15 +73,13 @@ export declare class AttachmentManager {
67
73
  * to prevent recursive calls
68
74
  */
69
75
  doDefaultUploadRequest: (fileLike: FileReference | FileLike, options?: UploadRequestOptions) => Promise<{
70
- blocklist?: import("..").BlockListResponse;
71
76
  file: string;
72
77
  thumb_url?: string;
73
78
  }>;
74
79
  /**
75
80
  * todo: docs how to customize the image and file upload by overriding do
76
81
  */
77
- doUploadRequest: (fileLike: FileReference | FileLike, options?: UploadRequestOptions) => Promise<MinimumUploadRequestResult | {
78
- blocklist?: import("..").BlockListResponse;
82
+ doUploadRequest: (fileLike: FileReference | FileLike, options?: UploadRequestOptions) => Promise<{
79
83
  file: string;
80
84
  thumb_url?: string;
81
85
  }>;
@@ -2,7 +2,7 @@ import type { LinkPreview } from '../linkPreviewsManager';
2
2
  import type { FileUploadFilter } from '../attachmentManager';
3
3
  import type { MessageComposer } from '../messageComposer';
4
4
  import type { FileLike, FileReference } from '../types';
5
- import type { CommandResponse, UserResponse } from '../../types';
5
+ import type { Command, UserResponse } from '../../types';
6
6
  export type MinimumUploadRequestResult = {
7
7
  file: string;
8
8
  thumb_url?: string;
@@ -33,13 +33,13 @@ export type TextComposerConfig = {
33
33
  maxLengthOnSend?: number;
34
34
  };
35
35
  export type CommandSendability = {
36
- command: CommandResponse;
36
+ command: Command;
37
37
  ready: boolean;
38
38
  reason?: string & {};
39
39
  metadata?: Record<string, unknown>;
40
40
  };
41
41
  export type CommandSendValidationContext = {
42
- command: CommandResponse;
42
+ command: Command;
43
43
  composer: MessageComposer;
44
44
  commandArgsText: string;
45
45
  mentionedUsersInText: UserResponse[];
@@ -65,16 +65,16 @@ export type AttachmentManagerConfig = {
65
65
  /** Function that allows to customize the upload request. */
66
66
  doUploadRequest?: UploadRequestFn;
67
67
  /**
68
- * When true, the attachment manager sets `localMetadata.uploadProgress` and passes `options.onProgress`
69
- * to `doUploadRequest` (built-in and custom). Set to false to disable progress tracking.
70
- * @default true
68
+ * When `true`, the attachment manager sets `localMetadata.uploadProgress` and passes
69
+ * `options.onProgress` to `doUploadRequest` (built-in and custom). Set to `false` to disable
70
+ * progress tracking (defaults to `true`).
71
71
  */
72
72
  trackUploadProgress: boolean;
73
73
  };
74
74
  export type LinkPreviewsManagerConfig = {
75
- /** Number of milliseconds to debounce firing the URL enrichment queries when typing. The default value is 1500(ms). */
75
+ /** Number of milliseconds to debounce firing the URL enrichment queries when typing (defaults to `1500`). */
76
76
  debounceURLEnrichmentMs: number;
77
- /** Allows for toggling the URL enrichment and link previews in `MessageInput`. By default, the feature is disabled. */
77
+ /** Allows for toggling the URL enrichment and link previews in `MessageInput` (defaults to `false`). */
78
78
  enabled: boolean;
79
79
  /** Custom function to identify URLs in a string and request OG data */
80
80
  findURLFn: (text: string) => string[];
@@ -83,11 +83,11 @@ export type LinkPreviewsManagerConfig = {
83
83
  };
84
84
  export type LocationComposerConfig = {
85
85
  /**
86
- * Allows for toggling the location addition.
87
- * By default, the feature is enabled but has to be enabled also on channel level config via shared_locations.
86
+ * Allows for toggling the location addition (defaults to `true`). The feature also has to be
87
+ * enabled at the channel-level config via `shared_locations`.
88
88
  */
89
89
  enabled: boolean;
90
- /** Function that provides a stable id for a device from which the location is shared */
90
+ /** Function that provides a stable ID for the device from which the location is shared. */
91
91
  getDeviceId: () => string;
92
92
  };
93
93
  export type MessageComposerConfig = {
@@ -13,13 +13,13 @@ export interface ILinkPreviewsManager {
13
13
  findAndEnrichUrls?: DebouncedFunc<(text: string) => void>;
14
14
  }
15
15
  export declare enum LinkPreviewStatus {
16
- /** Link preview has been dismissed using **/
16
+ /** Link preview has been dismissed using */
17
17
  DISMISSED = "dismissed",
18
- /** Link preview could not be loaded, the enrichment request has failed. **/
18
+ /** Link preview could not be loaded, the enrichment request has failed. */
19
19
  FAILED = "failed",
20
- /** Link preview has been successfully loaded. **/
20
+ /** Link preview has been successfully loaded. */
21
21
  LOADED = "loaded",
22
- /** The enrichment query is in progress for a given link. **/
22
+ /** The enrichment query is in progress for a given link. */
23
23
  LOADING = "loading",
24
24
  /** The preview reference enrichment has not begun. Default status if not set. */
25
25
  PENDING = "pending"
@@ -77,15 +77,27 @@ export declare class LinkPreviewsManager implements ILinkPreviewsManager {
77
77
  static previewIsFailed: (preview: LinkPreview) => boolean;
78
78
  static previewIsPending: (preview: LinkPreview) => boolean;
79
79
  static getPreviewData: (preview: LinkPreview) => {
80
+ custom: import("..").CustomAttachmentData;
81
+ type?: string | undefined;
82
+ text?: string | undefined;
83
+ giphy?: import("..").Images | undefined;
84
+ actions?: Array<import("..").Action> | undefined;
85
+ title?: string | undefined;
86
+ thumb_url?: string | undefined;
87
+ asset_url?: string | undefined;
88
+ author_icon?: string | undefined;
89
+ author_link?: string | undefined;
90
+ author_name?: string | undefined;
91
+ color?: string | undefined;
92
+ fallback?: string | undefined;
93
+ footer?: string | undefined;
94
+ footer_icon?: string | undefined;
95
+ image_url?: string | undefined;
96
+ original_height?: number | undefined;
97
+ original_width?: number | undefined;
98
+ pretext?: string | undefined;
99
+ title_link?: string | undefined;
100
+ fields?: Array<import("..").Field> | undefined;
80
101
  og_scrape_url: string;
81
- asset_url?: string;
82
- author_link?: string;
83
- author_name?: string;
84
- image_url?: string;
85
- text?: string;
86
- thumb_url?: string;
87
- title?: string;
88
- title_link?: string;
89
- type?: string | "video" | "audio" | "image";
90
102
  };
91
103
  }
@@ -11,7 +11,7 @@ import { StateStore } from '../store';
11
11
  import { generateUUIDv4 } from '../utils';
12
12
  import { Channel } from '../channel';
13
13
  import { Thread } from '../thread';
14
- import type { ChannelAPIResponse, CommandResponse, DraftResponse, LocalMessage, LocalMessageBase, MessageResponse } from '../types';
14
+ import type { ChannelStateResponseFields, Command, DraftResponse, LocalMessage, MessageResponse } from '../types';
15
15
  import { WithSubscriptions } from '../utils/WithSubscriptions';
16
16
  import type { StreamChat } from '../client';
17
17
  import type { CommandSendability, MessageComposerConfig } from './configuration/types';
@@ -55,7 +55,7 @@ export type MessageComposerState = {
55
55
  id: string;
56
56
  draftId: string | null;
57
57
  pollId: string | null;
58
- quotedMessage: LocalMessageBase | null;
58
+ quotedMessage: LocalMessage | null;
59
59
  showReplyInChannel: boolean;
60
60
  /**
61
61
  * Baseline snapshot of the message being edited (if any).
@@ -86,26 +86,26 @@ export declare class MessageComposer extends WithSubscriptions {
86
86
  private snapshots;
87
87
  private effectHandlers;
88
88
  constructor({ composition, config, compositionContext, client, }: MessageComposerOptions);
89
- static evaluateContextType(compositionContext: CompositionContext): "message" | "channel" | "thread" | "legacy_thread";
89
+ static evaluateContextType(compositionContext: CompositionContext): "channel" | "thread" | "message" | "legacy_thread";
90
90
  static constructTag(compositionContext: CompositionContext): `${ReturnType<typeof MessageComposer.evaluateContextType>}_${string}`;
91
91
  static generateId: typeof generateUUIDv4;
92
92
  get config(): MessageComposerConfig;
93
93
  get editedMessage(): LocalMessage | undefined;
94
94
  set editedMessage(editedMessage: LocalMessage | undefined);
95
95
  setEditedMessage: (editedMessage: LocalMessage | null | undefined) => void;
96
- get contextType(): "message" | "channel" | "thread" | "legacy_thread";
97
- get tag(): `message_${string}` | `channel_${string}` | `thread_${string}` | `legacy_thread_${string}`;
96
+ get contextType(): "channel" | "thread" | "message" | "legacy_thread";
97
+ get tag(): `channel_${string}` | `thread_${string}` | `message_${string}` | `legacy_thread_${string}`;
98
98
  get threadId(): string | null;
99
99
  get client(): StreamChat;
100
100
  get id(): string;
101
101
  get draftId(): string | null;
102
102
  get lastChange(): LastComposerChange;
103
- get quotedMessage(): LocalMessageBase | null;
103
+ get quotedMessage(): LocalMessage | null;
104
104
  get pollId(): string | null;
105
105
  get showReplyInChannel(): boolean;
106
- getCommandDisabledReason: (command: CommandResponse) => CommandSuggestionDisabledReason | undefined;
107
- isCommandDisabled: (command: CommandResponse) => boolean;
108
- validateCommandSendability: (command: CommandResponse, text?: string) => CommandSendability;
106
+ getCommandDisabledReason: (command: Command) => CommandSuggestionDisabledReason | undefined;
107
+ isCommandDisabled: (command: Command) => boolean;
108
+ validateCommandSendability: (command: Command, text?: string) => CommandSendability;
109
109
  get isCommandSendable(): boolean;
110
110
  get hasSendableData(): boolean;
111
111
  get compositionIsEmpty(): boolean;
@@ -116,7 +116,7 @@ export declare class MessageComposer extends WithSubscriptions {
116
116
  initState: ({ composition, }?: {
117
117
  composition?: DraftResponse | MessageResponse | LocalMessage;
118
118
  }) => void;
119
- initStateFromChannelResponse: (channelApiResponse: ChannelAPIResponse) => void;
119
+ initStateFromChannelResponse: (channelApiResponse: ChannelStateResponseFields) => void;
120
120
  initEditingAuditState: (composition?: DraftResponse | MessageResponse | LocalMessage) => EditingAuditState;
121
121
  clearSnapshots: () => void;
122
122
  getSnapshot: () => MessageComposerSnapshot;
@@ -1,8 +1,8 @@
1
1
  import type { Middleware, MiddlewareExecutionResult } from '../../../middleware';
2
- import type { DraftMessagePayload, LocalMessage, Message, SendMessageOptions, UpdatedMessage } from '../../../types';
2
+ import type { LocalMessage, MessageRequest, SendMessageOptions, UpdatedMessage } from '../../../types';
3
3
  import type { MessageComposer } from '../../messageComposer';
4
4
  export type MessageComposerMiddlewareState = {
5
- message: Message | UpdatedMessage;
5
+ message: MessageRequest | UpdatedMessage;
6
6
  localMessage: LocalMessage;
7
7
  sendOptions: SendMessageOptions;
8
8
  };
@@ -11,7 +11,7 @@ export type MessageComposerMiddlewareExecutorOptions = {
11
11
  composer: MessageComposer;
12
12
  };
13
13
  export type MessageDraftComposerMiddlewareValueState = {
14
- draft: DraftMessagePayload;
14
+ draft: MessageRequest;
15
15
  };
16
16
  export type MessageDraftComposerMiddlewareExecutorOptions = {
17
17
  composer: MessageComposer;
@@ -1,5 +1,5 @@
1
1
  import type { MiddlewareExecutionResult } from '../../../middleware';
2
- import type { CreatePollData, VotingVisibility } from '../../../types';
2
+ import type { CreatePollRequest, VotingVisibility } from '../../../types';
3
3
  export type PollComposerOption = {
4
4
  id: string;
5
5
  text: string;
@@ -12,13 +12,12 @@ export type PollComposerOptionUpdate = PollComposerOption[] | TargetedPollOption
12
12
  export type UpdateFieldsData = Partial<Omit<PollComposerState['data'], 'options'>> & {
13
13
  options?: PollComposerOptionUpdate;
14
14
  };
15
- type Id = string;
16
- export type PollComposerFieldErrors = Partial<Omit<Record<keyof CreatePollData, string>, 'options'> & {
15
+ export type PollComposerFieldErrors = Partial<Omit<Record<keyof CreatePollRequest, string>, 'options'> & {
17
16
  options?: Record<string, string>;
18
17
  }>;
19
18
  export type PollComposerState = {
20
19
  data: {
21
- id: Id;
20
+ id: string;
22
21
  max_votes_allowed: string;
23
22
  name: string;
24
23
  options: PollComposerOption[];
@@ -27,13 +26,12 @@ export type PollComposerState = {
27
26
  description?: string;
28
27
  enforce_unique_vote?: boolean;
29
28
  is_closed?: boolean;
30
- user_id?: string;
31
29
  voting_visibility?: VotingVisibility;
32
30
  };
33
31
  errors: PollComposerFieldErrors;
34
32
  };
35
33
  export type PollComposerCompositionMiddlewareValueState = {
36
- data: CreatePollData;
34
+ data: CreatePollRequest;
37
35
  errors: PollComposerFieldErrors;
38
36
  };
39
37
  export type PollComposerCompositionMiddlewareValue = MiddlewareExecutionResult<PollComposerCompositionMiddlewareValueState>;
@@ -46,4 +44,3 @@ export type PollComposerStateChangeMiddlewareValue = {
46
44
  injectedFieldErrors?: PollComposerFieldErrors;
47
45
  };
48
46
  export type PollComposerStateMiddlewareValue = MiddlewareExecutionResult<PollComposerStateChangeMiddlewareValue>;
49
- export {};
@@ -1,5 +1,5 @@
1
1
  import type { MessageComposer } from '../../messageComposer';
2
- import type { CommandResponse, UserResponse } from '../../../types';
2
+ import type { Command, UserResponse } from '../../../types';
3
3
  import type { CommandSendability } from '../../configuration';
4
4
  import type { CommandSearchSource } from './commands';
5
5
  export declare function escapeCommandRegExp(text: string): string;
@@ -8,8 +8,8 @@ export declare const getCompleteCommandInString: (text: string) => string | null
8
8
  export declare const stripCommandFromText: (text: string, commandName: string) => string;
9
9
  export declare const stripMentionTokens: (text: string, mentionedUsersInText: UserResponse[], trigger?: string) => string;
10
10
  export declare const getMentionedUsersInText: (text: string, mentionedUsers: UserResponse[]) => UserResponse[];
11
- export declare const getCommandByName: (searchSource: CommandSearchSource, commandName?: string) => CommandResponse | undefined;
12
- export declare const notifyCommandDisabled: (composer: MessageComposer, command: CommandResponse) => true | undefined;
11
+ export declare const getCommandByName: (searchSource: CommandSearchSource, commandName?: string) => Command | undefined;
12
+ export declare const notifyCommandDisabled: (composer: MessageComposer, command: Command) => true | undefined;
13
13
  export declare const notifyCommandNotReady: ({ composer, sendability, }: {
14
14
  composer: MessageComposer;
15
15
  sendability: CommandSendability;
@@ -22,13 +22,13 @@ export declare class CommandSearchSource extends BaseSearchSourceSync<CommandSug
22
22
  };
23
23
  query(searchQuery: string): {
24
24
  items: {
25
- id: "all" | "giphy" | "ban" | "fun_set" | "moderation_set" | "mute" | "unban" | "unmute";
26
- created_at?: string | undefined;
27
- updated_at?: string | undefined;
28
- args?: string;
29
- description?: string;
30
- name: "all" | "giphy" | "ban" | "fun_set" | "moderation_set" | "mute" | "unban" | "unmute";
31
- set?: import("../../..").CommandVariants;
25
+ id: string;
26
+ args: string;
27
+ description: string;
28
+ name: string;
29
+ set: string;
30
+ created_at?: Date;
31
+ updated_at?: Date;
32
32
  }[];
33
33
  next: null;
34
34
  };