@opentabs-dev/opentabs-plugin-reddit 0.0.76 → 0.0.78

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 (36) hide show
  1. package/README.md +75 -0
  2. package/dist/adapter.iife.js +321 -7
  3. package/dist/adapter.iife.js.map +4 -4
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +14 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/tools/delete-thing.d.ts +7 -0
  8. package/dist/tools/delete-thing.d.ts.map +1 -0
  9. package/dist/tools/delete-thing.js +25 -0
  10. package/dist/tools/delete-thing.js.map +1 -0
  11. package/dist/tools/edit-text.d.ts +9 -0
  12. package/dist/tools/edit-text.d.ts.map +1 -0
  13. package/dist/tools/edit-text.js +38 -0
  14. package/dist/tools/edit-text.js.map +1 -0
  15. package/dist/tools/get-comment-thread.d.ts +32 -0
  16. package/dist/tools/get-comment-thread.d.ts.map +1 -0
  17. package/dist/tools/get-comment-thread.js +94 -0
  18. package/dist/tools/get-comment-thread.js.map +1 -0
  19. package/dist/tools/hide.d.ts +8 -0
  20. package/dist/tools/hide.d.ts.map +1 -0
  21. package/dist/tools/hide.js +24 -0
  22. package/dist/tools/hide.js.map +1 -0
  23. package/dist/tools/list-popular-subreddits.d.ts +22 -0
  24. package/dist/tools/list-popular-subreddits.d.ts.map +1 -0
  25. package/dist/tools/list-popular-subreddits.js +55 -0
  26. package/dist/tools/list-popular-subreddits.js.map +1 -0
  27. package/dist/tools/list-user-content.d.ts +50 -0
  28. package/dist/tools/list-user-content.d.ts.map +1 -0
  29. package/dist/tools/list-user-content.js +78 -0
  30. package/dist/tools/list-user-content.js.map +1 -0
  31. package/dist/tools/report.d.ts +8 -0
  32. package/dist/tools/report.d.ts.map +1 -0
  33. package/dist/tools/report.js +26 -0
  34. package/dist/tools/report.js.map +1 -0
  35. package/dist/tools.json +666 -11
  36. package/package.json +10 -4
package/dist/tools.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "sdkVersion": "0.0.76",
2
+ "sdkVersion": "0.0.78",
3
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
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
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>",
@@ -711,6 +711,254 @@
711
711
  "additionalProperties": false
712
712
  }
713
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
+ },
714
962
  {
715
963
  "name": "vote",
716
964
  "displayName": "Vote",
@@ -765,29 +1013,335 @@
765
1013
  "properties": {
766
1014
  "id": {
767
1015
  "type": "string",
768
- "minLength": 1,
769
- "description": "Fullname of the thing to save (e.g., \"t3_abc123\" for post, \"t1_xyz\" for comment)"
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
+ ]
770
1161
  },
771
- "unsave": {
772
- "description": "Set to true to unsave instead of save (default: false)",
773
- "type": "boolean"
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"
774
1183
  }
775
1184
  },
776
1185
  "required": [
777
- "id"
1186
+ "username",
1187
+ "where"
778
1188
  ],
779
1189
  "additionalProperties": false
780
1190
  },
781
1191
  "output_schema": {
782
1192
  "type": "object",
783
1193
  "properties": {
784
- "success": {
785
- "type": "boolean",
786
- "description": "Whether the action was successful"
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"
787
1340
  }
788
1341
  },
789
1342
  "required": [
790
- "success"
1343
+ "items",
1344
+ "after"
791
1345
  ],
792
1346
  "additionalProperties": false
793
1347
  }
@@ -1054,6 +1608,107 @@
1054
1608
  "additionalProperties": false
1055
1609
  }
1056
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
+ },
1057
1712
  {
1058
1713
  "name": "subscribe",
1059
1714
  "displayName": "Subscribe",