@devvit/reddit 0.11.17-next-2025-05-28-417d95f5a.0
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/LICENSE +26 -0
- package/README.md +5 -0
- package/RedditClient.d.ts +1155 -0
- package/RedditClient.d.ts.map +1 -0
- package/RedditClient.js +1417 -0
- package/common.d.ts +10 -0
- package/common.d.ts.map +1 -0
- package/common.js +5 -0
- package/getReddit.d.ts +3 -0
- package/getReddit.d.ts.map +1 -0
- package/getReddit.js +8 -0
- package/getRedditApiPlugins.d.ts +23 -0
- package/getRedditApiPlugins.d.ts.map +1 -0
- package/getRedditApiPlugins.js +25 -0
- package/getUserActionsPlugin.d.ts +6 -0
- package/getUserActionsPlugin.d.ts.map +1 -0
- package/getUserActionsPlugin.js +12 -0
- package/graphql/GraphQL.d.ts +10 -0
- package/graphql/GraphQL.d.ts.map +1 -0
- package/graphql/GraphQL.js +27 -0
- package/helpers/makeGettersEnumerable.d.ts +2 -0
- package/helpers/makeGettersEnumerable.d.ts.map +1 -0
- package/helpers/makeGettersEnumerable.js +19 -0
- package/helpers/permissions.d.ts +6 -0
- package/helpers/permissions.d.ts.map +1 -0
- package/helpers/permissions.js +24 -0
- package/helpers/richtextToString.d.ts +3 -0
- package/helpers/richtextToString.d.ts.map +1 -0
- package/helpers/richtextToString.js +14 -0
- package/helpers/textFallbackToRichtext.d.ts +4 -0
- package/helpers/textFallbackToRichtext.d.ts.map +1 -0
- package/helpers/textFallbackToRichtext.js +14 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +1 -0
- package/models/Comment.d.ts +138 -0
- package/models/Comment.d.ts.map +1 -0
- package/models/Comment.js +597 -0
- package/models/Flair.d.ts +171 -0
- package/models/Flair.d.ts.map +1 -0
- package/models/Flair.js +293 -0
- package/models/Listing.d.ts +53 -0
- package/models/Listing.d.ts.map +1 -0
- package/models/Listing.js +101 -0
- package/models/ModAction.d.ts +32 -0
- package/models/ModAction.d.ts.map +1 -0
- package/models/ModAction.js +70 -0
- package/models/ModMail.d.ts +655 -0
- package/models/ModMail.d.ts.map +1 -0
- package/models/ModMail.js +723 -0
- package/models/ModNote.d.ts +57 -0
- package/models/ModNote.d.ts.map +1 -0
- package/models/ModNote.js +103 -0
- package/models/Post.d.ts +491 -0
- package/models/Post.d.ts.map +1 -0
- package/models/Post.js +1022 -0
- package/models/PrivateMessage.d.ts +52 -0
- package/models/PrivateMessage.d.ts.map +1 -0
- package/models/PrivateMessage.js +126 -0
- package/models/Subreddit.d.ts +606 -0
- package/models/Subreddit.d.ts.map +1 -0
- package/models/Subreddit.js +750 -0
- package/models/User.d.ts +238 -0
- package/models/User.d.ts.map +1 -0
- package/models/User.js +458 -0
- package/models/Vault.d.ts +32 -0
- package/models/Vault.d.ts.map +1 -0
- package/models/Vault.js +25 -0
- package/models/Widget.d.ts +133 -0
- package/models/Widget.d.ts.map +1 -0
- package/models/Widget.js +467 -0
- package/models/WikiPage.d.ts +137 -0
- package/models/WikiPage.d.ts.map +1 -0
- package/models/WikiPage.js +329 -0
- package/models/index.d.ts +14 -0
- package/models/index.d.ts.map +1 -0
- package/models/index.js +13 -0
- package/package.json +46 -0
- package/tests/comment.api.test.d.ts.map +1 -0
- package/tests/flair.api.test.d.ts.map +1 -0
- package/tests/modmail.api.test.d.ts.map +1 -0
- package/tests/modnote.api.test.d.ts.map +1 -0
- package/tests/post.api.test.d.ts.map +1 -0
- package/tests/subreddit.api.test.d.ts.map +1 -0
- package/tests/user.api.test.d.ts.map +1 -0
- package/tests/utils/createTestPreview.d.ts +2 -0
- package/tests/utils/createTestPreview.d.ts.map +1 -0
- package/tests/utils/createTestPreview.js +5 -0
- package/tests/utils/redditApiPluginsMock.d.ts +203 -0
- package/tests/utils/redditApiPluginsMock.d.ts.map +1 -0
- package/tests/utils/redditApiPluginsMock.js +202 -0
- package/tests/utils/runWithTestContext.d.ts +4 -0
- package/tests/utils/runWithTestContext.d.ts.map +1 -0
- package/tests/utils/runWithTestContext.js +12 -0
- package/tests/utils/userActionsPluginMock.d.ts +6 -0
- package/tests/utils/userActionsPluginMock.d.ts.map +1 -0
- package/tests/utils/userActionsPluginMock.js +5 -0
|
@@ -0,0 +1,655 @@
|
|
|
1
|
+
export type SubredditData = {
|
|
2
|
+
id?: string | undefined;
|
|
3
|
+
name?: string | undefined;
|
|
4
|
+
displayName?: string | undefined;
|
|
5
|
+
communityIcon?: string | undefined;
|
|
6
|
+
keyColor?: string | undefined;
|
|
7
|
+
subscribers?: number | undefined;
|
|
8
|
+
primaryColor?: string | undefined;
|
|
9
|
+
lastUpdated?: string | undefined;
|
|
10
|
+
icon?: string | undefined;
|
|
11
|
+
};
|
|
12
|
+
export type GetConversationsRequest = {
|
|
13
|
+
/** modmail conversation id */
|
|
14
|
+
after?: string;
|
|
15
|
+
/** array of subreddit names */
|
|
16
|
+
subreddits?: string[];
|
|
17
|
+
/** an integer between 1 and 100 (default: 25) */
|
|
18
|
+
limit?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Sort by:
|
|
21
|
+
* - `recent` - Order by whenever anyone last updated the conversation, mod or participant
|
|
22
|
+
* - `mod` - Order by the last time a mod updated the conversation
|
|
23
|
+
* - `user` - Order by the last time a participant user updated the conversation
|
|
24
|
+
* - `unread` - Order by the most recent unread message in the conversation for this mod
|
|
25
|
+
*/
|
|
26
|
+
sort?: 'recent' | 'mod' | 'user' | 'unread';
|
|
27
|
+
/**
|
|
28
|
+
* Filter by conversation state
|
|
29
|
+
*
|
|
30
|
+
* A conversation can be in more than one state.
|
|
31
|
+
* For example, a conversation may be both 'highlighted' and 'inprogress'.
|
|
32
|
+
*/
|
|
33
|
+
state?: ConversationStateFilter;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* A Conversation State is a way in which conversations may be filtered within the UI.
|
|
37
|
+
*
|
|
38
|
+
* A conversation can be in more than one state.
|
|
39
|
+
* For example, a conversation may be both 'highlighted' and 'inprogress'.
|
|
40
|
+
*/
|
|
41
|
+
export type ConversationStateFilter = 'all' | 'new' | 'inprogress' | 'archived' | 'appeals' | 'join_requests' | 'highlighted' | 'mod' | 'notifications' | 'inbox' | 'filtered' | 'default';
|
|
42
|
+
/**
|
|
43
|
+
* Conversation participant
|
|
44
|
+
*/
|
|
45
|
+
export type Participant = {
|
|
46
|
+
isMod?: boolean | undefined;
|
|
47
|
+
isAdmin?: boolean | undefined;
|
|
48
|
+
name?: string | undefined;
|
|
49
|
+
isOp?: boolean | undefined;
|
|
50
|
+
isParticipant?: boolean | undefined;
|
|
51
|
+
isApproved?: boolean | undefined;
|
|
52
|
+
isHidden?: boolean | undefined;
|
|
53
|
+
id?: number | undefined;
|
|
54
|
+
isDeleted?: boolean | undefined;
|
|
55
|
+
};
|
|
56
|
+
export type ConversationUserData = {
|
|
57
|
+
/** User ID*/
|
|
58
|
+
id?: string | undefined;
|
|
59
|
+
/** Username */
|
|
60
|
+
name?: string | undefined;
|
|
61
|
+
/** Recent comments */
|
|
62
|
+
recentComments: {
|
|
63
|
+
[id: string]: {
|
|
64
|
+
comment?: string | undefined;
|
|
65
|
+
date?: string | undefined;
|
|
66
|
+
permalink?: string | undefined;
|
|
67
|
+
title?: string | undefined;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
/** Recent posts */
|
|
71
|
+
recentPosts: {
|
|
72
|
+
[id: string]: {
|
|
73
|
+
date?: string | undefined;
|
|
74
|
+
permalink?: string | undefined;
|
|
75
|
+
title?: string | undefined;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/** Recent conversations */
|
|
79
|
+
recentConvos: {
|
|
80
|
+
[id: string]: {
|
|
81
|
+
date?: string | undefined;
|
|
82
|
+
permalink?: string | undefined;
|
|
83
|
+
id?: string | undefined;
|
|
84
|
+
subject?: string | undefined;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
isSuspended?: boolean | undefined;
|
|
88
|
+
isShadowBanned?: boolean | undefined;
|
|
89
|
+
muteStatus?: {
|
|
90
|
+
isMuted?: boolean | undefined;
|
|
91
|
+
muteCount?: number | undefined;
|
|
92
|
+
endDate?: string | undefined;
|
|
93
|
+
reason?: string | undefined;
|
|
94
|
+
} | undefined;
|
|
95
|
+
banStatus?: {
|
|
96
|
+
isBanned?: boolean | undefined;
|
|
97
|
+
isPermanent?: boolean | undefined;
|
|
98
|
+
endDate?: string | undefined;
|
|
99
|
+
reason?: string | undefined;
|
|
100
|
+
} | undefined;
|
|
101
|
+
approveStatus?: {
|
|
102
|
+
isApproved?: boolean | undefined;
|
|
103
|
+
} | undefined;
|
|
104
|
+
/** When was created */
|
|
105
|
+
created?: string | undefined;
|
|
106
|
+
};
|
|
107
|
+
export declare enum ModMailConversationState {
|
|
108
|
+
New = "New",
|
|
109
|
+
InProgress = "InProgress",
|
|
110
|
+
Archived = "Archived",
|
|
111
|
+
Appeals = "Appeals",
|
|
112
|
+
JoinRequests = "JoinRequests",
|
|
113
|
+
Filtered = "Filtered"
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* An ActionType describes a particular logged action within a conversation. For example,
|
|
117
|
+
* if a mod highlights a conversation, a ModerationAction record with the type `Highlighted`
|
|
118
|
+
* would be created.
|
|
119
|
+
*/
|
|
120
|
+
export declare enum ModMailActionType {
|
|
121
|
+
Highlighted = "Highlighted",
|
|
122
|
+
Unhighlighted = "Unhighlighted",
|
|
123
|
+
Archived = "Archived",
|
|
124
|
+
Unarchived = "Unarchived",
|
|
125
|
+
ReportedToAdmins = "ReportedToAdmins",
|
|
126
|
+
Muted = "Muted",
|
|
127
|
+
Unmuted = "Unmuted",
|
|
128
|
+
Banned = "Banned",
|
|
129
|
+
Unbanned = "Unbanned",
|
|
130
|
+
Approved = "Approved",
|
|
131
|
+
Disapproved = "Disapproved",
|
|
132
|
+
Filtered = "Filtered",
|
|
133
|
+
Unfiltered = "Unfiltered"
|
|
134
|
+
}
|
|
135
|
+
export type ConversationData = {
|
|
136
|
+
/** Conversation ID */
|
|
137
|
+
id?: string | undefined;
|
|
138
|
+
/** Suject of the conversation */
|
|
139
|
+
subject?: string | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* Subreddit owning the modmail conversation
|
|
142
|
+
*/
|
|
143
|
+
subreddit?: {
|
|
144
|
+
displayName?: string | undefined;
|
|
145
|
+
id?: string | undefined;
|
|
146
|
+
} | undefined;
|
|
147
|
+
/**
|
|
148
|
+
* A ConversationType specifies whether a conversation is with a subreddit
|
|
149
|
+
* itself, with another user, or with another subreddit entirely.
|
|
150
|
+
* - `internal` - This is a conversation with another user outside of the subreddit. The participant ID is that user's ID.
|
|
151
|
+
* - `sr_user` - This is a Mod Discussion, internal to the subreddit. There is no other participant.
|
|
152
|
+
* - `sr_sr` - This is a conversation is with another subreddit. The participant will have a subreddit ID.
|
|
153
|
+
*/
|
|
154
|
+
conversationType?: string | undefined;
|
|
155
|
+
/** Is the conversation automatically generated e.g. from automod, u/reddit */
|
|
156
|
+
isAuto?: boolean | undefined;
|
|
157
|
+
/** Participant. Is absent for mod discussions */
|
|
158
|
+
participant?: Participant | undefined;
|
|
159
|
+
/** The last datetime a user made any interaction with the conversation */
|
|
160
|
+
lastUserUpdate?: string | undefined;
|
|
161
|
+
/** Is the conversation internal (i.e. mod only) */
|
|
162
|
+
isInternal?: boolean | undefined;
|
|
163
|
+
/**
|
|
164
|
+
* The last datetime a mod from the owning subreddit made any interaction
|
|
165
|
+
* with the conversation.
|
|
166
|
+
*
|
|
167
|
+
* (Note that if this is a subreddit to subreddit conversation, the mods of
|
|
168
|
+
* the participant subreddit are irrelevant and do not affect this field.)
|
|
169
|
+
*/
|
|
170
|
+
lastModUpdate?: string | undefined;
|
|
171
|
+
/** The authors of each message in the modmail conversation. */
|
|
172
|
+
authors: Participant[];
|
|
173
|
+
/** The datetime of the last time the conversation was update. */
|
|
174
|
+
lastUpdated?: string | undefined;
|
|
175
|
+
/** State of the conversation */
|
|
176
|
+
state?: ModMailConversationState | undefined;
|
|
177
|
+
/** The datetime of the last unread message within this conversation for the current viewer. */
|
|
178
|
+
lastUnread?: string | undefined;
|
|
179
|
+
/** Is the conversation highlighted */
|
|
180
|
+
isHighlighted?: boolean | undefined;
|
|
181
|
+
/** Number of messages (not actions) in the conversation */
|
|
182
|
+
numMessages?: number | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Conversation messages
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* const arrayOfMessages = Object.values(conversation.messages);
|
|
189
|
+
* const messageById = conversation.messages[messageId];
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
messages: {
|
|
193
|
+
[id: string]: MessageData;
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Conversation mod actions
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* const arrayOfModActions = Object.values(conversation.modActions);
|
|
201
|
+
* const modActionById = conversation.modActions[modActionId];
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
modActions: {
|
|
205
|
+
[id: string]: ModActionData;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
export type ModActionData = {
|
|
209
|
+
/** Action id */
|
|
210
|
+
id?: string | undefined;
|
|
211
|
+
/** Type of the action */
|
|
212
|
+
actionType: ModMailActionType;
|
|
213
|
+
/** When the action happened */
|
|
214
|
+
date?: string | undefined;
|
|
215
|
+
/** Action author */
|
|
216
|
+
author?: {
|
|
217
|
+
/** User id */
|
|
218
|
+
id?: number | undefined;
|
|
219
|
+
/** User name */
|
|
220
|
+
name?: string | undefined;
|
|
221
|
+
isMod?: boolean | undefined;
|
|
222
|
+
isAdmin?: boolean | undefined;
|
|
223
|
+
isHidden?: boolean | undefined;
|
|
224
|
+
isDeleted?: boolean | undefined;
|
|
225
|
+
} | undefined;
|
|
226
|
+
};
|
|
227
|
+
export type MessageData = {
|
|
228
|
+
/** Message ID */
|
|
229
|
+
id?: string | undefined;
|
|
230
|
+
/** Message body */
|
|
231
|
+
body?: string | undefined;
|
|
232
|
+
/** When was created */
|
|
233
|
+
date?: string | undefined;
|
|
234
|
+
author?: Participant | undefined;
|
|
235
|
+
isInternal?: boolean | undefined;
|
|
236
|
+
bodyMarkdown?: string | undefined;
|
|
237
|
+
participatingAs?: string | undefined;
|
|
238
|
+
};
|
|
239
|
+
export type ConversationResponse = {
|
|
240
|
+
conversation: ConversationData;
|
|
241
|
+
};
|
|
242
|
+
export type WithUserData = {
|
|
243
|
+
user?: ConversationUserData | undefined;
|
|
244
|
+
};
|
|
245
|
+
export type UnreadCountResponse = {
|
|
246
|
+
archived?: number | undefined;
|
|
247
|
+
appeals?: number | undefined;
|
|
248
|
+
highlighted?: number | undefined;
|
|
249
|
+
notifications?: number | undefined;
|
|
250
|
+
joinRequests?: number | undefined;
|
|
251
|
+
filtered?: number | undefined;
|
|
252
|
+
new?: number | undefined;
|
|
253
|
+
inprogress?: number | undefined;
|
|
254
|
+
mod?: number | undefined;
|
|
255
|
+
};
|
|
256
|
+
type ParticipantSubreddit = {
|
|
257
|
+
id: string;
|
|
258
|
+
name: string;
|
|
259
|
+
};
|
|
260
|
+
export type GetConversationResponse = {
|
|
261
|
+
conversation?: ConversationData | undefined;
|
|
262
|
+
/** If the conversation is with another subreddit, what subreddit we are communicating with. */
|
|
263
|
+
participantSubreddit?: ParticipantSubreddit | undefined;
|
|
264
|
+
} & WithUserData;
|
|
265
|
+
export type GetConversationsResponse = {
|
|
266
|
+
/**
|
|
267
|
+
* Conversations key-value map
|
|
268
|
+
*/
|
|
269
|
+
conversations: {
|
|
270
|
+
[id: string]: ConversationData;
|
|
271
|
+
};
|
|
272
|
+
viewerId?: string | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Array of conversation ids, ordered by the sort parameter specified in {@link GetConversationsRequest}.
|
|
275
|
+
*/
|
|
276
|
+
conversationIds: string[];
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Class providing the methods for working with Mod Mail
|
|
280
|
+
*/
|
|
281
|
+
export declare class ModMailService {
|
|
282
|
+
#private;
|
|
283
|
+
readonly notificationSubjectPrefix = "[notification]";
|
|
284
|
+
/**
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
287
|
+
constructor();
|
|
288
|
+
/**
|
|
289
|
+
* Marks all conversations read for a particular conversation state within the passed list of subreddits.
|
|
290
|
+
*
|
|
291
|
+
* @param subreddits Array of subreddit names
|
|
292
|
+
* @param state One of the possible conversation states ('all' to read all conversations)
|
|
293
|
+
*
|
|
294
|
+
* @returns conversationIds
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* ```ts
|
|
298
|
+
* const conversationIds = await reddit.modMail.bulkReadConversations(
|
|
299
|
+
* ['askReddit', 'myAwesomeSubreddit'],
|
|
300
|
+
* 'filtered'
|
|
301
|
+
* );
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
bulkReadConversations(subreddits: string[], state: ConversationStateFilter): Promise<string[]>;
|
|
305
|
+
/**
|
|
306
|
+
* Get conversations for a logged in user or subreddits
|
|
307
|
+
*
|
|
308
|
+
* @param params.after id of a modmail
|
|
309
|
+
* @param params.subreddits array of subreddit names
|
|
310
|
+
* @param params.limit an integer between 1 and 100 (default: 25)
|
|
311
|
+
* @param params.sort one of (recent, mod, user, unread)
|
|
312
|
+
* @param params.state One of the possible conversation states ('all' to read all conversations)
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* ```ts
|
|
316
|
+
* const {viewerId, conversations} = await reddit.modMail.getConversations({
|
|
317
|
+
* after: 'abcdef',
|
|
318
|
+
* limit: 42
|
|
319
|
+
* });
|
|
320
|
+
*
|
|
321
|
+
* const arrayOfConversations = Object.values(conversations);
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
getConversations(params: GetConversationsRequest): Promise<GetConversationsResponse>;
|
|
325
|
+
/**
|
|
326
|
+
* Returns all messages, mod actions and conversation metadata for a given conversation id
|
|
327
|
+
*
|
|
328
|
+
* @param params.conversationId id of a modmail conversation
|
|
329
|
+
* @param params.markRead should be marked as read (default: false)
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* ```ts
|
|
333
|
+
* const { conversation, messages, modActions, user } = await reddit.modMail.getConversation({ conversationId: 'abcdef', markRead: true });
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
getConversation(params: {
|
|
337
|
+
/** a modmail conversation id */
|
|
338
|
+
conversationId: string;
|
|
339
|
+
/** mark read? */
|
|
340
|
+
markRead?: boolean;
|
|
341
|
+
}): Promise<GetConversationResponse>;
|
|
342
|
+
/**
|
|
343
|
+
* Returns a list of Subreddits that the user moderates with mail permission
|
|
344
|
+
*
|
|
345
|
+
* @example
|
|
346
|
+
* ```ts
|
|
347
|
+
* const subredditsData = await reddit.modMail.getSubreddits();
|
|
348
|
+
*
|
|
349
|
+
* for (const subreddit of Object.values(subreddits)) {
|
|
350
|
+
* console.log(subreddit.id);
|
|
351
|
+
* console.log(subreddit.name);
|
|
352
|
+
* }
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
getSubreddits(): Promise<{
|
|
356
|
+
[key: string]: SubredditData;
|
|
357
|
+
}>;
|
|
358
|
+
/**
|
|
359
|
+
* Creates a new conversation for a particular SR.
|
|
360
|
+
*
|
|
361
|
+
* This endpoint will create a ModmailConversation object
|
|
362
|
+
* as well as the first ModmailMessage within the ModmailConversation object.
|
|
363
|
+
*
|
|
364
|
+
* @note
|
|
365
|
+
* Note on {param.to}:
|
|
366
|
+
* The to field for this endpoint is somewhat confusing. It can be:
|
|
367
|
+
* - A User, passed like "username" or "u/username"
|
|
368
|
+
* - A Subreddit, passed like "r/subreddit"
|
|
369
|
+
* - null, meaning an internal moderator discussion
|
|
370
|
+
*
|
|
371
|
+
* In this way to is a bit of a misnomer in modmail conversations.
|
|
372
|
+
* What it really means is the participant of the conversation who is not a mod of the subreddit.
|
|
373
|
+
*
|
|
374
|
+
* If you plan to send a message to the app-account or a moderator of the subreddit, use {@link ModMailService.createModDiscussionConversation}, {@link ModMailService.createModInboxConversation}, or {@link ModMailService.createModNotification} instead.
|
|
375
|
+
* Otherwise, messages sent to the app-account or moderator will automatically be routed to Mod Discussions.
|
|
376
|
+
* @param params.body markdown text
|
|
377
|
+
* @param params.isAuthorHidden is author hidden? (default: false)
|
|
378
|
+
* @param params.subredditName subreddit name
|
|
379
|
+
* @param params.subject subject of the conversation. max 100 characters
|
|
380
|
+
* @param params.to a user (e.g. u/username), a subreddit (e.g. r/subreddit) or null
|
|
381
|
+
*
|
|
382
|
+
* @example
|
|
383
|
+
* ```ts
|
|
384
|
+
* const { conversation, messages, modActions } = await reddit.modMail.createConversation({
|
|
385
|
+
* subredditName: 'askReddit',
|
|
386
|
+
* subject: 'Test conversation',
|
|
387
|
+
* body: 'Lorem ipsum sit amet',
|
|
388
|
+
* to: null,
|
|
389
|
+
* });
|
|
390
|
+
* ```
|
|
391
|
+
*/
|
|
392
|
+
createConversation(params: {
|
|
393
|
+
body: string;
|
|
394
|
+
isAuthorHidden?: boolean;
|
|
395
|
+
subredditName: string;
|
|
396
|
+
subject: string;
|
|
397
|
+
to?: string | null;
|
|
398
|
+
}): Promise<ConversationResponse & WithUserData>;
|
|
399
|
+
/**
|
|
400
|
+
* Creates a conversation in Mod Discussions with the moderators of the given subredditId.
|
|
401
|
+
*
|
|
402
|
+
* Note: The app must be installed in the subreddit in order to create a conversation in Mod Discussions.
|
|
403
|
+
*
|
|
404
|
+
* @param params.subject - The subject of the message.
|
|
405
|
+
* @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
|
|
406
|
+
* @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
|
|
407
|
+
* @returns A Promise that resolves a string representing the conversationId of the message.
|
|
408
|
+
* @example
|
|
409
|
+
* ```ts
|
|
410
|
+
* const conversationId = await reddit.modMail.createModDiscussionConversation({
|
|
411
|
+
* subject: 'Test conversation',
|
|
412
|
+
* bodyMarkdown: '**Hello there** \n\n _Have a great day!_',
|
|
413
|
+
* subredditId: context.subredditId
|
|
414
|
+
* });
|
|
415
|
+
* ```
|
|
416
|
+
*/
|
|
417
|
+
createModDiscussionConversation(params: {
|
|
418
|
+
subject: string;
|
|
419
|
+
bodyMarkdown: string;
|
|
420
|
+
subredditId: string;
|
|
421
|
+
}): Promise<string>;
|
|
422
|
+
/**
|
|
423
|
+
* Creates a conversation in the Modmail Inbox with the moderators of the given subredditId.
|
|
424
|
+
*
|
|
425
|
+
* @param params.subject - The subject of the message.
|
|
426
|
+
* @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
|
|
427
|
+
* @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
|
|
428
|
+
* @returns A Promise that resolves a string representing the conversationId of the message.
|
|
429
|
+
* @example
|
|
430
|
+
* ```ts
|
|
431
|
+
* const conversationId = await reddit.modMail.createModInboxConversation({
|
|
432
|
+
* subject: 'Test conversation',
|
|
433
|
+
* bodyMarkdown: '**Hello there** \n\n _Have a great day!_',
|
|
434
|
+
* subredditId: context.subredditId
|
|
435
|
+
* });
|
|
436
|
+
* ```
|
|
437
|
+
*/
|
|
438
|
+
createModInboxConversation(params: {
|
|
439
|
+
subject: string;
|
|
440
|
+
bodyMarkdown: string;
|
|
441
|
+
subredditId: string;
|
|
442
|
+
}): Promise<string>;
|
|
443
|
+
/**
|
|
444
|
+
* Creates a notification in the Modmail Inbox.
|
|
445
|
+
* This function is different from {@link ModMailService.createModInboxConversation} in that the conversation also appears in the "Notifications" section of Modmail.
|
|
446
|
+
*
|
|
447
|
+
* @param params.subject - The subject of the message.
|
|
448
|
+
* @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
|
|
449
|
+
* @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
|
|
450
|
+
* @returns A Promise that resolves a string representing the conversationId of the message.
|
|
451
|
+
* @example
|
|
452
|
+
* ```ts
|
|
453
|
+
* const conversationId = await reddit.modMail.createModNotification({
|
|
454
|
+
* subject: 'Test notification',
|
|
455
|
+
* bodyMarkdown: '**Hello there** \n\n _This is a notification!_',
|
|
456
|
+
* subredditId: context.subredditId
|
|
457
|
+
* });
|
|
458
|
+
* ```
|
|
459
|
+
*/
|
|
460
|
+
createModNotification(params: {
|
|
461
|
+
subject: string;
|
|
462
|
+
bodyMarkdown: string;
|
|
463
|
+
subredditId: string;
|
|
464
|
+
}): Promise<string>;
|
|
465
|
+
/**
|
|
466
|
+
* Creates a new message for a particular conversation.
|
|
467
|
+
*
|
|
468
|
+
* @param params.conversationId Id of a modmail conversation
|
|
469
|
+
* @param params.body markdown text
|
|
470
|
+
* @param params.isInternal is internal message? (default: false)
|
|
471
|
+
* @param params.isAuthorHidden is author hidden? (default: false)
|
|
472
|
+
*
|
|
473
|
+
* @example
|
|
474
|
+
* ```ts
|
|
475
|
+
* await reddit.modMail.reply({
|
|
476
|
+
* body: 'Lorem ipsum sit amet',
|
|
477
|
+
* conversationId: 'abcdef',
|
|
478
|
+
* });
|
|
479
|
+
* ```
|
|
480
|
+
*/
|
|
481
|
+
reply(params: {
|
|
482
|
+
body: string;
|
|
483
|
+
isAuthorHidden?: boolean;
|
|
484
|
+
isInternal?: boolean;
|
|
485
|
+
conversationId: string;
|
|
486
|
+
}): Promise<ConversationResponse & WithUserData>;
|
|
487
|
+
/**
|
|
488
|
+
* Marks a conversation as highlighted.
|
|
489
|
+
*
|
|
490
|
+
* @param conversationId Id of a modmail conversation
|
|
491
|
+
*
|
|
492
|
+
* @example
|
|
493
|
+
* ```ts
|
|
494
|
+
* await reddit.modMail.highlightConversation('abcdef');
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
highlightConversation(conversationId: string): Promise<ConversationResponse>;
|
|
498
|
+
/**
|
|
499
|
+
* Removes a highlight from a conversation.
|
|
500
|
+
*
|
|
501
|
+
* @param conversationId Id of a modmail conversation
|
|
502
|
+
*
|
|
503
|
+
* @example
|
|
504
|
+
* ```ts
|
|
505
|
+
* await reddit.modMail.unhighlightConversation('abcdef');
|
|
506
|
+
* ```
|
|
507
|
+
*/
|
|
508
|
+
unhighlightConversation(conversationId: string): Promise<ConversationResponse>;
|
|
509
|
+
/**
|
|
510
|
+
* Marks a conversation as archived
|
|
511
|
+
*
|
|
512
|
+
* @param conversationId Id of a modmail conversation
|
|
513
|
+
*
|
|
514
|
+
* @example
|
|
515
|
+
* ```ts
|
|
516
|
+
* await reddit.modMail.archive('abcdef');
|
|
517
|
+
* ```
|
|
518
|
+
*/
|
|
519
|
+
archiveConversation(conversationId: string): Promise<ConversationResponse>;
|
|
520
|
+
/**
|
|
521
|
+
* Marks conversation as unarchived.
|
|
522
|
+
*
|
|
523
|
+
* @param conversationId Id of a modmail conversation
|
|
524
|
+
*
|
|
525
|
+
* @example
|
|
526
|
+
* ```ts
|
|
527
|
+
* await reddit.modMail.unarchiveConversation('abcdef');
|
|
528
|
+
* ```
|
|
529
|
+
*/
|
|
530
|
+
unarchiveConversation(conversationId: string): Promise<ConversationResponse>;
|
|
531
|
+
/**
|
|
532
|
+
* Marks a conversation as read for the user.
|
|
533
|
+
*
|
|
534
|
+
* @param params.conversationId Id of a modmail conversation
|
|
535
|
+
* @param params.numHours For how many hours the conversation needs to be muted. Must be one of 72, 168, or 672 hours
|
|
536
|
+
*
|
|
537
|
+
* @example
|
|
538
|
+
* ```ts
|
|
539
|
+
* await reddit.modMail.muteConversation({ conversationId: 'abcdef', numHours: 72 });
|
|
540
|
+
* ```
|
|
541
|
+
*/
|
|
542
|
+
muteConversation(params: {
|
|
543
|
+
conversationId: string;
|
|
544
|
+
numHours: 72 | 168 | 672;
|
|
545
|
+
}): Promise<ConversationResponse & WithUserData>;
|
|
546
|
+
/**
|
|
547
|
+
* Unmutes the non mod user associated with a particular conversation.
|
|
548
|
+
*
|
|
549
|
+
* @param conversationId Id of a modmail conversation
|
|
550
|
+
*
|
|
551
|
+
* @example
|
|
552
|
+
* ```ts
|
|
553
|
+
* await reddit.modMail.unmuteConversation('abcdef');
|
|
554
|
+
* ```
|
|
555
|
+
*/
|
|
556
|
+
unmuteConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
|
|
557
|
+
/**
|
|
558
|
+
* Marks a conversations as read for the user.
|
|
559
|
+
*
|
|
560
|
+
* @param conversationIds An array of ids
|
|
561
|
+
*
|
|
562
|
+
* @example
|
|
563
|
+
* ```ts
|
|
564
|
+
* await reddit.modMail.readConversations(['abcdef', 'qwerty']);
|
|
565
|
+
* ```
|
|
566
|
+
*/
|
|
567
|
+
readConversations(conversationIds: string[]): Promise<void>;
|
|
568
|
+
/**
|
|
569
|
+
* Marks conversations as unread for the user.
|
|
570
|
+
*
|
|
571
|
+
* @param conversationIds An array of ids
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```ts
|
|
575
|
+
* await reddit.modMail.unreadConversations(['abcdef', 'qwerty']);
|
|
576
|
+
* ```
|
|
577
|
+
*/
|
|
578
|
+
unreadConversations(conversationIds: string[]): Promise<void>;
|
|
579
|
+
/**
|
|
580
|
+
* Approve the non mod user associated with a particular conversation.
|
|
581
|
+
*
|
|
582
|
+
* @param conversationId Id of a modmail conversation
|
|
583
|
+
*
|
|
584
|
+
* @example
|
|
585
|
+
* ```ts
|
|
586
|
+
* await reddit.modMail.approveConversation('abcdef');
|
|
587
|
+
* ```
|
|
588
|
+
*/
|
|
589
|
+
approveConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
|
|
590
|
+
/**
|
|
591
|
+
* Disapprove the non mod user associated with a particular conversation.
|
|
592
|
+
*
|
|
593
|
+
* @param conversationId Id of a modmail conversation
|
|
594
|
+
*
|
|
595
|
+
* @example
|
|
596
|
+
* ```ts
|
|
597
|
+
* await reddit.modMail.disapproveConversation('abcdef');
|
|
598
|
+
* ```
|
|
599
|
+
*/
|
|
600
|
+
disapproveConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
|
|
601
|
+
/**
|
|
602
|
+
* Temporary ban (switch from permanent to temporary ban) the non mod user associated with a particular conversation.
|
|
603
|
+
*
|
|
604
|
+
* @param params.conversationId a modmail conversation id
|
|
605
|
+
* @param params.duration duration in days, max 999
|
|
606
|
+
*
|
|
607
|
+
* @example
|
|
608
|
+
* ```ts
|
|
609
|
+
* await reddit.modMail.tempBanConversation({ conversationId: 'abcdef', duration: 42 });
|
|
610
|
+
* ```
|
|
611
|
+
*/
|
|
612
|
+
tempBanConversation(params: {
|
|
613
|
+
conversationId: string;
|
|
614
|
+
duration: number;
|
|
615
|
+
}): Promise<ConversationResponse & WithUserData>;
|
|
616
|
+
/**
|
|
617
|
+
* Unban the non mod user associated with a particular conversation.
|
|
618
|
+
*
|
|
619
|
+
* @param conversationId a modmail conversation id
|
|
620
|
+
*
|
|
621
|
+
* @example
|
|
622
|
+
* ```ts
|
|
623
|
+
* await reddit.modMail.unbanConversation('abcdef');
|
|
624
|
+
* ```
|
|
625
|
+
*/
|
|
626
|
+
unbanConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
|
|
627
|
+
/**
|
|
628
|
+
* Endpoint to retrieve the unread conversation count by conversation state.
|
|
629
|
+
*
|
|
630
|
+
* @example
|
|
631
|
+
* ```ts
|
|
632
|
+
* const response = await reddit.modMail.getUnreadCount();
|
|
633
|
+
*
|
|
634
|
+
* console.log(response.highlighted);
|
|
635
|
+
* console.log(response.new);
|
|
636
|
+
* ```
|
|
637
|
+
*/
|
|
638
|
+
getUnreadCount(): Promise<UnreadCountResponse>;
|
|
639
|
+
/**
|
|
640
|
+
* Returns recent posts, comments and modmail conversations for a given user.
|
|
641
|
+
*
|
|
642
|
+
* @param conversationId Id of a modmail conversation
|
|
643
|
+
*
|
|
644
|
+
* @example
|
|
645
|
+
* ```ts
|
|
646
|
+
* const data = await reddit.modMail.getUserConversations('abcdef');
|
|
647
|
+
*
|
|
648
|
+
* console.log(data.recentComments);
|
|
649
|
+
* console.log(data.recentPosts);
|
|
650
|
+
* ```
|
|
651
|
+
*/
|
|
652
|
+
getUserConversations(conversationId: string): Promise<ConversationUserData>;
|
|
653
|
+
}
|
|
654
|
+
export {};
|
|
655
|
+
//# sourceMappingURL=ModMail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModMail.d.ts","sourceRoot":"","sources":["../../src/models/ModMail.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAC/B,KAAK,GACL,KAAK,GACL,YAAY,GACZ,UAAU,GACV,SAAS,GACT,eAAe,GACf,aAAa,GACb,KAAK,GACL,eAAe,GACf,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sBAAsB;IACtB,cAAc,EAAE;QACd,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,mBAAmB;IACnB,WAAW,EAAE;QACX,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,2BAA2B;IAC3B,YAAY,EAAE;QACZ,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YACxB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EACP;QACE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACD,SAAS,CAAC;IACd,SAAS,CAAC,EACN;QACE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACD,SAAS,CAAC;IACd,aAAa,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IACjE,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,oBAAY,wBAAwB;IAClC,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;CACtB;AAWD;;;;GAIG;AACH,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAkBD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sBAAsB;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EACN;QACE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACzB,GACD,SAAS,CAAC;IACd;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,iDAAiD;IACjD,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,+DAA+D;IAC/D,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gCAAgC;IAChC,KAAK,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IACxC;;;;;;;;OAQG;IACH,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,gBAAgB;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,yBAAyB;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oBAAoB;IACpB,MAAM,CAAC,EACH;QACE,eAAe;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,gBAAgB;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC,GACD,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC5C,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACzD,GAAG,YAAY,CAAC;AAEjB,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,aAAa,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAc;;IACzB,QAAQ,CAAC,yBAAyB,oBAAoB;IAEtD;;OAEG;;IAGH;;;;;;;;;;;;;;;OAeG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;IAcpB;;;;;;;;;;;;;;;;;;OAkBG;IACG,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA+B1F;;;;;;;;;;OAUG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,gCAAgC;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmBpC;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAQhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAwBhD;;;;;;;;;;;;;;;;;OAiBG;IACG,+BAA+B,CAAC,MAAM,EAAE;QAC5C,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnB;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,MAAM,EAAE;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnB;;;;;;;;;;;;;;;;OAgBG;IACG,qBAAqB,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBnB;;;;;;;;;;;;;;;OAeG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAuBhD;;;;;;;;;OASG;IACG,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBlF;;;;;;;;;OASG;IACG,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBpF;;;;;;;;;OASG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBhF;;;;;;;;;OASG;IACG,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBlF;;;;;;;;;;OAUG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;KAC1B,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAqBhD;;;;;;;;;OASG;IACG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAoB9F;;;;;;;;;OASG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;;;;;;;;OASG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE;;;;;;;;;OASG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAoB/F;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAoB/C;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAoBhD;;;;;;;;;OASG;IACG,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAoB7F;;;;;;;;;;OAUG;IACG,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMpD;;;;;;;;;;;;OAYG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAmElF"}
|