@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-641048aff.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. package/meta.min.json +7820 -0
  2. package/package.json +4 -4
  3. package/protos.min.js +2 -0
  4. package/protos.min.js.map +7 -0
  5. package/schema/.snootobuf/deps/buf/validate/expression.proto +92 -0
  6. package/schema/.snootobuf/deps/buf/validate/priv/private.proto +41 -0
  7. package/schema/.snootobuf/deps/buf/validate/validate.proto +4130 -0
  8. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +72 -0
  9. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +49 -0
  10. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +54 -0
  11. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +46 -0
  12. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +72 -0
  13. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +20 -0
  14. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +45 -0
  15. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +54 -0
  16. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +773 -0
  17. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +66 -0
  18. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +100 -0
  19. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +19 -0
  20. package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +446 -0
  21. package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +24 -0
  22. package/schema/.snootobuf/deps/devvit/options/options.proto +98 -0
  23. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +29 -0
  24. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +25 -0
  25. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +53 -0
  26. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +56 -0
  27. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +107 -0
  28. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +41 -0
  29. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +23 -0
  30. package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +162 -0
  31. package/schema/.snootobuf/deps/enum/account_gender_category.proto +14 -0
  32. package/schema/.snootobuf/deps/enum/approval_status.proto +15 -0
  33. package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +12 -0
  34. package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +13 -0
  35. package/schema/.snootobuf/deps/enum/ban_info_action.proto +12 -0
  36. package/schema/.snootobuf/deps/enum/block_relation_type.proto +11 -0
  37. package/schema/.snootobuf/deps/enum/comment_sort.proto +18 -0
  38. package/schema/.snootobuf/deps/enum/comment_type.proto +11 -0
  39. package/schema/.snootobuf/deps/enum/crowd_control_level.proto +12 -0
  40. package/schema/.snootobuf/deps/enum/discussion_type.proto +10 -0
  41. package/schema/.snootobuf/deps/enum/distinguish_type.proto +14 -0
  42. package/schema/.snootobuf/deps/enum/flair_position.proto +11 -0
  43. package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +12 -0
  44. package/schema/.snootobuf/deps/enum/link_content_type.proto +11 -0
  45. package/schema/.snootobuf/deps/enum/link_type.proto +11 -0
  46. package/schema/.snootobuf/deps/enum/link_visibility.proto +11 -0
  47. package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +11 -0
  48. package/schema/.snootobuf/deps/enum/promo_layout.proto +11 -0
  49. package/schema/.snootobuf/deps/enum/removed_by_type.proto +18 -0
  50. package/schema/.snootobuf/deps/enum/spam_level.proto +11 -0
  51. package/schema/.snootobuf/deps/enum/subreddit_type.proto +16 -0
  52. package/schema/.snootobuf/deps/enum/verdict.proto +14 -0
  53. package/schema/.snootobuf/deps/enum/vote.proto +12 -0
  54. package/schema/.snootobuf/deps/enum/whitelist_status.proto +17 -0
  55. package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +12 -0
  56. package/schema/.snootobuf/deps/evaluator/evaluator.proto +203 -0
  57. package/schema/.snootobuf/deps/google/api/annotations.proto +31 -0
  58. package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +288 -0
  59. package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +175 -0
  60. package/schema/.snootobuf/deps/google/api/auth.proto +237 -0
  61. package/schema/.snootobuf/deps/google/api/backend.proto +185 -0
  62. package/schema/.snootobuf/deps/google/api/billing.proto +77 -0
  63. package/schema/.snootobuf/deps/google/api/client.proto +431 -0
  64. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +322 -0
  65. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +315 -0
  66. package/schema/.snootobuf/deps/google/api/config_change.proto +84 -0
  67. package/schema/.snootobuf/deps/google/api/consumer.proto +82 -0
  68. package/schema/.snootobuf/deps/google/api/context.proto +92 -0
  69. package/schema/.snootobuf/deps/google/api/control.proto +41 -0
  70. package/schema/.snootobuf/deps/google/api/distribution.proto +213 -0
  71. package/schema/.snootobuf/deps/google/api/documentation.proto +168 -0
  72. package/schema/.snootobuf/deps/google/api/endpoint.proto +69 -0
  73. package/schema/.snootobuf/deps/google/api/error_reason.proto +589 -0
  74. package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +183 -0
  75. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +343 -0
  76. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +118 -0
  77. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +53 -0
  78. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +438 -0
  79. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +115 -0
  80. package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +84 -0
  81. package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +125 -0
  82. package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +265 -0
  83. package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +62 -0
  84. package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +114 -0
  85. package/schema/.snootobuf/deps/google/api/field_behavior.proto +104 -0
  86. package/schema/.snootobuf/deps/google/api/field_info.proto +106 -0
  87. package/schema/.snootobuf/deps/google/api/http.proto +371 -0
  88. package/schema/.snootobuf/deps/google/api/httpbody.proto +81 -0
  89. package/schema/.snootobuf/deps/google/api/label.proto +48 -0
  90. package/schema/.snootobuf/deps/google/api/launch_stage.proto +72 -0
  91. package/schema/.snootobuf/deps/google/api/log.proto +54 -0
  92. package/schema/.snootobuf/deps/google/api/logging.proto +81 -0
  93. package/schema/.snootobuf/deps/google/api/metric.proto +268 -0
  94. package/schema/.snootobuf/deps/google/api/monitored_resource.proto +130 -0
  95. package/schema/.snootobuf/deps/google/api/monitoring.proto +107 -0
  96. package/schema/.snootobuf/deps/google/api/policy.proto +85 -0
  97. package/schema/.snootobuf/deps/google/api/quota.proto +184 -0
  98. package/schema/.snootobuf/deps/google/api/resource.proto +243 -0
  99. package/schema/.snootobuf/deps/google/api/routing.proto +461 -0
  100. package/schema/.snootobuf/deps/google/api/service.proto +191 -0
  101. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +124 -0
  102. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +166 -0
  103. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +93 -0
  104. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +126 -0
  105. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +81 -0
  106. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +123 -0
  107. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +245 -0
  108. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +260 -0
  109. package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +196 -0
  110. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +295 -0
  111. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +508 -0
  112. package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +130 -0
  113. package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +305 -0
  114. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +458 -0
  115. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +793 -0
  116. package/schema/.snootobuf/deps/google/api/source_info.proto +31 -0
  117. package/schema/.snootobuf/deps/google/api/system_parameter.proto +96 -0
  118. package/schema/.snootobuf/deps/google/api/usage.proto +96 -0
  119. package/schema/.snootobuf/deps/google/api/visibility.proto +113 -0
  120. package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +150 -0
  121. package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +1087 -0
  122. package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +145 -0
  123. package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +34 -0
  124. package/schema/.snootobuf/deps/google/iam/v1/options.proto +41 -0
  125. package/schema/.snootobuf/deps/google/iam/v1/policy.proto +240 -0
  126. package/schema/.snootobuf/deps/google/logging/type/http_request.proto +92 -0
  127. package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +72 -0
  128. package/schema/.snootobuf/deps/google/longrunning/operations.proto +247 -0
  129. package/schema/.snootobuf/deps/google/protobuf/any.proto +158 -0
  130. package/schema/.snootobuf/deps/google/protobuf/api.proto +208 -0
  131. package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +183 -0
  132. package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +921 -0
  133. package/schema/.snootobuf/deps/google/protobuf/duration.proto +116 -0
  134. package/schema/.snootobuf/deps/google/protobuf/empty.proto +51 -0
  135. package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +245 -0
  136. package/schema/.snootobuf/deps/google/protobuf/source_context.proto +48 -0
  137. package/schema/.snootobuf/deps/google/protobuf/struct.proto +95 -0
  138. package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +147 -0
  139. package/schema/.snootobuf/deps/google/protobuf/type.proto +187 -0
  140. package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +123 -0
  141. package/schema/.snootobuf/deps/google/rpc/code.proto +186 -0
  142. package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +287 -0
  143. package/schema/.snootobuf/deps/google/rpc/error_details.proto +246 -0
  144. package/schema/.snootobuf/deps/google/rpc/status.proto +47 -0
  145. package/schema/.snootobuf/deps/google/type/calendar_period.proto +57 -0
  146. package/schema/.snootobuf/deps/google/type/color.proto +170 -0
  147. package/schema/.snootobuf/deps/google/type/date.proto +50 -0
  148. package/schema/.snootobuf/deps/google/type/datetime.proto +97 -0
  149. package/schema/.snootobuf/deps/google/type/dayofweek.proto +51 -0
  150. package/schema/.snootobuf/deps/google/type/expr.proto +51 -0
  151. package/schema/.snootobuf/deps/google/type/fraction.proto +34 -0
  152. package/schema/.snootobuf/deps/google/type/latlng.proto +37 -0
  153. package/schema/.snootobuf/deps/google/type/money.proto +43 -0
  154. package/schema/.snootobuf/deps/google/type/month.proto +66 -0
  155. package/schema/.snootobuf/deps/google/type/postal_address.proto +135 -0
  156. package/schema/.snootobuf/deps/google/type/quaternion.proto +95 -0
  157. package/schema/.snootobuf/deps/google/type/timeofday.proto +44 -0
  158. package/schema/.snootobuf/deps/openapi/helper.proto +20 -0
  159. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  160. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +118 -0
  161. package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +55 -0
  162. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +579 -0
  163. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +43 -0
  164. package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +82 -0
  165. package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +221 -0
  166. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +78 -0
  167. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +189 -0
  168. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +29 -0
  169. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +417 -0
  170. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +72 -0
  171. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +25 -0
  172. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +52 -0
  173. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +16 -0
  174. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +20 -0
  175. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +149 -0
  176. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +197 -0
  177. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +116 -0
  178. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +25 -0
  179. package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +101 -0
  180. package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +34 -0
  181. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +798 -0
  182. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +186 -0
  183. package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +110 -0
  184. package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +51 -0
  185. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +1202 -0
  186. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +85 -0
  187. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +363 -0
  188. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +301 -0
  189. package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +2869 -0
  190. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +15 -0
  191. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +11 -0
  192. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +48 -0
  193. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +70 -0
  194. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +11 -0
  195. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +17 -0
  196. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +89 -0
  197. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +322 -0
  198. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +17 -0
  199. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +14 -0
  200. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +15 -0
  201. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +48 -0
  202. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +31 -0
  203. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +26 -0
  204. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +15 -0
  205. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +52 -0
  206. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +23 -0
  207. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +28 -0
  208. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +17 -0
  209. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +49 -0
  210. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +20 -0
  211. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +17 -0
  212. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +158 -0
  213. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +18 -0
  214. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +195 -0
  215. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +44 -0
  216. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +200 -0
  217. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +18 -0
  218. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +210 -0
  219. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  220. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +135 -0
  221. package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +29 -0
  222. package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +3292 -0
  223. package/schema/.snootobuf/deps/validate/validate.proto +862 -0
  224. package/schema/devvit/plugin/buildpack/buildpack_common.proto +6 -1
  225. package/schema/snootobuf.devenv.lock +210 -102
  226. package/schema/snootobuf.lock +210 -102
  227. package/schema/snootobuf.redditapi.lock +210 -102
  228. package/schema/snootobuf.ts.lock +210 -102
  229. package/types/devvit/dev_portal/dev_portal.d.ts +2 -0
  230. package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
  231. package/types/devvit/plugin/builder/builder.d.ts +4 -0
  232. package/types/devvit/plugin/builder/builder.d.ts.map +1 -1
  233. package/types/devvit/plugin/buildpack/buildpack.d.ts +8 -0
  234. package/types/devvit/plugin/buildpack/buildpack.d.ts.map +1 -1
  235. package/types/devvit/plugin/buildpack/buildpack_common.d.ts +3 -0
  236. package/types/devvit/plugin/buildpack/buildpack_common.d.ts.map +1 -1
  237. package/types/devvit/plugin/buildpack/buildpack_common.js +37 -1
  238. package/types/devvit/plugin/linker/linker.d.ts +2 -0
  239. package/types/devvit/plugin/linker/linker.d.ts.map +1 -1
  240. package/types/devvit/plugin/linker/resolver.d.ts +2 -0
  241. package/types/devvit/plugin/linker/resolver.d.ts.map +1 -1
@@ -0,0 +1,66 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.data.api.v1alpha;
4
+
5
+ import "devvit/options/options.proto";
6
+ import "devvit/reddit/v2alpha/subredditv2.proto";
7
+
8
+ option go_package = "github.snooguts.net/reddit/data-api-firehose/generated/protos/types/v1alpha";
9
+
10
+ message FirehoseFilterData {
11
+ // The approval status for a post or comment
12
+ enum ApprovalStatus {
13
+ UNKNOWN_APPROVAL_STATUS = 0;
14
+ MOD_APPROVED = 1;
15
+ MOD_REMOVED = 2;
16
+ MOD_SPAMMED = 3;
17
+ ADMIN_APPROVED = 4;
18
+ ADMIN_REMOVED = 5;
19
+ ADMIN_SPAMMED = 6;
20
+ AUTHOR_REMOVED = 7;
21
+ AUTHOR_SPAMMED = 8;
22
+ }
23
+
24
+ message SafetyTag {
25
+ map<string, double> versions = 1;
26
+ double score = 2;
27
+ }
28
+
29
+ message PostFilterData {
30
+ bool admin_takedown = 1;
31
+ map<string, double> perspective_scores_title = 2;
32
+ map<string, double> perspective_scores_body = 3;
33
+ SafetyTag safety_x_tag = 4;
34
+ SafetyTag safety_v_tag = 5;
35
+ ApprovalStatus approval_status = 6;
36
+ // custom value set by our own services
37
+ bool sexually_explicit = 7;
38
+ repeated string media_ids = 8;
39
+ string thumbnail_url = 10;
40
+
41
+ // removed fields
42
+ reserved 9, 11;
43
+ reserved "language_code", "media_object_oembed_type";
44
+ }
45
+
46
+ message CommentFilterData {
47
+ bool admin_takedown = 1;
48
+ double abuse_score = 2;
49
+ map<string, double> perspective_scores = 3;
50
+ ApprovalStatus approval_status = 4;
51
+ SafetyTag safety_x_tag = 5;
52
+ SafetyTag safety_v_tag = 6;
53
+ // custom value set by our own services
54
+ bool sexually_explicit = 7;
55
+ repeated string media_ids = 8;
56
+ }
57
+
58
+ devvit.options.FirehoseEvent event = 1;
59
+ string subreddit_id = 2;
60
+ devvit.reddit.v2alpha.SubredditRating subreddit_rating = 3;
61
+
62
+ PostFilterData post = 4;
63
+ CommentFilterData comment = 5;
64
+
65
+ devvit.reddit.v2alpha.SubredditType subreddit_type = 6;
66
+ }
@@ -0,0 +1,100 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.data.api.v1alpha;
4
+
5
+ import "buf/validate/validate.proto";
6
+ import "devvit/data/api/v1alpha/delivery.proto";
7
+ import "google/api/annotations.proto";
8
+ import "google/api/client.proto";
9
+ import "google/api/field_behavior.proto";
10
+ import "google/protobuf/timestamp.proto";
11
+ import "openapi/helper.proto";
12
+
13
+ option go_package = "github.snooguts.net/reddit/devplatform-api/go/grpc/devvit/data/api/v1alpha";
14
+
15
+ // Reddit communities are data-rich forums where people go to discuss specific topics, events,
16
+ // brands, products, and services. Reddit Firehose gives you access to this real-time stream
17
+ // of content and lets you determine the type of content you want to see.
18
+ service Firehose {
19
+ option (google.api.default_host) = "data.reddit.com";
20
+ // Use your subscription ID and authentication token to set up an HTTP request to start
21
+ // receiving Reddit Firehose data.
22
+ rpc Stream(FirehoseRequest) returns (stream FirehoseReply) {
23
+ option (google.api.http) = {
24
+ post: "/firehose"
25
+ body: "*"
26
+ };
27
+ }
28
+ }
29
+
30
+ // Firehose Request body
31
+ message FirehoseRequest {
32
+ // This is the subscription id provided by your account manager.
33
+ string subscription_id = 1 [
34
+ (google.api.field_behavior) = REQUIRED,
35
+ (openapi.field_example) = "e59bfsw9-5cf2-4544-9779-11111cebaa2b"
36
+ ];
37
+ // Indicates the maximum number of event types you are tracking.
38
+ int32 max = 2 [
39
+ (google.api.field_behavior) = OPTIONAL,
40
+ (openapi.field_example) = '1'
41
+ ];
42
+ // Begins streaming data from the specified event id.
43
+ string start = 3 [
44
+ (google.api.field_behavior) = OPTIONAL,
45
+ (openapi.field_example) = "f927d8b4-8207-4f3c-ba07-40992c0574ec"
46
+ ];
47
+ // Enables you to monitor your subscription to ensure the connection is working.
48
+ bool keepalive = 4 [
49
+ (google.api.field_behavior) = OPTIONAL,
50
+ (openapi.field_example) = 'true'
51
+ ];
52
+ }
53
+
54
+ // Firehose response
55
+ message FirehoseReply {
56
+ // The Unique ID for the event, can be used to restart a stream
57
+ string id = 1 [
58
+ (buf.validate.field).string.uuid = true,
59
+ (buf.validate.field).required = true
60
+ ];
61
+ // Timestamp from the event
62
+ google.protobuf.Timestamp timestamp = 2 [(buf.validate.field).required = true];
63
+ // Type of the event
64
+ string event_type = 3 [(buf.validate.field).required = true];
65
+
66
+ // Event only one of
67
+ oneof event {
68
+ PostCreateFirehose post_create = 10;
69
+ PostEditFirehose post_edit = 11;
70
+ CommentCreateFirehose comment_create = 12;
71
+ CommentEditFirehose comment_edit = 13;
72
+ PostApproveFirehose post_approve = 19;
73
+ CommentApproveFirehose comment_approve = 20;
74
+ DeletionFirehose deletion = 14;
75
+ VoteFirehose vote = 15;
76
+ ModActionFirehose mod_action = 16;
77
+ FirehoseSystemMessage error = 17;
78
+ FirehoseSystemMessage warning = 18;
79
+
80
+ // next field 21
81
+ }
82
+ }
83
+
84
+ // Firehose error/warning message
85
+ // |**Error message**|**HTTP status code**|**What's wrong**|
86
+ // | -- | -- | -- |
87
+ // | NotFound | 404 | Endpoint not found. |
88
+ // | AuthTokenMissing | 401 | Missing <API Key\> header with valid auth token. |
89
+ // | AuthTokenInvalid | 401 | Auth token is invalid. |
90
+ // | AuthTokenRevoked | 403 | Auth token has been revoked. |
91
+ // | AuthTokenExpired | 403 | Auth token is expired. |
92
+ // | InvalidSubscription | 400 | Invalid subscription ID. |
93
+ // | InternalError | 500 | An internal error has occurred. |
94
+ // | TooManyConnections | 429 | Max connections exceeded for subscription ID. |
95
+ message FirehoseSystemMessage {
96
+ // Error/Warning message id
97
+ string id = 1 [(openapi.field_example) = "'404'"];
98
+ // Error/Warning message
99
+ string message = 2 [(openapi.field_example) = "Endpoint not found."];
100
+ }
@@ -0,0 +1,19 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.data.api.v1alpha;
4
+
5
+ import "google/protobuf/any.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/data-api-firehose/generated/protos/types/intake";
8
+
9
+ service DataIntaker {
10
+ rpc OnEvent(IntakeEvent) returns (IntakeResponse);
11
+ }
12
+
13
+ message IntakeEvent {
14
+ string topic = 1;
15
+ string id = 2;
16
+ google.protobuf.Any event = 3;
17
+ }
18
+
19
+ message IntakeResponse {}
@@ -0,0 +1,446 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.events.v1alpha;
4
+
5
+ import "devvit/options/options.proto";
6
+ import "devvit/reddit/v2alpha/commentv2.proto";
7
+ import "devvit/reddit/v2alpha/postv2.proto";
8
+ import "devvit/reddit/v2alpha/subredditv2.proto";
9
+ import "devvit/reddit/v2alpha/userv2.proto";
10
+ import "google/protobuf/timestamp.proto";
11
+
12
+ option go_package = "github.snooguts.net/reddit/devplatform-api/go/grpc/devvit/events/v1alpha";
13
+ option java_package = "com.reddit.devvit.actor.events";
14
+
15
+ enum EventSource {
16
+ UNKNOWN_EVENT_SOURCE = 0;
17
+ USER = 1;
18
+ ADMIN = 2;
19
+ MODERATOR = 3;
20
+ }
21
+
22
+ enum DeletionReason {
23
+ UNSPECIFIED_DELETION_REASON = 0;
24
+ SPAM = 1;
25
+ LEGAL = 2;
26
+ OTHER = 3;
27
+ UNKNOWN = 4;
28
+ EXPLICIT_CONTENT = 5;
29
+ }
30
+
31
+ message PostSubmit {
32
+ option (devvit.options.trigger) = {
33
+ source: "backend"
34
+ action: "submit"
35
+ noun: "post"
36
+ };
37
+
38
+ devvit.reddit.v2alpha.PostV2 post = 1;
39
+ devvit.reddit.v2alpha.UserV2 author = 2;
40
+
41
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
42
+ }
43
+
44
+ message PostCreate {
45
+ option (devvit.options.trigger) = {
46
+ source: "firehose"
47
+ action: "create"
48
+ noun: "post"
49
+ };
50
+
51
+ devvit.reddit.v2alpha.PostV2 post = 1;
52
+ devvit.reddit.v2alpha.UserV2 author = 2;
53
+
54
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
55
+ }
56
+
57
+ message PostUpdate {
58
+ option (devvit.options.trigger) = {
59
+ source: "backend"
60
+ action: "edit"
61
+ noun: "post"
62
+ };
63
+
64
+ devvit.reddit.v2alpha.PostV2 post = 1;
65
+ devvit.reddit.v2alpha.UserV2 author = 2;
66
+ string previous_body = 3 [(devvit.options.v2_event_path) = "edit.previous_body_text"];
67
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
68
+ }
69
+
70
+ message PostReport {
71
+ option (devvit.options.trigger) = {
72
+ source: "backend"
73
+ action: "report"
74
+ noun: "post"
75
+ };
76
+
77
+ option (devvit.options.trigger) = {
78
+ source: "automoderator"
79
+ action: "report"
80
+ noun: "post"
81
+ };
82
+
83
+ devvit.reddit.v2alpha.PostV2 post = 1;
84
+
85
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
86
+
87
+ // Deprecated - preserving privacy for the user reporting post
88
+ reserved 2;
89
+ reserved "reporter";
90
+
91
+ string reason = 3 [(devvit.options.v2_event_path) = "action_info.reason"];
92
+ }
93
+
94
+ message PostFlairUpdate {
95
+ option (devvit.options.trigger) = {
96
+ source: "backend"
97
+ action: "apply_flair"
98
+ noun: "post"
99
+ };
100
+
101
+ devvit.reddit.v2alpha.PostV2 post = 1;
102
+ devvit.reddit.v2alpha.UserV2 author = 2;
103
+
104
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10 [(devvit.options.secondary_hydration_path) = "post.subreddit_id"];
105
+ }
106
+
107
+ message PostDelete {
108
+ option (devvit.options.trigger) = {
109
+ source: "backend"
110
+ action: "delete"
111
+ noun: "post"
112
+ };
113
+ option (devvit.options.trigger) = {
114
+ source: "admin"
115
+ action: "remove"
116
+ noun: "post"
117
+ };
118
+ option (devvit.options.trigger) = {
119
+ source: "admin"
120
+ action: "takedown"
121
+ noun: "post"
122
+ };
123
+ option (devvit.options.trigger) = {
124
+ source: "admin"
125
+ action: "purge"
126
+ noun: "post"
127
+ };
128
+ option (devvit.options.trigger) = {
129
+ source: "admin"
130
+ action: "nuke"
131
+ noun: "post"
132
+ };
133
+ option (devvit.options.trigger) = {
134
+ source: "moderator"
135
+ action: "remove"
136
+ noun: "post"
137
+ };
138
+
139
+ string post_id = 1 [(devvit.options.v2_event_path) = "post.id"];
140
+ google.protobuf.Timestamp deleted_at = 2 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
141
+
142
+ devvit.reddit.v2alpha.UserV2 author = 3;
143
+
144
+ google.protobuf.Timestamp created_at = 4 [(devvit.options.v2_event_path) = "post.created_timestamp"];
145
+ EventSource source = 5;
146
+
147
+ DeletionReason reason = 6;
148
+
149
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
150
+ }
151
+
152
+ message PostApprove {
153
+ option (devvit.options.trigger) = {
154
+ source: "admin"
155
+ action: "unremove"
156
+ noun: "post"
157
+ };
158
+ option (devvit.options.trigger) = {
159
+ source: "moderator"
160
+ action: "approve"
161
+ noun: "post"
162
+ };
163
+
164
+ devvit.reddit.v2alpha.PostV2 post = 1;
165
+ google.protobuf.Timestamp approved_at = 2 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
166
+ devvit.reddit.v2alpha.UserV2 author = 3 [(devvit.options.v2_event_path) = "target_user.id"];
167
+ EventSource source = 5;
168
+
169
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
170
+ }
171
+
172
+ message CommentApprove {
173
+ option (devvit.options.trigger) = {
174
+ source: "admin"
175
+ action: "unremove"
176
+ noun: "comment"
177
+ };
178
+ option (devvit.options.trigger) = {
179
+ source: "moderator"
180
+ action: "approve"
181
+ noun: "comment"
182
+ };
183
+
184
+ devvit.reddit.v2alpha.CommentV2 comment = 1;
185
+ devvit.reddit.v2alpha.PostV2 post = 2;
186
+ google.protobuf.Timestamp approved_at = 3 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
187
+ devvit.reddit.v2alpha.UserV2 author = 4 [(devvit.options.v2_event_path) = "target_user.id"];
188
+ EventSource source = 6;
189
+
190
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
191
+ }
192
+
193
+ message CommentSubmit {
194
+ option (devvit.options.trigger) = {
195
+ source: "backend"
196
+ action: "submit"
197
+ noun: "comment"
198
+ };
199
+
200
+ devvit.reddit.v2alpha.CommentV2 comment = 1;
201
+ devvit.reddit.v2alpha.UserV2 author = 2;
202
+ devvit.reddit.v2alpha.PostV2 post = 3 [(devvit.options.v2_event_path) = "comment.post_id"];
203
+
204
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
205
+ }
206
+
207
+ message CommentCreate {
208
+ option (devvit.options.trigger) = {
209
+ source: "firehose"
210
+ action: "create"
211
+ noun: "comment"
212
+ };
213
+
214
+ devvit.reddit.v2alpha.CommentV2 comment = 1;
215
+ devvit.reddit.v2alpha.UserV2 author = 2;
216
+ devvit.reddit.v2alpha.PostV2 post = 3 [(devvit.options.v2_event_path) = "comment.post_id"];
217
+
218
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
219
+ }
220
+
221
+ message CommentUpdate {
222
+ option (devvit.options.trigger) = {
223
+ source: "backend"
224
+ action: "edit"
225
+ noun: "comment"
226
+ };
227
+
228
+ devvit.reddit.v2alpha.CommentV2 comment = 1;
229
+ devvit.reddit.v2alpha.UserV2 author = 2;
230
+ devvit.reddit.v2alpha.PostV2 post = 3 [(devvit.options.v2_event_path) = "comment.post_id"];
231
+ string previous_body = 4 [(devvit.options.v2_event_path) = "edit.previous_body_text"];
232
+
233
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
234
+ }
235
+
236
+ message CommentReport {
237
+ option (devvit.options.trigger) = {
238
+ source: "backend"
239
+ action: "report"
240
+ noun: "comment"
241
+ };
242
+
243
+ devvit.reddit.v2alpha.CommentV2 comment = 1;
244
+
245
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
246
+
247
+ // Deprecated - preserving privacy for the user reporting comment
248
+ reserved 2;
249
+ reserved "reporter";
250
+
251
+ string reason = 3 [(devvit.options.v2_event_path) = "action_info.reason"];
252
+ }
253
+
254
+ message CommentDelete {
255
+ option (devvit.options.trigger) = {
256
+ source: "backend"
257
+ action: "delete"
258
+ noun: "comment"
259
+ };
260
+ option (devvit.options.trigger) = {
261
+ source: "admin"
262
+ action: "remove"
263
+ noun: "comment"
264
+ };
265
+ option (devvit.options.trigger) = {
266
+ source: "admin"
267
+ action: "takedown"
268
+ noun: "comment"
269
+ };
270
+ option (devvit.options.trigger) = {
271
+ source: "admin"
272
+ action: "purge"
273
+ noun: "comment"
274
+ };
275
+ option (devvit.options.trigger) = {
276
+ source: "moderator"
277
+ action: "remove"
278
+ noun: "comment"
279
+ };
280
+
281
+ string comment_id = 1 [(devvit.options.v2_event_path) = "comment.id"];
282
+ string post_id = 2 [(devvit.options.v2_event_path) = "comment.post_id"];
283
+ string parent_id = 3 [(devvit.options.v2_event_path) = "comment.parent_id"];
284
+ google.protobuf.Timestamp deleted_at = 4 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
285
+
286
+ devvit.reddit.v2alpha.UserV2 author = 5;
287
+
288
+ google.protobuf.Timestamp created_at = 6 [(devvit.options.v2_event_path) = "comment.created_timestamp"];
289
+ EventSource source = 7;
290
+ DeletionReason reason = 8;
291
+
292
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10;
293
+ }
294
+
295
+ message SubredditSubscribe {
296
+ option (devvit.options.trigger) = {
297
+ source: "backend"
298
+ action: "subscribe"
299
+ noun: "subreddit"
300
+ };
301
+
302
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 1;
303
+ devvit.reddit.v2alpha.UserV2 subscriber = 2;
304
+ }
305
+
306
+ message AppInstall {
307
+ option (devvit.options.trigger) = {
308
+ source: "devplatform"
309
+ action: "install"
310
+ noun: "app"
311
+ };
312
+
313
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 1;
314
+ devvit.reddit.v2alpha.UserV2 installer = 2;
315
+ }
316
+
317
+ message AppUpgrade {
318
+ option (devvit.options.trigger) = {
319
+ source: "devplatform"
320
+ action: "uninstall"
321
+ noun: "app"
322
+ };
323
+
324
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 1;
325
+ devvit.reddit.v2alpha.UserV2 installer = 2;
326
+ }
327
+
328
+ message AccountDelete {
329
+ option (devvit.options.trigger) = {
330
+ source: "backend"
331
+ action: "deactivate"
332
+ noun: "user"
333
+ };
334
+
335
+ string user_id = 1 [(devvit.options.v2_event_path) = "user.id"];
336
+ google.protobuf.Timestamp deleted_at = 2 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
337
+
338
+ devvit.reddit.v2alpha.UserV2 user = 3;
339
+ }
340
+
341
+ message Vote {
342
+ google.protobuf.Timestamp updated_at = 4;
343
+
344
+ devvit.reddit.v2alpha.CommentV2 comment = 5;
345
+ devvit.reddit.v2alpha.PostV2 post = 6;
346
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 7;
347
+ float upvote_ratio = 8;
348
+ int32 score = 9;
349
+
350
+ // removed fields
351
+ reserved 1 to 3;
352
+ reserved "thing_id", "upvotes", "downvotes";
353
+ }
354
+
355
+ message AutomoderatorFilterPost {
356
+ option (devvit.options.trigger) = {
357
+ source: "automoderator"
358
+ action: "filter"
359
+ noun: "post"
360
+ };
361
+
362
+ devvit.reddit.v2alpha.PostV2 post = 1 [(devvit.options.v2_event_path) = "target_post.id"];
363
+
364
+ google.protobuf.Timestamp removed_at = 2 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
365
+
366
+ string reason = 3 [(devvit.options.v2_event_path) = "action_info.reason"];
367
+
368
+ string author = 4 [(devvit.options.v2_event_path) = "target_user.id"];
369
+
370
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 5;
371
+ }
372
+
373
+ message AutomoderatorFilterComment {
374
+ option (devvit.options.trigger) = {
375
+ source: "automoderator"
376
+ action: "filter"
377
+ noun: "comment"
378
+ };
379
+
380
+ devvit.reddit.v2alpha.CommentV2 comment = 1 [(devvit.options.v2_event_path) = "target_comment.id"];
381
+
382
+ google.protobuf.Timestamp removed_at = 2 [(devvit.options.v2_event_path) = "endpoint_timestamp"];
383
+
384
+ string reason = 3 [(devvit.options.v2_event_path) = "action_info.reason"];
385
+
386
+ string author = 4 [(devvit.options.v2_event_path) = "target_user.id"];
387
+
388
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 5;
389
+ }
390
+
391
+ message PostNsfwUpdate {
392
+ option (devvit.options.trigger) = {
393
+ source: "moderator"
394
+ action: "mark_nsfw"
395
+ noun: "post"
396
+ };
397
+ option (devvit.options.trigger) = {
398
+ source: "moderator"
399
+ action: "marknsfw"
400
+ noun: "post"
401
+ };
402
+ option (devvit.options.trigger) = {
403
+ source: "automoderator"
404
+ action: "mark_nsfw"
405
+ noun: "post"
406
+ };
407
+ option (devvit.options.trigger) = {
408
+ source: "automoderator"
409
+ action: "unmark_nsfw"
410
+ noun: "post"
411
+ };
412
+
413
+ devvit.reddit.v2alpha.PostV2 post = 1;
414
+ devvit.reddit.v2alpha.UserV2 author = 2;
415
+ bool is_nsfw = 3 [(devvit.options.v2_event_path) = "post.nsfw"];
416
+
417
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10 [(devvit.options.secondary_hydration_path) = "post.subreddit_id"];
418
+ }
419
+
420
+ message PostSpoilerUpdate {
421
+ option (devvit.options.trigger) = {
422
+ source: "moderator"
423
+ action: "mark_spoiler"
424
+ noun: "post"
425
+ };
426
+ option (devvit.options.trigger) = {
427
+ source: "moderator"
428
+ action: "unmark_spoiler"
429
+ noun: "post"
430
+ };
431
+ option (devvit.options.trigger) = {
432
+ source: "automoderator"
433
+ action: "mark_spoiler"
434
+ noun: "post"
435
+ };
436
+ option (devvit.options.trigger) = {
437
+ source: "automoderator"
438
+ action: "unmark_spoiler"
439
+ noun: "post"
440
+ };
441
+ devvit.reddit.v2alpha.PostV2 post = 1;
442
+ devvit.reddit.v2alpha.UserV2 author = 2;
443
+ bool is_spoiler = 4 [(devvit.options.v2_event_path) = "post.spoiler"];
444
+
445
+ devvit.reddit.v2alpha.SubredditV2 subreddit = 10 [(devvit.options.secondary_hydration_path) = "post.subreddit_id"];
446
+ }
@@ -0,0 +1,24 @@
1
+ syntax = "proto3";
2
+
3
+ package devvit.gateway.v1alpha;
4
+
5
+ import "reddit/xpaymentsplatform/payapi/v1/get_order.proto";
6
+
7
+ option go_package = "github.snooguts.net/reddit/devplatform-api/go/grpc/devvit/gateway";
8
+
9
+ service PaymentOrderProcessing {
10
+ rpc ProcessOrder(ProcessOrderRequest) returns (ProcessOrderResponse);
11
+ }
12
+
13
+ message ProcessOrderRequest {
14
+ reddit.xpaymentsplatform.payapi.v1.Order order = 1;
15
+ }
16
+
17
+ message ProcessOrderResponse {
18
+ oneof result {
19
+ // the product has been acknowledged and delivered
20
+ bool acknowledged = 1;
21
+ // the reason for rejecting product delivery
22
+ string rejection_reason = 2;
23
+ }
24
+ }