@opentabs-dev/opentabs-plugin-reddit 0.0.74

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 (72) hide show
  1. package/dist/adapter.iife.js +15177 -0
  2. package/dist/adapter.iife.js.map +7 -0
  3. package/dist/index.d.ts +20 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +54 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/reddit-api.d.ts +59 -0
  8. package/dist/reddit-api.d.ts.map +1 -0
  9. package/dist/reddit-api.js +254 -0
  10. package/dist/reddit-api.js.map +1 -0
  11. package/dist/tools/get-me.d.ts +13 -0
  12. package/dist/tools/get-me.d.ts.map +1 -0
  13. package/dist/tools/get-me.js +39 -0
  14. package/dist/tools/get-me.js.map +1 -0
  15. package/dist/tools/get-post.d.ts +43 -0
  16. package/dist/tools/get-post.d.ts.map +1 -0
  17. package/dist/tools/get-post.js +115 -0
  18. package/dist/tools/get-post.js.map +1 -0
  19. package/dist/tools/get-subreddit.d.ts +16 -0
  20. package/dist/tools/get-subreddit.d.ts.map +1 -0
  21. package/dist/tools/get-subreddit.js +43 -0
  22. package/dist/tools/get-subreddit.js.map +1 -0
  23. package/dist/tools/get-user.d.ts +15 -0
  24. package/dist/tools/get-user.d.ts.map +1 -0
  25. package/dist/tools/get-user.js +41 -0
  26. package/dist/tools/get-user.js.map +1 -0
  27. package/dist/tools/list-posts.d.ts +40 -0
  28. package/dist/tools/list-posts.d.ts.map +1 -0
  29. package/dist/tools/list-posts.js +79 -0
  30. package/dist/tools/list-posts.js.map +1 -0
  31. package/dist/tools/list-subscriptions.d.ts +15 -0
  32. package/dist/tools/list-subscriptions.d.ts.map +1 -0
  33. package/dist/tools/list-subscriptions.js +46 -0
  34. package/dist/tools/list-subscriptions.js.map +1 -0
  35. package/dist/tools/read-inbox.d.ts +19 -0
  36. package/dist/tools/read-inbox.d.ts.map +1 -0
  37. package/dist/tools/read-inbox.js +54 -0
  38. package/dist/tools/read-inbox.js.map +1 -0
  39. package/dist/tools/save.d.ts +8 -0
  40. package/dist/tools/save.d.ts.map +1 -0
  41. package/dist/tools/save.js +24 -0
  42. package/dist/tools/save.js.map +1 -0
  43. package/dist/tools/search-posts.d.ts +39 -0
  44. package/dist/tools/search-posts.d.ts.map +1 -0
  45. package/dist/tools/search-posts.js +77 -0
  46. package/dist/tools/search-posts.js.map +1 -0
  47. package/dist/tools/search-subreddits.d.ts +18 -0
  48. package/dist/tools/search-subreddits.d.ts.map +1 -0
  49. package/dist/tools/search-subreddits.js +52 -0
  50. package/dist/tools/search-subreddits.js.map +1 -0
  51. package/dist/tools/send-message.d.ts +9 -0
  52. package/dist/tools/send-message.d.ts.map +1 -0
  53. package/dist/tools/send-message.js +32 -0
  54. package/dist/tools/send-message.js.map +1 -0
  55. package/dist/tools/submit-comment.d.ts +10 -0
  56. package/dist/tools/submit-comment.d.ts.map +1 -0
  57. package/dist/tools/submit-comment.js +43 -0
  58. package/dist/tools/submit-comment.js.map +1 -0
  59. package/dist/tools/submit-post.d.ts +20 -0
  60. package/dist/tools/submit-post.d.ts.map +1 -0
  61. package/dist/tools/submit-post.js +61 -0
  62. package/dist/tools/submit-post.js.map +1 -0
  63. package/dist/tools/subscribe.d.ts +11 -0
  64. package/dist/tools/subscribe.d.ts.map +1 -0
  65. package/dist/tools/subscribe.js +26 -0
  66. package/dist/tools/subscribe.js.map +1 -0
  67. package/dist/tools/vote.d.ts +8 -0
  68. package/dist/tools/vote.d.ts.map +1 -0
  69. package/dist/tools/vote.js +29 -0
  70. package/dist/tools/vote.js.map +1 -0
  71. package/dist/tools.json +1326 -0
  72. package/package.json +57 -0
@@ -0,0 +1,1326 @@
1
+ {
2
+ "sdkVersion": "0.0.74",
3
+ "iconSvg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 171 171\"><g transform=\"translate(-85.4 -85.4)\"><circle r=\"85.5\" cy=\"170.9\" cx=\"170.9\" fill=\"#ff4500\"/><path d=\"M227.9 170.9c0-6.9-5.6-12.5-12.5-12.5-3.4 0-6.4 1.3-8.6 3.5-8.5-6.1-20.3-10.1-33.3-10.6l5.7-26.7 18.5 3.9c.2 4.7 4.1 8.5 8.9 8.5 4.9 0 8.9-4 8.9-8.9s-4-8.9-8.9-8.9c-3.5 0-6.5 2-7.9 5l-20.7-4.4c-.6-.1-1.2 0-1.7.3s-.8.8-1 1.4l-6.3 29.8c-13.3.4-25.2 4.3-33.8 10.6-2.2-2.1-5.3-3.5-8.6-3.5-6.9 0-12.5 5.6-12.5 12.5 0 5.1 3 9.4 7.4 11.4-.2 1.2-.3 2.5-.3 3.8 0 19.2 22.3 34.7 49.9 34.7 27.6 0 49.9-15.5 49.9-34.7 0-1.3-.1-2.5-.3-3.7 4.1-2 7.2-6.4 7.2-11.5zm-85.5 8.9c0-4.9 4-8.9 8.9-8.9s8.9 4 8.9 8.9-4 8.9-8.9 8.9-8.9-4-8.9-8.9zm49.7 23.5c-6.1 6.1-17.7 6.5-21.1 6.5-3.4 0-15.1-.5-21.1-6.5-.9-.9-.9-2.4 0-3.3.9-.9 2.4-.9 3.3 0 3.8 3.8 12 5.2 17.9 5.2 5.9 0 14-1.4 17.9-5.2.9-.9 2.4-.9 3.3 0 .7 1 .7 2.4-.2 3.3zm-1.6-14.6c-4.9 0-8.9-4-8.9-8.9s4-8.9 8.9-8.9 8.9 4 8.9 8.9-4 8.9-8.9 8.9z\" fill=\"#fff\"/></g></svg>",
4
+ "iconInactiveSvg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 171 171\"><g transform=\"translate(-85.4 -85.4)\"><circle r=\"85.5\" cy=\"170.9\" cx=\"170.9\" fill=\"#999999\"/><path d=\"M227.9 170.9c0-6.9-5.6-12.5-12.5-12.5-3.4 0-6.4 1.3-8.6 3.5-8.5-6.1-20.3-10.1-33.3-10.6l5.7-26.7 18.5 3.9c.2 4.7 4.1 8.5 8.9 8.5 4.9 0 8.9-4 8.9-8.9s-4-8.9-8.9-8.9c-3.5 0-6.5 2-7.9 5l-20.7-4.4c-.6-.1-1.2 0-1.7.3s-.8.8-1 1.4l-6.3 29.8c-13.3.4-25.2 4.3-33.8 10.6-2.2-2.1-5.3-3.5-8.6-3.5-6.9 0-12.5 5.6-12.5 12.5 0 5.1 3 9.4 7.4 11.4-.2 1.2-.3 2.5-.3 3.8 0 19.2 22.3 34.7 49.9 34.7 27.6 0 49.9-15.5 49.9-34.7 0-1.3-.1-2.5-.3-3.7 4.1-2 7.2-6.4 7.2-11.5zm-85.5 8.9c0-4.9 4-8.9 8.9-8.9s8.9 4 8.9 8.9-4 8.9-8.9 8.9-8.9-4-8.9-8.9zm49.7 23.5c-6.1 6.1-17.7 6.5-21.1 6.5-3.4 0-15.1-.5-21.1-6.5-.9-.9-.9-2.4 0-3.3.9-.9 2.4-.9 3.3 0 3.8 3.8 12 5.2 17.9 5.2 5.9 0 14-1.4 17.9-5.2.9-.9 2.4-.9 3.3 0 .7 1 .7 2.4-.2 3.3zm-1.6-14.6c-4.9 0-8.9-4-8.9-8.9s4-8.9 8.9-8.9 8.9 4 8.9 8.9-4 8.9-8.9 8.9z\" fill=\"#ffffff\"/></g></svg>",
5
+ "iconDarkSvg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 171 171\"><g transform=\"translate(-85.4 -85.4)\"><circle r=\"85.5\" cy=\"170.9\" cx=\"170.9\" fill=\"#ff4500\"/><path d=\"M227.9 170.9c0-6.9-5.6-12.5-12.5-12.5-3.4 0-6.4 1.3-8.6 3.5-8.5-6.1-20.3-10.1-33.3-10.6l5.7-26.7 18.5 3.9c.2 4.7 4.1 8.5 8.9 8.5 4.9 0 8.9-4 8.9-8.9s-4-8.9-8.9-8.9c-3.5 0-6.5 2-7.9 5l-20.7-4.4c-.6-.1-1.2 0-1.7.3s-.8.8-1 1.4l-6.3 29.8c-13.3.4-25.2 4.3-33.8 10.6-2.2-2.1-5.3-3.5-8.6-3.5-6.9 0-12.5 5.6-12.5 12.5 0 5.1 3 9.4 7.4 11.4-.2 1.2-.3 2.5-.3 3.8 0 19.2 22.3 34.7 49.9 34.7 27.6 0 49.9-15.5 49.9-34.7 0-1.3-.1-2.5-.3-3.7 4.1-2 7.2-6.4 7.2-11.5zm-85.5 8.9c0-4.9 4-8.9 8.9-8.9s8.9 4 8.9 8.9-4 8.9-8.9 8.9-8.9-4-8.9-8.9zm49.7 23.5c-6.1 6.1-17.7 6.5-21.1 6.5-3.4 0-15.1-.5-21.1-6.5-.9-.9-.9-2.4 0-3.3.9-.9 2.4-.9 3.3 0 3.8 3.8 12 5.2 17.9 5.2 5.9 0 14-1.4 17.9-5.2.9-.9 2.4-.9 3.3 0 .7 1 .7 2.4-.2 3.3zm-1.6-14.6c-4.9 0-8.9-4-8.9-8.9s4-8.9 8.9-8.9 8.9 4 8.9 8.9-4 8.9-8.9 8.9z\" fill=\"#fff\"/></g></svg>",
6
+ "iconDarkInactiveSvg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 171 171\"><g transform=\"translate(-85.4 -85.4)\"><circle r=\"85.5\" cy=\"170.9\" cx=\"170.9\" fill=\"#999999\"/><path d=\"M227.9 170.9c0-6.9-5.6-12.5-12.5-12.5-3.4 0-6.4 1.3-8.6 3.5-8.5-6.1-20.3-10.1-33.3-10.6l5.7-26.7 18.5 3.9c.2 4.7 4.1 8.5 8.9 8.5 4.9 0 8.9-4 8.9-8.9s-4-8.9-8.9-8.9c-3.5 0-6.5 2-7.9 5l-20.7-4.4c-.6-.1-1.2 0-1.7.3s-.8.8-1 1.4l-6.3 29.8c-13.3.4-25.2 4.3-33.8 10.6-2.2-2.1-5.3-3.5-8.6-3.5-6.9 0-12.5 5.6-12.5 12.5 0 5.1 3 9.4 7.4 11.4-.2 1.2-.3 2.5-.3 3.8 0 19.2 22.3 34.7 49.9 34.7 27.6 0 49.9-15.5 49.9-34.7 0-1.3-.1-2.5-.3-3.7 4.1-2 7.2-6.4 7.2-11.5zm-85.5 8.9c0-4.9 4-8.9 8.9-8.9s8.9 4 8.9 8.9-4 8.9-8.9 8.9-8.9-4-8.9-8.9zm49.7 23.5c-6.1 6.1-17.7 6.5-21.1 6.5-3.4 0-15.1-.5-21.1-6.5-.9-.9-.9-2.4 0-3.3.9-.9 2.4-.9 3.3 0 3.8 3.8 12 5.2 17.9 5.2 5.9 0 14-1.4 17.9-5.2.9-.9 2.4-.9 3.3 0 .7 1 .7 2.4-.2 3.3zm-1.6-14.6c-4.9 0-8.9-4-8.9-8.9s4-8.9 8.9-8.9 8.9 4 8.9 8.9-4 8.9-8.9 8.9z\" fill=\"#ffffff\"/></g></svg>",
7
+ "tools": [
8
+ {
9
+ "name": "get_me",
10
+ "displayName": "Get My Profile",
11
+ "description": "Get the authenticated user's Reddit profile including username, karma, and account details",
12
+ "summary": "Get the current user profile",
13
+ "icon": "user",
14
+ "group": "User",
15
+ "input_schema": {
16
+ "type": "object",
17
+ "properties": {},
18
+ "additionalProperties": false
19
+ },
20
+ "output_schema": {
21
+ "type": "object",
22
+ "properties": {
23
+ "name": {
24
+ "type": "string",
25
+ "description": "Reddit username"
26
+ },
27
+ "id": {
28
+ "type": "string",
29
+ "description": "User ID"
30
+ },
31
+ "total_karma": {
32
+ "type": "number",
33
+ "description": "Total karma (link + comment)"
34
+ },
35
+ "link_karma": {
36
+ "type": "number",
37
+ "description": "Post/link karma"
38
+ },
39
+ "comment_karma": {
40
+ "type": "number",
41
+ "description": "Comment karma"
42
+ },
43
+ "has_verified_email": {
44
+ "type": "boolean",
45
+ "description": "Whether the user has verified their email"
46
+ },
47
+ "is_gold": {
48
+ "type": "boolean",
49
+ "description": "Whether the user has Reddit Premium"
50
+ },
51
+ "is_mod": {
52
+ "type": "boolean",
53
+ "description": "Whether the user is a moderator of any subreddit"
54
+ },
55
+ "created_utc": {
56
+ "type": "number",
57
+ "description": "Account creation time as Unix timestamp"
58
+ }
59
+ },
60
+ "required": [
61
+ "name",
62
+ "id",
63
+ "total_karma",
64
+ "link_karma",
65
+ "comment_karma",
66
+ "has_verified_email",
67
+ "is_gold",
68
+ "is_mod",
69
+ "created_utc"
70
+ ],
71
+ "additionalProperties": false
72
+ }
73
+ },
74
+ {
75
+ "name": "list_posts",
76
+ "displayName": "List Posts",
77
+ "description": "List posts from a subreddit or the front page. Supports sorting by hot, new, top, rising, and controversial. Use the \"after\" cursor for pagination.",
78
+ "summary": "List posts from a subreddit",
79
+ "icon": "list",
80
+ "group": "Posts",
81
+ "input_schema": {
82
+ "type": "object",
83
+ "properties": {
84
+ "subreddit": {
85
+ "description": "Subreddit name without r/ prefix. Omit to get the front page / home feed.",
86
+ "type": "string"
87
+ },
88
+ "sort": {
89
+ "description": "Sort order (default \"hot\")",
90
+ "type": "string",
91
+ "enum": [
92
+ "hot",
93
+ "new",
94
+ "top",
95
+ "rising",
96
+ "controversial"
97
+ ]
98
+ },
99
+ "t": {
100
+ "description": "Time period for \"top\" and \"controversial\" sort (default \"day\")",
101
+ "type": "string",
102
+ "enum": [
103
+ "hour",
104
+ "day",
105
+ "week",
106
+ "month",
107
+ "year",
108
+ "all"
109
+ ]
110
+ },
111
+ "limit": {
112
+ "description": "Number of posts to return (default 25, max 100)",
113
+ "type": "integer",
114
+ "minimum": 1,
115
+ "maximum": 100
116
+ },
117
+ "after": {
118
+ "description": "Pagination cursor — fullname of the last item (e.g., \"t3_abc123\")",
119
+ "type": "string"
120
+ }
121
+ },
122
+ "additionalProperties": false
123
+ },
124
+ "output_schema": {
125
+ "type": "object",
126
+ "properties": {
127
+ "posts": {
128
+ "type": "array",
129
+ "items": {
130
+ "type": "object",
131
+ "properties": {
132
+ "id": {
133
+ "type": "string",
134
+ "description": "Post ID (without t3_ prefix)"
135
+ },
136
+ "name": {
137
+ "type": "string",
138
+ "description": "Post fullname (e.g., \"t3_abc123\")"
139
+ },
140
+ "title": {
141
+ "type": "string",
142
+ "description": "Post title"
143
+ },
144
+ "author": {
145
+ "type": "string",
146
+ "description": "Author username"
147
+ },
148
+ "subreddit": {
149
+ "type": "string",
150
+ "description": "Subreddit name"
151
+ },
152
+ "score": {
153
+ "type": "number",
154
+ "description": "Net score (upvotes minus downvotes)"
155
+ },
156
+ "upvote_ratio": {
157
+ "type": "number",
158
+ "description": "Ratio of upvotes to total votes (0.0 to 1.0)"
159
+ },
160
+ "num_comments": {
161
+ "type": "number",
162
+ "description": "Number of comments"
163
+ },
164
+ "url": {
165
+ "type": "string",
166
+ "description": "URL the post links to (or the post URL for self posts)"
167
+ },
168
+ "permalink": {
169
+ "type": "string",
170
+ "description": "Permalink path to the post on Reddit"
171
+ },
172
+ "selftext": {
173
+ "type": "string",
174
+ "description": "Self post body text (empty for link posts)"
175
+ },
176
+ "is_self": {
177
+ "type": "boolean",
178
+ "description": "Whether this is a self/text post"
179
+ },
180
+ "created_utc": {
181
+ "type": "number",
182
+ "description": "Post creation time as Unix timestamp"
183
+ },
184
+ "link_flair_text": {
185
+ "anyOf": [
186
+ {
187
+ "type": "string"
188
+ },
189
+ {
190
+ "type": "null"
191
+ }
192
+ ],
193
+ "description": "Link flair text if set"
194
+ }
195
+ },
196
+ "required": [
197
+ "id",
198
+ "name",
199
+ "title",
200
+ "author",
201
+ "subreddit",
202
+ "score",
203
+ "upvote_ratio",
204
+ "num_comments",
205
+ "url",
206
+ "permalink",
207
+ "selftext",
208
+ "is_self",
209
+ "created_utc",
210
+ "link_flair_text"
211
+ ],
212
+ "additionalProperties": false
213
+ },
214
+ "description": "Array of posts"
215
+ },
216
+ "after": {
217
+ "anyOf": [
218
+ {
219
+ "type": "string"
220
+ },
221
+ {
222
+ "type": "null"
223
+ }
224
+ ],
225
+ "description": "Pagination cursor for the next page, or null if no more results"
226
+ }
227
+ },
228
+ "required": [
229
+ "posts",
230
+ "after"
231
+ ],
232
+ "additionalProperties": false
233
+ }
234
+ },
235
+ {
236
+ "name": "get_post",
237
+ "displayName": "Get Post",
238
+ "description": "Get a Reddit post and its comments by subreddit and post ID. Returns the post details and a flattened comment tree.",
239
+ "summary": "Get a post and its comments",
240
+ "icon": "file-text",
241
+ "group": "Posts",
242
+ "input_schema": {
243
+ "type": "object",
244
+ "properties": {
245
+ "subreddit": {
246
+ "type": "string",
247
+ "minLength": 1,
248
+ "description": "Subreddit name without r/ prefix"
249
+ },
250
+ "post_id": {
251
+ "type": "string",
252
+ "minLength": 1,
253
+ "description": "Post ID without t3_ prefix (e.g., \"1ki00n1\")"
254
+ },
255
+ "comment_limit": {
256
+ "description": "Max number of top-level comments (default 50)",
257
+ "type": "integer",
258
+ "minimum": 0,
259
+ "maximum": 500
260
+ },
261
+ "comment_depth": {
262
+ "description": "Max comment nesting depth (default 3)",
263
+ "type": "integer",
264
+ "minimum": 0,
265
+ "maximum": 10
266
+ },
267
+ "sort": {
268
+ "description": "Comment sort order (default \"confidence\")",
269
+ "type": "string",
270
+ "enum": [
271
+ "confidence",
272
+ "top",
273
+ "new",
274
+ "controversial",
275
+ "old",
276
+ "qa"
277
+ ]
278
+ }
279
+ },
280
+ "required": [
281
+ "subreddit",
282
+ "post_id"
283
+ ],
284
+ "additionalProperties": false
285
+ },
286
+ "output_schema": {
287
+ "type": "object",
288
+ "properties": {
289
+ "post": {
290
+ "type": "object",
291
+ "properties": {
292
+ "id": {
293
+ "type": "string",
294
+ "description": "Post ID"
295
+ },
296
+ "name": {
297
+ "type": "string",
298
+ "description": "Post fullname (e.g., \"t3_abc123\")"
299
+ },
300
+ "title": {
301
+ "type": "string",
302
+ "description": "Post title"
303
+ },
304
+ "author": {
305
+ "type": "string",
306
+ "description": "Author username"
307
+ },
308
+ "subreddit": {
309
+ "type": "string",
310
+ "description": "Subreddit name"
311
+ },
312
+ "score": {
313
+ "type": "number",
314
+ "description": "Post score"
315
+ },
316
+ "upvote_ratio": {
317
+ "type": "number",
318
+ "description": "Upvote ratio"
319
+ },
320
+ "num_comments": {
321
+ "type": "number",
322
+ "description": "Total number of comments"
323
+ },
324
+ "url": {
325
+ "type": "string",
326
+ "description": "Post URL"
327
+ },
328
+ "permalink": {
329
+ "type": "string",
330
+ "description": "Reddit permalink"
331
+ },
332
+ "selftext": {
333
+ "type": "string",
334
+ "description": "Self post body"
335
+ },
336
+ "is_self": {
337
+ "type": "boolean",
338
+ "description": "Whether this is a text post"
339
+ },
340
+ "created_utc": {
341
+ "type": "number",
342
+ "description": "Creation timestamp"
343
+ }
344
+ },
345
+ "required": [
346
+ "id",
347
+ "name",
348
+ "title",
349
+ "author",
350
+ "subreddit",
351
+ "score",
352
+ "upvote_ratio",
353
+ "num_comments",
354
+ "url",
355
+ "permalink",
356
+ "selftext",
357
+ "is_self",
358
+ "created_utc"
359
+ ],
360
+ "additionalProperties": false
361
+ },
362
+ "comments": {
363
+ "type": "array",
364
+ "items": {
365
+ "type": "object",
366
+ "properties": {
367
+ "id": {
368
+ "type": "string",
369
+ "description": "Comment ID"
370
+ },
371
+ "name": {
372
+ "type": "string",
373
+ "description": "Comment fullname (e.g., \"t1_abc123\")"
374
+ },
375
+ "author": {
376
+ "type": "string",
377
+ "description": "Comment author username"
378
+ },
379
+ "body": {
380
+ "type": "string",
381
+ "description": "Comment body text (markdown)"
382
+ },
383
+ "score": {
384
+ "type": "number",
385
+ "description": "Comment score"
386
+ },
387
+ "created_utc": {
388
+ "type": "number",
389
+ "description": "Comment creation time as Unix timestamp"
390
+ },
391
+ "parent_id": {
392
+ "type": "string",
393
+ "description": "Parent thing fullname (t3_ for post, t1_ for parent comment)"
394
+ },
395
+ "depth": {
396
+ "type": "number",
397
+ "description": "Nesting depth (0 = top-level reply)"
398
+ },
399
+ "is_submitter": {
400
+ "type": "boolean",
401
+ "description": "Whether the commenter is the post author (OP)"
402
+ }
403
+ },
404
+ "required": [
405
+ "id",
406
+ "name",
407
+ "author",
408
+ "body",
409
+ "score",
410
+ "created_utc",
411
+ "parent_id",
412
+ "depth",
413
+ "is_submitter"
414
+ ],
415
+ "additionalProperties": false
416
+ },
417
+ "description": "Flattened array of comments with depth info"
418
+ }
419
+ },
420
+ "required": [
421
+ "post",
422
+ "comments"
423
+ ],
424
+ "additionalProperties": false
425
+ }
426
+ },
427
+ {
428
+ "name": "search_posts",
429
+ "displayName": "Search Posts",
430
+ "description": "Search for posts across Reddit or within a specific subreddit. Supports sorting and time filtering.",
431
+ "summary": "Search Reddit posts",
432
+ "icon": "search",
433
+ "group": "Posts",
434
+ "input_schema": {
435
+ "type": "object",
436
+ "properties": {
437
+ "query": {
438
+ "type": "string",
439
+ "minLength": 1,
440
+ "description": "Search query string"
441
+ },
442
+ "subreddit": {
443
+ "description": "Restrict search to this subreddit (without r/ prefix)",
444
+ "type": "string"
445
+ },
446
+ "sort": {
447
+ "description": "Sort order (default \"relevance\")",
448
+ "type": "string",
449
+ "enum": [
450
+ "relevance",
451
+ "hot",
452
+ "top",
453
+ "new",
454
+ "comments"
455
+ ]
456
+ },
457
+ "t": {
458
+ "description": "Time period filter (default \"all\")",
459
+ "type": "string",
460
+ "enum": [
461
+ "hour",
462
+ "day",
463
+ "week",
464
+ "month",
465
+ "year",
466
+ "all"
467
+ ]
468
+ },
469
+ "limit": {
470
+ "description": "Number of results (default 25, max 100)",
471
+ "type": "integer",
472
+ "minimum": 1,
473
+ "maximum": 100
474
+ },
475
+ "after": {
476
+ "description": "Pagination cursor for the next page",
477
+ "type": "string"
478
+ }
479
+ },
480
+ "required": [
481
+ "query"
482
+ ],
483
+ "additionalProperties": false
484
+ },
485
+ "output_schema": {
486
+ "type": "object",
487
+ "properties": {
488
+ "posts": {
489
+ "type": "array",
490
+ "items": {
491
+ "type": "object",
492
+ "properties": {
493
+ "id": {
494
+ "type": "string",
495
+ "description": "Post ID"
496
+ },
497
+ "name": {
498
+ "type": "string",
499
+ "description": "Post fullname"
500
+ },
501
+ "title": {
502
+ "type": "string",
503
+ "description": "Post title"
504
+ },
505
+ "author": {
506
+ "type": "string",
507
+ "description": "Author username"
508
+ },
509
+ "subreddit": {
510
+ "type": "string",
511
+ "description": "Subreddit name"
512
+ },
513
+ "score": {
514
+ "type": "number",
515
+ "description": "Post score"
516
+ },
517
+ "num_comments": {
518
+ "type": "number",
519
+ "description": "Number of comments"
520
+ },
521
+ "url": {
522
+ "type": "string",
523
+ "description": "Post URL"
524
+ },
525
+ "permalink": {
526
+ "type": "string",
527
+ "description": "Reddit permalink"
528
+ },
529
+ "selftext": {
530
+ "type": "string",
531
+ "description": "Self post body"
532
+ },
533
+ "is_self": {
534
+ "type": "boolean",
535
+ "description": "Whether this is a text post"
536
+ },
537
+ "created_utc": {
538
+ "type": "number",
539
+ "description": "Creation timestamp"
540
+ }
541
+ },
542
+ "required": [
543
+ "id",
544
+ "name",
545
+ "title",
546
+ "author",
547
+ "subreddit",
548
+ "score",
549
+ "num_comments",
550
+ "url",
551
+ "permalink",
552
+ "selftext",
553
+ "is_self",
554
+ "created_utc"
555
+ ],
556
+ "additionalProperties": false
557
+ },
558
+ "description": "Search results"
559
+ },
560
+ "after": {
561
+ "anyOf": [
562
+ {
563
+ "type": "string"
564
+ },
565
+ {
566
+ "type": "null"
567
+ }
568
+ ],
569
+ "description": "Pagination cursor for next page"
570
+ }
571
+ },
572
+ "required": [
573
+ "posts",
574
+ "after"
575
+ ],
576
+ "additionalProperties": false
577
+ }
578
+ },
579
+ {
580
+ "name": "submit_post",
581
+ "displayName": "Submit Post",
582
+ "description": "Submit a new text or link post to a subreddit. Note: some subreddits may require captcha for new or low-karma accounts.",
583
+ "summary": "Submit a new post",
584
+ "icon": "plus",
585
+ "group": "Posts",
586
+ "input_schema": {
587
+ "type": "object",
588
+ "properties": {
589
+ "subreddit": {
590
+ "type": "string",
591
+ "minLength": 1,
592
+ "description": "Subreddit name without r/ prefix"
593
+ },
594
+ "title": {
595
+ "type": "string",
596
+ "minLength": 1,
597
+ "description": "Post title"
598
+ },
599
+ "kind": {
600
+ "type": "string",
601
+ "enum": [
602
+ "self",
603
+ "link"
604
+ ],
605
+ "description": "\"self\" for a text post, \"link\" for a link post"
606
+ },
607
+ "text": {
608
+ "description": "Post body text for self/text posts (supports Reddit markdown)",
609
+ "type": "string"
610
+ },
611
+ "url": {
612
+ "description": "URL for link posts",
613
+ "type": "string"
614
+ },
615
+ "flair_id": {
616
+ "description": "Flair ID to apply to the post",
617
+ "type": "string"
618
+ },
619
+ "flair_text": {
620
+ "description": "Custom flair text",
621
+ "type": "string"
622
+ },
623
+ "nsfw": {
624
+ "description": "Mark as NSFW",
625
+ "type": "boolean"
626
+ },
627
+ "spoiler": {
628
+ "description": "Mark as spoiler",
629
+ "type": "boolean"
630
+ }
631
+ },
632
+ "required": [
633
+ "subreddit",
634
+ "title",
635
+ "kind"
636
+ ],
637
+ "additionalProperties": false
638
+ },
639
+ "output_schema": {
640
+ "type": "object",
641
+ "properties": {
642
+ "name": {
643
+ "type": "string",
644
+ "description": "Post fullname (e.g., \"t3_abc123\")"
645
+ },
646
+ "id": {
647
+ "type": "string",
648
+ "description": "Post ID"
649
+ },
650
+ "url": {
651
+ "type": "string",
652
+ "description": "URL of the new post"
653
+ }
654
+ },
655
+ "required": [
656
+ "name",
657
+ "id",
658
+ "url"
659
+ ],
660
+ "additionalProperties": false
661
+ }
662
+ },
663
+ {
664
+ "name": "submit_comment",
665
+ "displayName": "Submit Comment",
666
+ "description": "Post a comment on a Reddit post or reply to an existing comment",
667
+ "summary": "Post a comment or reply",
668
+ "icon": "message-square",
669
+ "group": "Comments",
670
+ "input_schema": {
671
+ "type": "object",
672
+ "properties": {
673
+ "thing_id": {
674
+ "type": "string",
675
+ "minLength": 1,
676
+ "description": "Fullname of the thing to comment on — \"t3_xxx\" for a post or \"t1_xxx\" for a comment reply"
677
+ },
678
+ "text": {
679
+ "type": "string",
680
+ "minLength": 1,
681
+ "description": "Comment body text (supports Reddit markdown)"
682
+ }
683
+ },
684
+ "required": [
685
+ "thing_id",
686
+ "text"
687
+ ],
688
+ "additionalProperties": false
689
+ },
690
+ "output_schema": {
691
+ "type": "object",
692
+ "properties": {
693
+ "id": {
694
+ "type": "string",
695
+ "description": "New comment fullname (e.g., \"t1_abc123\")"
696
+ },
697
+ "parent": {
698
+ "type": "string",
699
+ "description": "Parent thing fullname"
700
+ },
701
+ "body": {
702
+ "type": "string",
703
+ "description": "Comment body text as submitted"
704
+ }
705
+ },
706
+ "required": [
707
+ "id",
708
+ "parent",
709
+ "body"
710
+ ],
711
+ "additionalProperties": false
712
+ }
713
+ },
714
+ {
715
+ "name": "vote",
716
+ "displayName": "Vote",
717
+ "description": "Upvote, downvote, or remove a vote on a post or comment",
718
+ "summary": "Vote on a post or comment",
719
+ "icon": "arrow-up",
720
+ "group": "Actions",
721
+ "input_schema": {
722
+ "type": "object",
723
+ "properties": {
724
+ "id": {
725
+ "type": "string",
726
+ "minLength": 1,
727
+ "description": "Fullname of the thing to vote on (e.g., \"t3_abc123\" for post, \"t1_xyz\" for comment)"
728
+ },
729
+ "dir": {
730
+ "type": "integer",
731
+ "minimum": -1,
732
+ "maximum": 1,
733
+ "description": "Vote direction: 1 = upvote, -1 = downvote, 0 = remove vote"
734
+ }
735
+ },
736
+ "required": [
737
+ "id",
738
+ "dir"
739
+ ],
740
+ "additionalProperties": false
741
+ },
742
+ "output_schema": {
743
+ "type": "object",
744
+ "properties": {
745
+ "success": {
746
+ "type": "boolean",
747
+ "description": "Whether the vote was recorded"
748
+ }
749
+ },
750
+ "required": [
751
+ "success"
752
+ ],
753
+ "additionalProperties": false
754
+ }
755
+ },
756
+ {
757
+ "name": "save",
758
+ "displayName": "Save",
759
+ "description": "Save or unsave a post or comment to your saved items",
760
+ "summary": "Save or unsave a post/comment",
761
+ "icon": "bookmark",
762
+ "group": "Actions",
763
+ "input_schema": {
764
+ "type": "object",
765
+ "properties": {
766
+ "id": {
767
+ "type": "string",
768
+ "minLength": 1,
769
+ "description": "Fullname of the thing to save (e.g., \"t3_abc123\" for post, \"t1_xyz\" for comment)"
770
+ },
771
+ "unsave": {
772
+ "description": "Set to true to unsave instead of save (default: false)",
773
+ "type": "boolean"
774
+ }
775
+ },
776
+ "required": [
777
+ "id"
778
+ ],
779
+ "additionalProperties": false
780
+ },
781
+ "output_schema": {
782
+ "type": "object",
783
+ "properties": {
784
+ "success": {
785
+ "type": "boolean",
786
+ "description": "Whether the action was successful"
787
+ }
788
+ },
789
+ "required": [
790
+ "success"
791
+ ],
792
+ "additionalProperties": false
793
+ }
794
+ },
795
+ {
796
+ "name": "get_subreddit",
797
+ "displayName": "Get Subreddit Info",
798
+ "description": "Get detailed information about a subreddit including description, subscriber count, and rules",
799
+ "summary": "Get subreddit details",
800
+ "icon": "info",
801
+ "group": "Subreddits",
802
+ "input_schema": {
803
+ "type": "object",
804
+ "properties": {
805
+ "subreddit": {
806
+ "type": "string",
807
+ "minLength": 1,
808
+ "description": "Subreddit name without the r/ prefix (e.g., \"programming\")"
809
+ }
810
+ },
811
+ "required": [
812
+ "subreddit"
813
+ ],
814
+ "additionalProperties": false
815
+ },
816
+ "output_schema": {
817
+ "type": "object",
818
+ "properties": {
819
+ "display_name": {
820
+ "type": "string",
821
+ "description": "Subreddit display name"
822
+ },
823
+ "title": {
824
+ "type": "string",
825
+ "description": "Subreddit title"
826
+ },
827
+ "public_description": {
828
+ "type": "string",
829
+ "description": "Short public description"
830
+ },
831
+ "description": {
832
+ "type": "string",
833
+ "description": "Full description (markdown)"
834
+ },
835
+ "subscribers": {
836
+ "type": "number",
837
+ "description": "Number of subscribers"
838
+ },
839
+ "active_user_count": {
840
+ "type": "number",
841
+ "description": "Number of currently active users"
842
+ },
843
+ "created_utc": {
844
+ "type": "number",
845
+ "description": "Creation time as Unix timestamp"
846
+ },
847
+ "over18": {
848
+ "type": "boolean",
849
+ "description": "Whether the subreddit is NSFW"
850
+ },
851
+ "url": {
852
+ "type": "string",
853
+ "description": "Subreddit URL path (e.g., \"/r/programming/\")"
854
+ },
855
+ "subreddit_type": {
856
+ "type": "string",
857
+ "description": "Subreddit type (public, restricted, private)"
858
+ }
859
+ },
860
+ "required": [
861
+ "display_name",
862
+ "title",
863
+ "public_description",
864
+ "description",
865
+ "subscribers",
866
+ "active_user_count",
867
+ "created_utc",
868
+ "over18",
869
+ "url",
870
+ "subreddit_type"
871
+ ],
872
+ "additionalProperties": false
873
+ }
874
+ },
875
+ {
876
+ "name": "search_subreddits",
877
+ "displayName": "Search Subreddits",
878
+ "description": "Search for subreddits by name or topic",
879
+ "summary": "Search subreddits",
880
+ "icon": "search",
881
+ "group": "Subreddits",
882
+ "input_schema": {
883
+ "type": "object",
884
+ "properties": {
885
+ "query": {
886
+ "type": "string",
887
+ "minLength": 1,
888
+ "description": "Search query"
889
+ },
890
+ "limit": {
891
+ "description": "Number of results (default 25, max 100)",
892
+ "type": "integer",
893
+ "minimum": 1,
894
+ "maximum": 100
895
+ },
896
+ "after": {
897
+ "description": "Pagination cursor for the next page",
898
+ "type": "string"
899
+ }
900
+ },
901
+ "required": [
902
+ "query"
903
+ ],
904
+ "additionalProperties": false
905
+ },
906
+ "output_schema": {
907
+ "type": "object",
908
+ "properties": {
909
+ "subreddits": {
910
+ "type": "array",
911
+ "items": {
912
+ "type": "object",
913
+ "properties": {
914
+ "display_name": {
915
+ "type": "string",
916
+ "description": "Subreddit name"
917
+ },
918
+ "title": {
919
+ "type": "string",
920
+ "description": "Subreddit title"
921
+ },
922
+ "subscribers": {
923
+ "type": "number",
924
+ "description": "Subscriber count"
925
+ },
926
+ "active_user_count": {
927
+ "type": "number",
928
+ "description": "Active users"
929
+ },
930
+ "url": {
931
+ "type": "string",
932
+ "description": "Subreddit URL path"
933
+ },
934
+ "public_description": {
935
+ "type": "string",
936
+ "description": "Short description"
937
+ },
938
+ "over18": {
939
+ "type": "boolean",
940
+ "description": "NSFW flag"
941
+ }
942
+ },
943
+ "required": [
944
+ "display_name",
945
+ "title",
946
+ "subscribers",
947
+ "active_user_count",
948
+ "url",
949
+ "public_description",
950
+ "over18"
951
+ ],
952
+ "additionalProperties": false
953
+ },
954
+ "description": "Matching subreddits"
955
+ },
956
+ "after": {
957
+ "anyOf": [
958
+ {
959
+ "type": "string"
960
+ },
961
+ {
962
+ "type": "null"
963
+ }
964
+ ],
965
+ "description": "Pagination cursor for next page"
966
+ }
967
+ },
968
+ "required": [
969
+ "subreddits",
970
+ "after"
971
+ ],
972
+ "additionalProperties": false
973
+ }
974
+ },
975
+ {
976
+ "name": "list_subscriptions",
977
+ "displayName": "List Subscriptions",
978
+ "description": "List subreddits the authenticated user is subscribed to",
979
+ "summary": "List subscribed subreddits",
980
+ "icon": "list",
981
+ "group": "Subreddits",
982
+ "input_schema": {
983
+ "type": "object",
984
+ "properties": {
985
+ "limit": {
986
+ "description": "Number of results (default 25, max 100)",
987
+ "type": "integer",
988
+ "minimum": 1,
989
+ "maximum": 100
990
+ },
991
+ "after": {
992
+ "description": "Pagination cursor for the next page",
993
+ "type": "string"
994
+ }
995
+ },
996
+ "additionalProperties": false
997
+ },
998
+ "output_schema": {
999
+ "type": "object",
1000
+ "properties": {
1001
+ "subreddits": {
1002
+ "type": "array",
1003
+ "items": {
1004
+ "type": "object",
1005
+ "properties": {
1006
+ "display_name": {
1007
+ "type": "string",
1008
+ "description": "Subreddit name"
1009
+ },
1010
+ "title": {
1011
+ "type": "string",
1012
+ "description": "Subreddit title"
1013
+ },
1014
+ "subscribers": {
1015
+ "type": "number",
1016
+ "description": "Subscriber count"
1017
+ },
1018
+ "url": {
1019
+ "type": "string",
1020
+ "description": "Subreddit URL path"
1021
+ },
1022
+ "public_description": {
1023
+ "type": "string",
1024
+ "description": "Short description"
1025
+ }
1026
+ },
1027
+ "required": [
1028
+ "display_name",
1029
+ "title",
1030
+ "subscribers",
1031
+ "url",
1032
+ "public_description"
1033
+ ],
1034
+ "additionalProperties": false
1035
+ },
1036
+ "description": "Subscribed subreddits"
1037
+ },
1038
+ "after": {
1039
+ "anyOf": [
1040
+ {
1041
+ "type": "string"
1042
+ },
1043
+ {
1044
+ "type": "null"
1045
+ }
1046
+ ],
1047
+ "description": "Pagination cursor for next page"
1048
+ }
1049
+ },
1050
+ "required": [
1051
+ "subreddits",
1052
+ "after"
1053
+ ],
1054
+ "additionalProperties": false
1055
+ }
1056
+ },
1057
+ {
1058
+ "name": "subscribe",
1059
+ "displayName": "Subscribe",
1060
+ "description": "Subscribe to or unsubscribe from a subreddit",
1061
+ "summary": "Subscribe or unsubscribe from a subreddit",
1062
+ "icon": "bell",
1063
+ "group": "Subreddits",
1064
+ "input_schema": {
1065
+ "type": "object",
1066
+ "properties": {
1067
+ "subreddit": {
1068
+ "type": "string",
1069
+ "minLength": 1,
1070
+ "description": "Subreddit name without r/ prefix"
1071
+ },
1072
+ "action": {
1073
+ "type": "string",
1074
+ "enum": [
1075
+ "sub",
1076
+ "unsub"
1077
+ ],
1078
+ "description": "\"sub\" to subscribe, \"unsub\" to unsubscribe"
1079
+ }
1080
+ },
1081
+ "required": [
1082
+ "subreddit",
1083
+ "action"
1084
+ ],
1085
+ "additionalProperties": false
1086
+ },
1087
+ "output_schema": {
1088
+ "type": "object",
1089
+ "properties": {
1090
+ "success": {
1091
+ "type": "boolean",
1092
+ "description": "Whether the action was successful"
1093
+ }
1094
+ },
1095
+ "required": [
1096
+ "success"
1097
+ ],
1098
+ "additionalProperties": false
1099
+ }
1100
+ },
1101
+ {
1102
+ "name": "get_user",
1103
+ "displayName": "Get User",
1104
+ "description": "Get public profile information for a Reddit user by username",
1105
+ "summary": "Get a user profile",
1106
+ "icon": "user",
1107
+ "group": "User",
1108
+ "input_schema": {
1109
+ "type": "object",
1110
+ "properties": {
1111
+ "username": {
1112
+ "type": "string",
1113
+ "minLength": 1,
1114
+ "description": "Reddit username (without u/ prefix)"
1115
+ }
1116
+ },
1117
+ "required": [
1118
+ "username"
1119
+ ],
1120
+ "additionalProperties": false
1121
+ },
1122
+ "output_schema": {
1123
+ "type": "object",
1124
+ "properties": {
1125
+ "name": {
1126
+ "type": "string",
1127
+ "description": "Username"
1128
+ },
1129
+ "id": {
1130
+ "type": "string",
1131
+ "description": "User ID"
1132
+ },
1133
+ "total_karma": {
1134
+ "type": "number",
1135
+ "description": "Total karma"
1136
+ },
1137
+ "link_karma": {
1138
+ "type": "number",
1139
+ "description": "Post karma"
1140
+ },
1141
+ "comment_karma": {
1142
+ "type": "number",
1143
+ "description": "Comment karma"
1144
+ },
1145
+ "created_utc": {
1146
+ "type": "number",
1147
+ "description": "Account creation timestamp"
1148
+ },
1149
+ "is_gold": {
1150
+ "type": "boolean",
1151
+ "description": "Whether the user has Reddit Premium"
1152
+ },
1153
+ "is_mod": {
1154
+ "type": "boolean",
1155
+ "description": "Whether the user is a moderator"
1156
+ },
1157
+ "description": {
1158
+ "type": "string",
1159
+ "description": "User profile description"
1160
+ }
1161
+ },
1162
+ "required": [
1163
+ "name",
1164
+ "id",
1165
+ "total_karma",
1166
+ "link_karma",
1167
+ "comment_karma",
1168
+ "created_utc",
1169
+ "is_gold",
1170
+ "is_mod",
1171
+ "description"
1172
+ ],
1173
+ "additionalProperties": false
1174
+ }
1175
+ },
1176
+ {
1177
+ "name": "send_message",
1178
+ "displayName": "Send Message",
1179
+ "description": "Send a private message to another Reddit user",
1180
+ "summary": "Send a private message",
1181
+ "icon": "send",
1182
+ "group": "Messages",
1183
+ "input_schema": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "to": {
1187
+ "type": "string",
1188
+ "minLength": 1,
1189
+ "description": "Recipient username (without u/ prefix)"
1190
+ },
1191
+ "subject": {
1192
+ "type": "string",
1193
+ "minLength": 1,
1194
+ "description": "Message subject"
1195
+ },
1196
+ "text": {
1197
+ "type": "string",
1198
+ "minLength": 1,
1199
+ "description": "Message body (supports Reddit markdown)"
1200
+ }
1201
+ },
1202
+ "required": [
1203
+ "to",
1204
+ "subject",
1205
+ "text"
1206
+ ],
1207
+ "additionalProperties": false
1208
+ },
1209
+ "output_schema": {
1210
+ "type": "object",
1211
+ "properties": {
1212
+ "success": {
1213
+ "type": "boolean",
1214
+ "description": "Whether the message was sent"
1215
+ }
1216
+ },
1217
+ "required": [
1218
+ "success"
1219
+ ],
1220
+ "additionalProperties": false
1221
+ }
1222
+ },
1223
+ {
1224
+ "name": "read_inbox",
1225
+ "displayName": "Read Inbox",
1226
+ "description": "Read messages from the authenticated user's inbox. Includes private messages and comment replies.",
1227
+ "summary": "Read inbox messages",
1228
+ "icon": "inbox",
1229
+ "group": "Messages",
1230
+ "input_schema": {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "limit": {
1234
+ "description": "Number of messages (default 25, max 100)",
1235
+ "type": "integer",
1236
+ "minimum": 1,
1237
+ "maximum": 100
1238
+ },
1239
+ "after": {
1240
+ "description": "Pagination cursor for the next page",
1241
+ "type": "string"
1242
+ }
1243
+ },
1244
+ "additionalProperties": false
1245
+ },
1246
+ "output_schema": {
1247
+ "type": "object",
1248
+ "properties": {
1249
+ "messages": {
1250
+ "type": "array",
1251
+ "items": {
1252
+ "type": "object",
1253
+ "properties": {
1254
+ "id": {
1255
+ "type": "string",
1256
+ "description": "Message ID"
1257
+ },
1258
+ "name": {
1259
+ "type": "string",
1260
+ "description": "Message fullname"
1261
+ },
1262
+ "author": {
1263
+ "type": "string",
1264
+ "description": "Sender username"
1265
+ },
1266
+ "subject": {
1267
+ "type": "string",
1268
+ "description": "Message subject"
1269
+ },
1270
+ "body": {
1271
+ "type": "string",
1272
+ "description": "Message body (markdown)"
1273
+ },
1274
+ "dest": {
1275
+ "type": "string",
1276
+ "description": "Recipient username"
1277
+ },
1278
+ "created_utc": {
1279
+ "type": "number",
1280
+ "description": "Send time as Unix timestamp"
1281
+ },
1282
+ "was_comment": {
1283
+ "type": "boolean",
1284
+ "description": "Whether this is a comment reply notification"
1285
+ },
1286
+ "new": {
1287
+ "type": "boolean",
1288
+ "description": "Whether the message is unread"
1289
+ }
1290
+ },
1291
+ "required": [
1292
+ "id",
1293
+ "name",
1294
+ "author",
1295
+ "subject",
1296
+ "body",
1297
+ "dest",
1298
+ "created_utc",
1299
+ "was_comment",
1300
+ "new"
1301
+ ],
1302
+ "additionalProperties": false
1303
+ },
1304
+ "description": "Inbox messages"
1305
+ },
1306
+ "after": {
1307
+ "anyOf": [
1308
+ {
1309
+ "type": "string"
1310
+ },
1311
+ {
1312
+ "type": "null"
1313
+ }
1314
+ ],
1315
+ "description": "Pagination cursor for next page"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "messages",
1320
+ "after"
1321
+ ],
1322
+ "additionalProperties": false
1323
+ }
1324
+ }
1325
+ ]
1326
+ }