@opentabs-dev/opentabs-plugin-reddit 0.0.80 → 0.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tools.json DELETED
@@ -1,1981 +0,0 @@
1
- {
2
- "sdkVersion": "0.0.80",
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": "get_comment_thread",
716
- "displayName": "Get Comment Thread",
717
- "description": "Get a specific comment and its nested replies. Focuses the comment tree on a particular comment, returning its full reply chain regardless of nesting depth. Use this to read deeply nested conversations that get_post may truncate.",
718
- "summary": "Get a comment and its replies",
719
- "icon": "message-square",
720
- "group": "Comments",
721
- "input_schema": {
722
- "type": "object",
723
- "properties": {
724
- "subreddit": {
725
- "type": "string",
726
- "minLength": 1,
727
- "description": "Subreddit name without r/ prefix"
728
- },
729
- "post_id": {
730
- "type": "string",
731
- "minLength": 1,
732
- "description": "Post ID without t3_ prefix (e.g., \"1ki00n1\")"
733
- },
734
- "comment_id": {
735
- "type": "string",
736
- "minLength": 1,
737
- "description": "Comment ID without t1_ prefix (e.g., \"o9z5cx1\") — the comment to focus on"
738
- },
739
- "depth": {
740
- "description": "Max reply nesting depth below the target comment (default 8)",
741
- "type": "integer",
742
- "minimum": 0,
743
- "maximum": 10
744
- },
745
- "limit": {
746
- "description": "Max number of child comments to return (default 100)",
747
- "type": "integer",
748
- "minimum": 0,
749
- "maximum": 500
750
- }
751
- },
752
- "required": [
753
- "subreddit",
754
- "post_id",
755
- "comment_id"
756
- ],
757
- "additionalProperties": false
758
- },
759
- "output_schema": {
760
- "type": "object",
761
- "properties": {
762
- "comment": {
763
- "type": "object",
764
- "properties": {
765
- "id": {
766
- "type": "string",
767
- "description": "Comment ID"
768
- },
769
- "name": {
770
- "type": "string",
771
- "description": "Comment fullname (e.g., \"t1_abc123\")"
772
- },
773
- "author": {
774
- "type": "string",
775
- "description": "Comment author username"
776
- },
777
- "body": {
778
- "type": "string",
779
- "description": "Comment body text (markdown)"
780
- },
781
- "score": {
782
- "type": "number",
783
- "description": "Comment score"
784
- },
785
- "created_utc": {
786
- "type": "number",
787
- "description": "Comment creation time as Unix timestamp"
788
- },
789
- "parent_id": {
790
- "type": "string",
791
- "description": "Parent thing fullname (t3_ for post, t1_ for parent comment)"
792
- },
793
- "depth": {
794
- "type": "number",
795
- "description": "Nesting depth (0 = top-level reply)"
796
- },
797
- "is_submitter": {
798
- "type": "boolean",
799
- "description": "Whether the commenter is the post author (OP)"
800
- }
801
- },
802
- "required": [
803
- "id",
804
- "name",
805
- "author",
806
- "body",
807
- "score",
808
- "created_utc",
809
- "parent_id",
810
- "depth",
811
- "is_submitter"
812
- ],
813
- "additionalProperties": false,
814
- "description": "The target comment"
815
- },
816
- "replies": {
817
- "type": "array",
818
- "items": {
819
- "type": "object",
820
- "properties": {
821
- "id": {
822
- "type": "string",
823
- "description": "Comment ID"
824
- },
825
- "name": {
826
- "type": "string",
827
- "description": "Comment fullname (e.g., \"t1_abc123\")"
828
- },
829
- "author": {
830
- "type": "string",
831
- "description": "Comment author username"
832
- },
833
- "body": {
834
- "type": "string",
835
- "description": "Comment body text (markdown)"
836
- },
837
- "score": {
838
- "type": "number",
839
- "description": "Comment score"
840
- },
841
- "created_utc": {
842
- "type": "number",
843
- "description": "Comment creation time as Unix timestamp"
844
- },
845
- "parent_id": {
846
- "type": "string",
847
- "description": "Parent thing fullname (t3_ for post, t1_ for parent comment)"
848
- },
849
- "depth": {
850
- "type": "number",
851
- "description": "Nesting depth (0 = top-level reply)"
852
- },
853
- "is_submitter": {
854
- "type": "boolean",
855
- "description": "Whether the commenter is the post author (OP)"
856
- }
857
- },
858
- "required": [
859
- "id",
860
- "name",
861
- "author",
862
- "body",
863
- "score",
864
- "created_utc",
865
- "parent_id",
866
- "depth",
867
- "is_submitter"
868
- ],
869
- "additionalProperties": false
870
- },
871
- "description": "Flattened array of nested replies with depth info"
872
- }
873
- },
874
- "required": [
875
- "comment",
876
- "replies"
877
- ],
878
- "additionalProperties": false
879
- }
880
- },
881
- {
882
- "name": "edit_text",
883
- "displayName": "Edit Post/Comment",
884
- "description": "Edit the body text of a self-post or comment. Only the author can edit their own content. Link posts cannot be edited.",
885
- "summary": "Edit a post or comment",
886
- "icon": "edit",
887
- "group": "Actions",
888
- "input_schema": {
889
- "type": "object",
890
- "properties": {
891
- "thing_id": {
892
- "type": "string",
893
- "minLength": 1,
894
- "description": "Fullname of the post or comment to edit (e.g., \"t3_abc123\" for a post, \"t1_xyz\" for a comment)"
895
- },
896
- "text": {
897
- "type": "string",
898
- "minLength": 1,
899
- "description": "New body text (supports Reddit markdown)"
900
- }
901
- },
902
- "required": [
903
- "thing_id",
904
- "text"
905
- ],
906
- "additionalProperties": false
907
- },
908
- "output_schema": {
909
- "type": "object",
910
- "properties": {
911
- "success": {
912
- "type": "boolean",
913
- "description": "Whether the edit was applied"
914
- },
915
- "body": {
916
- "type": "string",
917
- "description": "Updated body text as returned by Reddit"
918
- }
919
- },
920
- "required": [
921
- "success",
922
- "body"
923
- ],
924
- "additionalProperties": false
925
- }
926
- },
927
- {
928
- "name": "delete",
929
- "displayName": "Delete Post/Comment",
930
- "description": "Permanently delete a post or comment. Only the author can delete their own content. This action cannot be undone.",
931
- "summary": "Delete a post or comment",
932
- "icon": "trash",
933
- "group": "Actions",
934
- "input_schema": {
935
- "type": "object",
936
- "properties": {
937
- "id": {
938
- "type": "string",
939
- "minLength": 1,
940
- "description": "Fullname of the post or comment to delete (e.g., \"t3_abc123\" for a post, \"t1_xyz\" for a comment)"
941
- }
942
- },
943
- "required": [
944
- "id"
945
- ],
946
- "additionalProperties": false
947
- },
948
- "output_schema": {
949
- "type": "object",
950
- "properties": {
951
- "success": {
952
- "type": "boolean",
953
- "description": "Whether the deletion was successful"
954
- }
955
- },
956
- "required": [
957
- "success"
958
- ],
959
- "additionalProperties": false
960
- }
961
- },
962
- {
963
- "name": "vote",
964
- "displayName": "Vote",
965
- "description": "Upvote, downvote, or remove a vote on a post or comment",
966
- "summary": "Vote on a post or comment",
967
- "icon": "arrow-up",
968
- "group": "Actions",
969
- "input_schema": {
970
- "type": "object",
971
- "properties": {
972
- "id": {
973
- "type": "string",
974
- "minLength": 1,
975
- "description": "Fullname of the thing to vote on (e.g., \"t3_abc123\" for post, \"t1_xyz\" for comment)"
976
- },
977
- "dir": {
978
- "type": "integer",
979
- "minimum": -1,
980
- "maximum": 1,
981
- "description": "Vote direction: 1 = upvote, -1 = downvote, 0 = remove vote"
982
- }
983
- },
984
- "required": [
985
- "id",
986
- "dir"
987
- ],
988
- "additionalProperties": false
989
- },
990
- "output_schema": {
991
- "type": "object",
992
- "properties": {
993
- "success": {
994
- "type": "boolean",
995
- "description": "Whether the vote was recorded"
996
- }
997
- },
998
- "required": [
999
- "success"
1000
- ],
1001
- "additionalProperties": false
1002
- }
1003
- },
1004
- {
1005
- "name": "save",
1006
- "displayName": "Save",
1007
- "description": "Save or unsave a post or comment to your saved items",
1008
- "summary": "Save or unsave a post/comment",
1009
- "icon": "bookmark",
1010
- "group": "Actions",
1011
- "input_schema": {
1012
- "type": "object",
1013
- "properties": {
1014
- "id": {
1015
- "type": "string",
1016
- "minLength": 1,
1017
- "description": "Fullname of the thing to save (e.g., \"t3_abc123\" for post, \"t1_xyz\" for comment)"
1018
- },
1019
- "unsave": {
1020
- "description": "Set to true to unsave instead of save (default: false)",
1021
- "type": "boolean"
1022
- }
1023
- },
1024
- "required": [
1025
- "id"
1026
- ],
1027
- "additionalProperties": false
1028
- },
1029
- "output_schema": {
1030
- "type": "object",
1031
- "properties": {
1032
- "success": {
1033
- "type": "boolean",
1034
- "description": "Whether the action was successful"
1035
- }
1036
- },
1037
- "required": [
1038
- "success"
1039
- ],
1040
- "additionalProperties": false
1041
- }
1042
- },
1043
- {
1044
- "name": "hide",
1045
- "displayName": "Hide/Unhide Post",
1046
- "description": "Hide or unhide a post from your feed. Hidden posts no longer appear in listings but can be viewed directly.",
1047
- "summary": "Hide or unhide a post",
1048
- "icon": "eye-off",
1049
- "group": "Actions",
1050
- "input_schema": {
1051
- "type": "object",
1052
- "properties": {
1053
- "id": {
1054
- "type": "string",
1055
- "minLength": 1,
1056
- "description": "Fullname of the post to hide (e.g., \"t3_abc123\")"
1057
- },
1058
- "unhide": {
1059
- "description": "Set to true to unhide instead of hide (default: false)",
1060
- "type": "boolean"
1061
- }
1062
- },
1063
- "required": [
1064
- "id"
1065
- ],
1066
- "additionalProperties": false
1067
- },
1068
- "output_schema": {
1069
- "type": "object",
1070
- "properties": {
1071
- "success": {
1072
- "type": "boolean",
1073
- "description": "Whether the action was successful"
1074
- }
1075
- },
1076
- "required": [
1077
- "success"
1078
- ],
1079
- "additionalProperties": false
1080
- }
1081
- },
1082
- {
1083
- "name": "report",
1084
- "displayName": "Report",
1085
- "description": "Report a post or comment to the subreddit moderators for rule violations.",
1086
- "summary": "Report a post or comment",
1087
- "icon": "flag",
1088
- "group": "Actions",
1089
- "input_schema": {
1090
- "type": "object",
1091
- "properties": {
1092
- "thing_id": {
1093
- "type": "string",
1094
- "minLength": 1,
1095
- "description": "Fullname of the post or comment to report (e.g., \"t3_abc123\" or \"t1_xyz\")"
1096
- },
1097
- "reason": {
1098
- "type": "string",
1099
- "minLength": 1,
1100
- "description": "Reason for the report"
1101
- }
1102
- },
1103
- "required": [
1104
- "thing_id",
1105
- "reason"
1106
- ],
1107
- "additionalProperties": false
1108
- },
1109
- "output_schema": {
1110
- "type": "object",
1111
- "properties": {
1112
- "success": {
1113
- "type": "boolean",
1114
- "description": "Whether the report was submitted"
1115
- }
1116
- },
1117
- "required": [
1118
- "success"
1119
- ],
1120
- "additionalProperties": false
1121
- }
1122
- },
1123
- {
1124
- "name": "list_user_content",
1125
- "displayName": "List User Content",
1126
- "description": "Browse a user's posts, comments, or saved items. Use \"submitted\" for posts, \"comments\" for comments, \"saved\" for saved items (own profile only), \"upvoted\"/\"downvoted\" for voted items (own profile only), or \"overview\" for both posts and comments.",
1127
- "summary": "List a user's posts, comments, or saved items",
1128
- "icon": "list",
1129
- "group": "User",
1130
- "input_schema": {
1131
- "type": "object",
1132
- "properties": {
1133
- "username": {
1134
- "type": "string",
1135
- "minLength": 1,
1136
- "description": "Reddit username (without u/ prefix)"
1137
- },
1138
- "where": {
1139
- "type": "string",
1140
- "enum": [
1141
- "overview",
1142
- "submitted",
1143
- "comments",
1144
- "saved",
1145
- "upvoted",
1146
- "downvoted",
1147
- "hidden",
1148
- "gilded"
1149
- ],
1150
- "description": "Content type to list"
1151
- },
1152
- "sort": {
1153
- "description": "Sort order (default \"new\")",
1154
- "type": "string",
1155
- "enum": [
1156
- "hot",
1157
- "new",
1158
- "top",
1159
- "controversial"
1160
- ]
1161
- },
1162
- "t": {
1163
- "description": "Time period for \"top\" and \"controversial\" sort",
1164
- "type": "string",
1165
- "enum": [
1166
- "hour",
1167
- "day",
1168
- "week",
1169
- "month",
1170
- "year",
1171
- "all"
1172
- ]
1173
- },
1174
- "limit": {
1175
- "description": "Number of results (default 25, max 100)",
1176
- "type": "integer",
1177
- "minimum": 1,
1178
- "maximum": 100
1179
- },
1180
- "after": {
1181
- "description": "Pagination cursor for the next page",
1182
- "type": "string"
1183
- }
1184
- },
1185
- "required": [
1186
- "username",
1187
- "where"
1188
- ],
1189
- "additionalProperties": false
1190
- },
1191
- "output_schema": {
1192
- "type": "object",
1193
- "properties": {
1194
- "items": {
1195
- "type": "array",
1196
- "items": {
1197
- "type": "object",
1198
- "properties": {
1199
- "kind": {
1200
- "type": "string",
1201
- "description": "\"t3\" for post, \"t1\" for comment"
1202
- },
1203
- "id": {
1204
- "type": "string",
1205
- "description": "Item ID"
1206
- },
1207
- "name": {
1208
- "type": "string",
1209
- "description": "Item fullname"
1210
- },
1211
- "author": {
1212
- "type": "string",
1213
- "description": "Author username"
1214
- },
1215
- "subreddit": {
1216
- "type": "string",
1217
- "description": "Subreddit name"
1218
- },
1219
- "score": {
1220
- "type": "number",
1221
- "description": "Score"
1222
- },
1223
- "created_utc": {
1224
- "type": "number",
1225
- "description": "Creation timestamp"
1226
- },
1227
- "permalink": {
1228
- "type": "string",
1229
- "description": "Reddit permalink"
1230
- },
1231
- "title": {
1232
- "anyOf": [
1233
- {
1234
- "type": "string"
1235
- },
1236
- {
1237
- "type": "null"
1238
- }
1239
- ],
1240
- "description": "Post title (null for comments)"
1241
- },
1242
- "selftext": {
1243
- "anyOf": [
1244
- {
1245
- "type": "string"
1246
- },
1247
- {
1248
- "type": "null"
1249
- }
1250
- ],
1251
- "description": "Post body (null for comments)"
1252
- },
1253
- "body": {
1254
- "anyOf": [
1255
- {
1256
- "type": "string"
1257
- },
1258
- {
1259
- "type": "null"
1260
- }
1261
- ],
1262
- "description": "Comment body (null for posts)"
1263
- },
1264
- "link_title": {
1265
- "anyOf": [
1266
- {
1267
- "type": "string"
1268
- },
1269
- {
1270
- "type": "null"
1271
- }
1272
- ],
1273
- "description": "Parent post title (for comments)"
1274
- },
1275
- "link_id": {
1276
- "anyOf": [
1277
- {
1278
- "type": "string"
1279
- },
1280
- {
1281
- "type": "null"
1282
- }
1283
- ],
1284
- "description": "Parent post fullname, e.g. t3_abc123 (for comments)"
1285
- },
1286
- "parent_id": {
1287
- "anyOf": [
1288
- {
1289
- "type": "string"
1290
- },
1291
- {
1292
- "type": "null"
1293
- }
1294
- ],
1295
- "description": "Parent comment/post fullname (for comments)"
1296
- },
1297
- "num_comments": {
1298
- "anyOf": [
1299
- {
1300
- "type": "number"
1301
- },
1302
- {
1303
- "type": "null"
1304
- }
1305
- ],
1306
- "description": "Comment count (for posts)"
1307
- }
1308
- },
1309
- "required": [
1310
- "kind",
1311
- "id",
1312
- "name",
1313
- "author",
1314
- "subreddit",
1315
- "score",
1316
- "created_utc",
1317
- "permalink",
1318
- "title",
1319
- "selftext",
1320
- "body",
1321
- "link_title",
1322
- "link_id",
1323
- "parent_id",
1324
- "num_comments"
1325
- ],
1326
- "additionalProperties": false
1327
- },
1328
- "description": "User content items"
1329
- },
1330
- "after": {
1331
- "anyOf": [
1332
- {
1333
- "type": "string"
1334
- },
1335
- {
1336
- "type": "null"
1337
- }
1338
- ],
1339
- "description": "Pagination cursor for next page"
1340
- }
1341
- },
1342
- "required": [
1343
- "items",
1344
- "after"
1345
- ],
1346
- "additionalProperties": false
1347
- }
1348
- },
1349
- {
1350
- "name": "get_subreddit",
1351
- "displayName": "Get Subreddit Info",
1352
- "description": "Get detailed information about a subreddit including description, subscriber count, and rules",
1353
- "summary": "Get subreddit details",
1354
- "icon": "info",
1355
- "group": "Subreddits",
1356
- "input_schema": {
1357
- "type": "object",
1358
- "properties": {
1359
- "subreddit": {
1360
- "type": "string",
1361
- "minLength": 1,
1362
- "description": "Subreddit name without the r/ prefix (e.g., \"programming\")"
1363
- }
1364
- },
1365
- "required": [
1366
- "subreddit"
1367
- ],
1368
- "additionalProperties": false
1369
- },
1370
- "output_schema": {
1371
- "type": "object",
1372
- "properties": {
1373
- "display_name": {
1374
- "type": "string",
1375
- "description": "Subreddit display name"
1376
- },
1377
- "title": {
1378
- "type": "string",
1379
- "description": "Subreddit title"
1380
- },
1381
- "public_description": {
1382
- "type": "string",
1383
- "description": "Short public description"
1384
- },
1385
- "description": {
1386
- "type": "string",
1387
- "description": "Full description (markdown)"
1388
- },
1389
- "subscribers": {
1390
- "type": "number",
1391
- "description": "Number of subscribers"
1392
- },
1393
- "active_user_count": {
1394
- "type": "number",
1395
- "description": "Number of currently active users"
1396
- },
1397
- "created_utc": {
1398
- "type": "number",
1399
- "description": "Creation time as Unix timestamp"
1400
- },
1401
- "over18": {
1402
- "type": "boolean",
1403
- "description": "Whether the subreddit is NSFW"
1404
- },
1405
- "url": {
1406
- "type": "string",
1407
- "description": "Subreddit URL path (e.g., \"/r/programming/\")"
1408
- },
1409
- "subreddit_type": {
1410
- "type": "string",
1411
- "description": "Subreddit type (public, restricted, private)"
1412
- }
1413
- },
1414
- "required": [
1415
- "display_name",
1416
- "title",
1417
- "public_description",
1418
- "description",
1419
- "subscribers",
1420
- "active_user_count",
1421
- "created_utc",
1422
- "over18",
1423
- "url",
1424
- "subreddit_type"
1425
- ],
1426
- "additionalProperties": false
1427
- }
1428
- },
1429
- {
1430
- "name": "search_subreddits",
1431
- "displayName": "Search Subreddits",
1432
- "description": "Search for subreddits by name or topic",
1433
- "summary": "Search subreddits",
1434
- "icon": "search",
1435
- "group": "Subreddits",
1436
- "input_schema": {
1437
- "type": "object",
1438
- "properties": {
1439
- "query": {
1440
- "type": "string",
1441
- "minLength": 1,
1442
- "description": "Search query"
1443
- },
1444
- "limit": {
1445
- "description": "Number of results (default 25, max 100)",
1446
- "type": "integer",
1447
- "minimum": 1,
1448
- "maximum": 100
1449
- },
1450
- "after": {
1451
- "description": "Pagination cursor for the next page",
1452
- "type": "string"
1453
- }
1454
- },
1455
- "required": [
1456
- "query"
1457
- ],
1458
- "additionalProperties": false
1459
- },
1460
- "output_schema": {
1461
- "type": "object",
1462
- "properties": {
1463
- "subreddits": {
1464
- "type": "array",
1465
- "items": {
1466
- "type": "object",
1467
- "properties": {
1468
- "display_name": {
1469
- "type": "string",
1470
- "description": "Subreddit name"
1471
- },
1472
- "title": {
1473
- "type": "string",
1474
- "description": "Subreddit title"
1475
- },
1476
- "subscribers": {
1477
- "type": "number",
1478
- "description": "Subscriber count"
1479
- },
1480
- "active_user_count": {
1481
- "type": "number",
1482
- "description": "Active users"
1483
- },
1484
- "url": {
1485
- "type": "string",
1486
- "description": "Subreddit URL path"
1487
- },
1488
- "public_description": {
1489
- "type": "string",
1490
- "description": "Short description"
1491
- },
1492
- "over18": {
1493
- "type": "boolean",
1494
- "description": "NSFW flag"
1495
- }
1496
- },
1497
- "required": [
1498
- "display_name",
1499
- "title",
1500
- "subscribers",
1501
- "active_user_count",
1502
- "url",
1503
- "public_description",
1504
- "over18"
1505
- ],
1506
- "additionalProperties": false
1507
- },
1508
- "description": "Matching subreddits"
1509
- },
1510
- "after": {
1511
- "anyOf": [
1512
- {
1513
- "type": "string"
1514
- },
1515
- {
1516
- "type": "null"
1517
- }
1518
- ],
1519
- "description": "Pagination cursor for next page"
1520
- }
1521
- },
1522
- "required": [
1523
- "subreddits",
1524
- "after"
1525
- ],
1526
- "additionalProperties": false
1527
- }
1528
- },
1529
- {
1530
- "name": "list_subscriptions",
1531
- "displayName": "List Subscriptions",
1532
- "description": "List subreddits the authenticated user is subscribed to",
1533
- "summary": "List subscribed subreddits",
1534
- "icon": "list",
1535
- "group": "Subreddits",
1536
- "input_schema": {
1537
- "type": "object",
1538
- "properties": {
1539
- "limit": {
1540
- "description": "Number of results (default 25, max 100)",
1541
- "type": "integer",
1542
- "minimum": 1,
1543
- "maximum": 100
1544
- },
1545
- "after": {
1546
- "description": "Pagination cursor for the next page",
1547
- "type": "string"
1548
- }
1549
- },
1550
- "additionalProperties": false
1551
- },
1552
- "output_schema": {
1553
- "type": "object",
1554
- "properties": {
1555
- "subreddits": {
1556
- "type": "array",
1557
- "items": {
1558
- "type": "object",
1559
- "properties": {
1560
- "display_name": {
1561
- "type": "string",
1562
- "description": "Subreddit name"
1563
- },
1564
- "title": {
1565
- "type": "string",
1566
- "description": "Subreddit title"
1567
- },
1568
- "subscribers": {
1569
- "type": "number",
1570
- "description": "Subscriber count"
1571
- },
1572
- "url": {
1573
- "type": "string",
1574
- "description": "Subreddit URL path"
1575
- },
1576
- "public_description": {
1577
- "type": "string",
1578
- "description": "Short description"
1579
- }
1580
- },
1581
- "required": [
1582
- "display_name",
1583
- "title",
1584
- "subscribers",
1585
- "url",
1586
- "public_description"
1587
- ],
1588
- "additionalProperties": false
1589
- },
1590
- "description": "Subscribed subreddits"
1591
- },
1592
- "after": {
1593
- "anyOf": [
1594
- {
1595
- "type": "string"
1596
- },
1597
- {
1598
- "type": "null"
1599
- }
1600
- ],
1601
- "description": "Pagination cursor for next page"
1602
- }
1603
- },
1604
- "required": [
1605
- "subreddits",
1606
- "after"
1607
- ],
1608
- "additionalProperties": false
1609
- }
1610
- },
1611
- {
1612
- "name": "list_popular_subreddits",
1613
- "displayName": "List Popular Subreddits",
1614
- "description": "List popular, new, or default subreddits. Use category \"popular\" for most popular, \"new\" for newest, or \"default\" for default subreddits.",
1615
- "summary": "List popular subreddits",
1616
- "icon": "trending-up",
1617
- "group": "Subreddits",
1618
- "input_schema": {
1619
- "type": "object",
1620
- "properties": {
1621
- "category": {
1622
- "description": "Subreddit category to list (default \"popular\")",
1623
- "type": "string",
1624
- "enum": [
1625
- "popular",
1626
- "new",
1627
- "default"
1628
- ]
1629
- },
1630
- "limit": {
1631
- "description": "Number of results (default 25, max 100)",
1632
- "type": "integer",
1633
- "minimum": 1,
1634
- "maximum": 100
1635
- },
1636
- "after": {
1637
- "description": "Pagination cursor for the next page",
1638
- "type": "string"
1639
- }
1640
- },
1641
- "additionalProperties": false
1642
- },
1643
- "output_schema": {
1644
- "type": "object",
1645
- "properties": {
1646
- "subreddits": {
1647
- "type": "array",
1648
- "items": {
1649
- "type": "object",
1650
- "properties": {
1651
- "display_name": {
1652
- "type": "string",
1653
- "description": "Subreddit name"
1654
- },
1655
- "title": {
1656
- "type": "string",
1657
- "description": "Subreddit title"
1658
- },
1659
- "subscribers": {
1660
- "type": "number",
1661
- "description": "Subscriber count"
1662
- },
1663
- "active_user_count": {
1664
- "type": "number",
1665
- "description": "Active users online"
1666
- },
1667
- "url": {
1668
- "type": "string",
1669
- "description": "Subreddit URL path"
1670
- },
1671
- "public_description": {
1672
- "type": "string",
1673
- "description": "Short description"
1674
- },
1675
- "over18": {
1676
- "type": "boolean",
1677
- "description": "NSFW flag"
1678
- }
1679
- },
1680
- "required": [
1681
- "display_name",
1682
- "title",
1683
- "subscribers",
1684
- "active_user_count",
1685
- "url",
1686
- "public_description",
1687
- "over18"
1688
- ],
1689
- "additionalProperties": false
1690
- },
1691
- "description": "Subreddits"
1692
- },
1693
- "after": {
1694
- "anyOf": [
1695
- {
1696
- "type": "string"
1697
- },
1698
- {
1699
- "type": "null"
1700
- }
1701
- ],
1702
- "description": "Pagination cursor for next page"
1703
- }
1704
- },
1705
- "required": [
1706
- "subreddits",
1707
- "after"
1708
- ],
1709
- "additionalProperties": false
1710
- }
1711
- },
1712
- {
1713
- "name": "subscribe",
1714
- "displayName": "Subscribe",
1715
- "description": "Subscribe to or unsubscribe from a subreddit",
1716
- "summary": "Subscribe or unsubscribe from a subreddit",
1717
- "icon": "bell",
1718
- "group": "Subreddits",
1719
- "input_schema": {
1720
- "type": "object",
1721
- "properties": {
1722
- "subreddit": {
1723
- "type": "string",
1724
- "minLength": 1,
1725
- "description": "Subreddit name without r/ prefix"
1726
- },
1727
- "action": {
1728
- "type": "string",
1729
- "enum": [
1730
- "sub",
1731
- "unsub"
1732
- ],
1733
- "description": "\"sub\" to subscribe, \"unsub\" to unsubscribe"
1734
- }
1735
- },
1736
- "required": [
1737
- "subreddit",
1738
- "action"
1739
- ],
1740
- "additionalProperties": false
1741
- },
1742
- "output_schema": {
1743
- "type": "object",
1744
- "properties": {
1745
- "success": {
1746
- "type": "boolean",
1747
- "description": "Whether the action was successful"
1748
- }
1749
- },
1750
- "required": [
1751
- "success"
1752
- ],
1753
- "additionalProperties": false
1754
- }
1755
- },
1756
- {
1757
- "name": "get_user",
1758
- "displayName": "Get User",
1759
- "description": "Get public profile information for a Reddit user by username",
1760
- "summary": "Get a user profile",
1761
- "icon": "user",
1762
- "group": "User",
1763
- "input_schema": {
1764
- "type": "object",
1765
- "properties": {
1766
- "username": {
1767
- "type": "string",
1768
- "minLength": 1,
1769
- "description": "Reddit username (without u/ prefix)"
1770
- }
1771
- },
1772
- "required": [
1773
- "username"
1774
- ],
1775
- "additionalProperties": false
1776
- },
1777
- "output_schema": {
1778
- "type": "object",
1779
- "properties": {
1780
- "name": {
1781
- "type": "string",
1782
- "description": "Username"
1783
- },
1784
- "id": {
1785
- "type": "string",
1786
- "description": "User ID"
1787
- },
1788
- "total_karma": {
1789
- "type": "number",
1790
- "description": "Total karma"
1791
- },
1792
- "link_karma": {
1793
- "type": "number",
1794
- "description": "Post karma"
1795
- },
1796
- "comment_karma": {
1797
- "type": "number",
1798
- "description": "Comment karma"
1799
- },
1800
- "created_utc": {
1801
- "type": "number",
1802
- "description": "Account creation timestamp"
1803
- },
1804
- "is_gold": {
1805
- "type": "boolean",
1806
- "description": "Whether the user has Reddit Premium"
1807
- },
1808
- "is_mod": {
1809
- "type": "boolean",
1810
- "description": "Whether the user is a moderator"
1811
- },
1812
- "description": {
1813
- "type": "string",
1814
- "description": "User profile description"
1815
- }
1816
- },
1817
- "required": [
1818
- "name",
1819
- "id",
1820
- "total_karma",
1821
- "link_karma",
1822
- "comment_karma",
1823
- "created_utc",
1824
- "is_gold",
1825
- "is_mod",
1826
- "description"
1827
- ],
1828
- "additionalProperties": false
1829
- }
1830
- },
1831
- {
1832
- "name": "send_message",
1833
- "displayName": "Send Message",
1834
- "description": "Send a private message to another Reddit user",
1835
- "summary": "Send a private message",
1836
- "icon": "send",
1837
- "group": "Messages",
1838
- "input_schema": {
1839
- "type": "object",
1840
- "properties": {
1841
- "to": {
1842
- "type": "string",
1843
- "minLength": 1,
1844
- "description": "Recipient username (without u/ prefix)"
1845
- },
1846
- "subject": {
1847
- "type": "string",
1848
- "minLength": 1,
1849
- "description": "Message subject"
1850
- },
1851
- "text": {
1852
- "type": "string",
1853
- "minLength": 1,
1854
- "description": "Message body (supports Reddit markdown)"
1855
- }
1856
- },
1857
- "required": [
1858
- "to",
1859
- "subject",
1860
- "text"
1861
- ],
1862
- "additionalProperties": false
1863
- },
1864
- "output_schema": {
1865
- "type": "object",
1866
- "properties": {
1867
- "success": {
1868
- "type": "boolean",
1869
- "description": "Whether the message was sent"
1870
- }
1871
- },
1872
- "required": [
1873
- "success"
1874
- ],
1875
- "additionalProperties": false
1876
- }
1877
- },
1878
- {
1879
- "name": "read_inbox",
1880
- "displayName": "Read Inbox",
1881
- "description": "Read messages from the authenticated user's inbox. Includes private messages and comment replies.",
1882
- "summary": "Read inbox messages",
1883
- "icon": "inbox",
1884
- "group": "Messages",
1885
- "input_schema": {
1886
- "type": "object",
1887
- "properties": {
1888
- "limit": {
1889
- "description": "Number of messages (default 25, max 100)",
1890
- "type": "integer",
1891
- "minimum": 1,
1892
- "maximum": 100
1893
- },
1894
- "after": {
1895
- "description": "Pagination cursor for the next page",
1896
- "type": "string"
1897
- }
1898
- },
1899
- "additionalProperties": false
1900
- },
1901
- "output_schema": {
1902
- "type": "object",
1903
- "properties": {
1904
- "messages": {
1905
- "type": "array",
1906
- "items": {
1907
- "type": "object",
1908
- "properties": {
1909
- "id": {
1910
- "type": "string",
1911
- "description": "Message ID"
1912
- },
1913
- "name": {
1914
- "type": "string",
1915
- "description": "Message fullname"
1916
- },
1917
- "author": {
1918
- "type": "string",
1919
- "description": "Sender username"
1920
- },
1921
- "subject": {
1922
- "type": "string",
1923
- "description": "Message subject"
1924
- },
1925
- "body": {
1926
- "type": "string",
1927
- "description": "Message body (markdown)"
1928
- },
1929
- "dest": {
1930
- "type": "string",
1931
- "description": "Recipient username"
1932
- },
1933
- "created_utc": {
1934
- "type": "number",
1935
- "description": "Send time as Unix timestamp"
1936
- },
1937
- "was_comment": {
1938
- "type": "boolean",
1939
- "description": "Whether this is a comment reply notification"
1940
- },
1941
- "new": {
1942
- "type": "boolean",
1943
- "description": "Whether the message is unread"
1944
- }
1945
- },
1946
- "required": [
1947
- "id",
1948
- "name",
1949
- "author",
1950
- "subject",
1951
- "body",
1952
- "dest",
1953
- "created_utc",
1954
- "was_comment",
1955
- "new"
1956
- ],
1957
- "additionalProperties": false
1958
- },
1959
- "description": "Inbox messages"
1960
- },
1961
- "after": {
1962
- "anyOf": [
1963
- {
1964
- "type": "string"
1965
- },
1966
- {
1967
- "type": "null"
1968
- }
1969
- ],
1970
- "description": "Pagination cursor for next page"
1971
- }
1972
- },
1973
- "required": [
1974
- "messages",
1975
- "after"
1976
- ],
1977
- "additionalProperties": false
1978
- }
1979
- }
1980
- ]
1981
- }