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
@@ -1,4 +1,4 @@
1
- import type { AppSettingsAPIResponse, ChannelAPIResponse, ChannelFilters, ChannelMemberResponse, ChannelOptions, ChannelResponse, ChannelSort, DraftResponse, LocalMessage, MessageResponse, PollResponse, ReactionFilters, ReactionResponse, ReactionSort, ReadResponse } from '../types';
1
+ import type { ChannelFilters, ChannelMemberResponse, ChannelOptions, ChannelResponse, ChannelSort, ChannelStateResponseFields, DraftResponse, GetApplicationResponse, LocalMessage, MessageResponse, PollResponse_old, QueryChannelsRequest, ReactionFilters, ReactionResponse, ReactionSort, ReadStateResponse } from '../types';
2
2
  import type { Channel } from '../channel';
3
3
  import type { StreamChat } from '../client';
4
4
  export type PrepareBatchDBQueries = [string] | [string, Array<unknown> | Array<Array<unknown>>];
@@ -6,7 +6,7 @@ export type PrepareBatchDBQueries = [string] | [string, Array<unknown> | Array<A
6
6
  * Options to insert a reaction into a message.
7
7
  */
8
8
  export type DBInsertReactionType = {
9
- /** Message to which the reaction is applied. */
9
+ /** MessageRequest to which the reaction is applied. */
10
10
  message: MessageResponse | LocalMessage;
11
11
  /** The reaction to insert. */
12
12
  reaction: ReactionResponse;
@@ -33,7 +33,7 @@ export type DBUpsertCidsForQueryType = {
33
33
  */
34
34
  export type DBUpsertChannelsType = {
35
35
  /** Array of channel API responses. */
36
- channels: ChannelAPIResponse[];
36
+ channels: ChannelStateResponseFields[];
37
37
  /** Whether to immediately execute the operation. */
38
38
  execute?: boolean;
39
39
  /** If true, marks that the latest messages are already set. */
@@ -44,7 +44,7 @@ export type DBUpsertChannelsType = {
44
44
  */
45
45
  export type DBUpsertAppSettingsType = {
46
46
  /** App settings data. */
47
- appSettings: AppSettingsAPIResponse;
47
+ appSettings: GetApplicationResponse;
48
48
  /** ID of the user the settings belong to. */
49
49
  userId: string;
50
50
  /** Whether to immediately execute the operation. */
@@ -66,7 +66,7 @@ export type DBUpsertUserSyncStatusType = {
66
66
  */
67
67
  export type DBUpsertPollType = {
68
68
  /** Poll data to be stored. */
69
- poll: PollResponse;
69
+ poll: PollResponse_old;
70
70
  /** Whether to immediately execute the operation. */
71
71
  execute?: boolean;
72
72
  };
@@ -86,7 +86,7 @@ export type DBUpsertReadsType = {
86
86
  /** Channel ID. */
87
87
  cid: string;
88
88
  /** Array of read statuses. */
89
- reads: ReadResponse[];
89
+ reads: ReadStateResponse[];
90
90
  /** Whether to immediately execute the operation. */
91
91
  execute?: boolean;
92
92
  };
@@ -114,7 +114,7 @@ export type DBUpsertMembersType = {
114
114
  * Options to update a reaction.
115
115
  */
116
116
  export type DBUpdateReactionType = {
117
- /** Message associated with the reaction. */
117
+ /** MessageRequest associated with the reaction. */
118
118
  message: MessageResponse | LocalMessage;
119
119
  /** The updated reaction. */
120
120
  reaction: ReactionResponse;
@@ -125,7 +125,7 @@ export type DBUpdateReactionType = {
125
125
  * Options to update a message.
126
126
  */
127
127
  export type DBUpdateMessageType = {
128
- /** Message to update. */
128
+ /** MessageRequest to update. */
129
129
  message: MessageResponse | LocalMessage;
130
130
  /** Whether to immediately execute the operation. */
131
131
  execute?: boolean;
@@ -146,14 +146,10 @@ export type DBGetChannelsForQueryType = {
146
146
  /** ID of the user. */
147
147
  userId: string;
148
148
  /** Optional filters for channels. */
149
- filters?: ChannelFilters;
150
- /** Optional full query options for channels. */
151
- options?: ChannelOptions;
152
- /** Optional sorting for the channels. */
153
- sort?: ChannelSort;
149
+ options?: QueryChannelsRequest;
154
150
  };
155
151
  /**
156
- * Get the last sync timestamp for a user.
152
+ * Payload for retrieving the last sync timestamp for a user.
157
153
  */
158
154
  export type DBGetLastSyncedAtType = {
159
155
  /** ID of the user. */
@@ -167,7 +163,7 @@ export type DBGetPendingTasksType = {
167
163
  messageId?: string;
168
164
  };
169
165
  /**
170
- * Get application settings for a user.
166
+ * Payload for retrieving application settings for a user.
171
167
  */
172
168
  export type DBGetAppSettingsType = {
173
169
  /** ID of the user. */
@@ -180,21 +176,21 @@ export type DBGetReactionsType = {
180
176
  /** ID of the message. */
181
177
  messageId: string;
182
178
  /** Optional filter to apply to reactions. */
183
- filters?: Pick<ReactionFilters, 'type'>;
179
+ filters?: ReactionFilters;
184
180
  /** Optional sorting for reactions. */
185
181
  sort?: ReactionSort;
186
182
  /** Optional maximum number of reactions to return. */
187
183
  limit?: number;
188
184
  };
189
185
  /**
190
- * Delete a pending task by ID.
186
+ * Payload for deleting a pending task by ID.
191
187
  */
192
188
  export type DBDeletePendingTaskType = {
193
189
  /** ID of the pending task. */
194
190
  id: number;
195
191
  };
196
192
  /**
197
- * Update a pending task by ID.
193
+ * Payload for updating a pending task by ID.
198
194
  */
199
195
  export type DBUpdatePendingTaskType = {
200
196
  /** ID of the pending task. */
@@ -260,12 +256,12 @@ export type DBDeleteMessagesForChannelType = {
260
256
  /** Channel ID. */
261
257
  cid: string;
262
258
  /** Timestamp before which messages are deleted. */
263
- truncated_at?: string;
259
+ truncated_at?: Date;
264
260
  /** Whether to immediately execute the operation. */
265
261
  execute?: boolean;
266
262
  };
267
263
  /**
268
- * Check if a channel exists by ID.
264
+ * Payload for checking whether a channel exists by ID.
269
265
  */
270
266
  export type DBChannelExistsType = {
271
267
  /** Channel ID. */
@@ -312,11 +308,11 @@ export interface OfflineDBApi {
312
308
  updateReaction: (options: DBUpdateReactionType) => Promise<ExecuteBatchDBQueriesType>;
313
309
  updateMessage: (options: DBUpdateMessageType) => Promise<ExecuteBatchDBQueriesType>;
314
310
  getDraft: (options: DBGetDraftType) => Promise<DraftResponse | null>;
315
- getChannels: (options: DBGetChannelsType) => Promise<Omit<ChannelAPIResponse, 'duration'>[] | null>;
316
- getChannelsForQuery: (options: DBGetChannelsForQueryType) => Promise<Omit<ChannelAPIResponse, 'duration'>[] | null>;
311
+ getChannels: (options: DBGetChannelsType) => Promise<Omit<ChannelStateResponseFields, 'duration'>[] | null>;
312
+ getChannelsForQuery: (options: DBGetChannelsForQueryType) => Promise<Omit<ChannelStateResponseFields, 'duration'>[] | null>;
317
313
  getAllChannelCids: () => Promise<string[]>;
318
314
  getLastSyncedAt: (options: DBGetLastSyncedAtType) => Promise<string | undefined>;
319
- getAppSettings: (options: DBGetAppSettingsType) => Promise<AppSettingsAPIResponse | null>;
315
+ getAppSettings: (options: DBGetAppSettingsType) => Promise<GetApplicationResponse | null>;
320
316
  getReactions: (options: DBGetReactionsType) => Promise<ReactionResponse[] | null>;
321
317
  executeSqlBatch: (queries: ExecuteBatchDBQueriesType) => Promise<unknown>;
322
318
  addPendingTask: (task: PendingTask) => Promise<() => Promise<void>>;
@@ -1,7 +1,9 @@
1
- import type { Attachment, LocalMessage, MessageResponse } from '../types';
1
+ import type { Attachment } from '../types';
2
2
  export declare const isLocalUrl: (value: string | undefined) => boolean;
3
3
  export declare const isAttachmentReplayable: (attachment: Attachment) => boolean;
4
- export declare const isMessageUpdateReplayable: (message: LocalMessage | Partial<MessageResponse>) => boolean;
4
+ export declare const isMessageUpdateReplayable: (minimalMessage: {
5
+ attachments?: Attachment[];
6
+ }) => boolean;
5
7
  export declare const getPendingTaskChannelData: (cid?: string) => {
6
8
  channelId?: undefined;
7
9
  channelType?: undefined;
@@ -21,7 +21,7 @@ export type FilterBuilderGenerators<TFilters, TContext extends Record<string, un
21
21
  generate: (context: TContext) => Partial<TFilters> | null;
22
22
  };
23
23
  };
24
- export type FilterBuilderOptions<TFilters, TContext extends Record<string, unknown>> = {
24
+ export type FilterBuilderOptions<TFilters, TContext extends Record<string, unknown> = Record<string, unknown>> = {
25
25
  initialFilterConfig?: FilterBuilderGenerators<TFilters, TContext>;
26
26
  initialContext?: TContext;
27
27
  };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The minimal CRUD surface a paginator relies on from its item index.
3
+ *
4
+ * The sole implementation is {@link StoreBackedItemIndex}: backed by a shared, client-global store
5
+ * it dedupes content across collections and fans changes out to every holder; backed by a private
6
+ * store (the default, owner-less mode) it behaves as a plain per-instance index. Keeping this as an
7
+ * interface lets `BasePaginator` stay agnostic to which backing a given paginator uses.
8
+ *
9
+ * @template T The domain item type managed by the index.
10
+ */
11
+ export interface ItemIndexApi<T> {
12
+ setMany(items: T[]): void;
13
+ setOne(item: T): void;
14
+ get(id: string): T | undefined;
15
+ has(id: string): boolean;
16
+ remove(id: string): void;
17
+ clear(): void;
18
+ entries(): [string, T][];
19
+ values(): T[];
20
+ /**
21
+ * Runs `fn`, coalescing any change notifications it produces into a single flush. A private-store
22
+ * (owner-less) index has nothing to fan out and simply runs `fn`.
23
+ */
24
+ batch<R>(fn: () => R): R;
25
+ }
@@ -0,0 +1,9 @@
1
+ import type { BasePaginator, CursorDeriveContext, PaginationFlags } from '../paginators';
2
+ export declare const deriveCreatedAtAroundPaginationFlags: <T extends {
3
+ id: string;
4
+ created_at: Date;
5
+ }, Q extends {
6
+ created_at_around?: Date | string;
7
+ }, P extends BasePaginator<T, Q>>({ hasMoreHead, hasMoreTail, interval, page, paginator, queryShape, requestedPageSize, }: CursorDeriveContext<T, Q> & {
8
+ paginator: P;
9
+ }) => PaginationFlags;
@@ -0,0 +1,6 @@
1
+ import type { CursorDeriveContext, PaginationFlags } from '../paginators';
2
+ export declare const deriveIdAroundPaginationFlags: <T extends {
3
+ id: string;
4
+ }, Q extends {
5
+ id_around?: string;
6
+ }>({ hasMoreHead, hasMoreTail, interval, page, queryShape, requestedPageSize, }: CursorDeriveContext<T, Q>) => PaginationFlags;
@@ -0,0 +1 @@
1
+ export * from './createdAtAroundPaginationFlags';
@@ -0,0 +1,6 @@
1
+ import type { CursorDeriveContext, PaginationFlags } from '../paginators';
2
+ import type { PaginationOptions } from '../../types';
3
+ export declare const deriveLinearPaginationFlags: <T extends {
4
+ id: string;
5
+ created_at: Date;
6
+ }, Q extends PaginationOptions>({ direction, hasMoreHead, hasMoreTail, interval, page, queryShape, requestedPageSize, }: CursorDeriveContext<T, Q>) => PaginationFlags;
@@ -0,0 +1,7 @@
1
+ import type { FieldToDataResolver } from './types.normalization';
2
+ import type { QueryFilters } from '../types';
3
+ export type ItemMatchesFilterOptions<DataSource> = {
4
+ /** Custom resolvers to extract values from an item given a path */
5
+ resolvers?: ReadonlyArray<FieldToDataResolver<DataSource>>;
6
+ };
7
+ export declare function itemMatchesFilter<T>(item: T, filter: QueryFilters<any>, options: ItemMatchesFilterOptions<T>): boolean;
@@ -1,4 +1,2 @@
1
- export * from './BasePaginator';
1
+ export * from './paginators';
2
2
  export * from './FilterBuilder';
3
- export * from './ReminderPaginator';
4
- export * from './UserGroupPaginator';