safetykit 0.39.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/safety_kit/client.rb +2 -2
  5. data/lib/safety_kit/models/async_create_async_params.rb +1505 -715
  6. data/lib/safety_kit/models/beta/event_create_params.rb +1503 -713
  7. data/lib/safety_kit/models/data_update_settings_params.rb +197 -0
  8. data/lib/safety_kit/models/data_update_settings_response.rb +34 -0
  9. data/lib/safety_kit/models.rb +2 -0
  10. data/lib/safety_kit/resources/async.rb +3 -3
  11. data/lib/safety_kit/resources/beta/events.rb +5 -5
  12. data/lib/safety_kit/resources/beta.rb +2 -2
  13. data/lib/safety_kit/resources/data.rb +31 -0
  14. data/lib/safety_kit/version.rb +1 -1
  15. data/lib/safety_kit.rb +2 -0
  16. data/rbi/safety_kit/client.rbi +2 -2
  17. data/rbi/safety_kit/models/async_create_async_params.rbi +3369 -1726
  18. data/rbi/safety_kit/models/beta/event_create_params.rbi +3370 -1725
  19. data/rbi/safety_kit/models/data_update_settings_params.rbi +543 -0
  20. data/rbi/safety_kit/models/data_update_settings_response.rbi +74 -0
  21. data/rbi/safety_kit/models.rbi +2 -0
  22. data/rbi/safety_kit/resources/async.rbi +11 -9
  23. data/rbi/safety_kit/resources/beta/events.rbi +13 -11
  24. data/rbi/safety_kit/resources/beta.rbi +2 -2
  25. data/rbi/safety_kit/resources/data.rbi +30 -0
  26. data/sig/safety_kit/models/async_create_async_params.rbs +1054 -438
  27. data/sig/safety_kit/models/beta/event_create_params.rbs +1054 -438
  28. data/sig/safety_kit/models/data_update_settings_params.rbs +223 -0
  29. data/sig/safety_kit/models/data_update_settings_response.rbs +35 -0
  30. data/sig/safety_kit/models.rbs +2 -0
  31. data/sig/safety_kit/resources/data.rbs +7 -0
  32. metadata +8 -2
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace to ingest data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute schema
17
+ # Schema mapping field names to their definitions. Use content_type to specify
18
+ # which fields contain URLs that should be processed (images, videos, or
19
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
20
+ # not indexed. Use display_hint to provide UI rendering hints.
21
+ #
22
+ # @return [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}, nil]
23
+ optional :schema, -> { SafetyKit::Internal::Type::HashOf[SafetyKit::DataUpdateSettingsParams::Schema] }
24
+
25
+ # @!attribute settings
26
+ # Namespace settings to store, replacing existing settings. Omit to leave existing
27
+ # settings unchanged. Configure these values with guidance from SafetyKit.
28
+ #
29
+ # @return [Hash{Symbol=>Object, nil}, nil]
30
+ optional :settings, SafetyKit::Internal::Type::HashOf[SafetyKit::Internal::Type::Unknown, nil?: true]
31
+
32
+ # @!method initialize(namespace:, schema: nil, settings: nil, request_options: {})
33
+ # Some parameter documentations has been truncated, see
34
+ # {SafetyKit::Models::DataUpdateSettingsParams} for more details.
35
+ #
36
+ # @param namespace [String] The namespace to ingest data into
37
+ #
38
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}] Schema mapping field names to their definitions. Use content_type to specify whi
39
+ #
40
+ # @param settings [Hash{Symbol=>Object, nil}] Namespace settings to store, replacing existing settings. Omit to leave existing
41
+ #
42
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ class Schema < SafetyKit::Internal::Type::BaseModel
45
+ # @!attribute belongs_to
46
+ # The parent object namespace this field belongs to, creating a parent-child
47
+ # relationship with that namespace.
48
+ #
49
+ # @return [String, nil]
50
+ optional :belongs_to, String
51
+
52
+ # @!attribute content_type
53
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
54
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
55
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
56
+ #
57
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::ContentType, nil]
58
+ optional :content_type, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::ContentType }
59
+
60
+ # @!attribute display_hint
61
+ # Display hint for UI rendering of this field
62
+ #
63
+ # @return [SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint, nil]
64
+ optional :display_hint, -> { SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint }
65
+
66
+ # @!attribute field_limit
67
+ # Maximum amount of this field to include when sending to AI models. For text
68
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
69
+ # the maximum number of items.
70
+ #
71
+ # @return [Integer, nil]
72
+ optional :field_limit, Integer
73
+
74
+ # @!attribute ingest_as
75
+ # Optional parser to apply before indexing this field.
76
+ #
77
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::IngestAs, nil]
78
+ optional :ingest_as, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::IngestAs }
79
+
80
+ # @!method initialize(belongs_to: nil, content_type: nil, display_hint: nil, field_limit: nil, ingest_as: nil)
81
+ # Some parameter documentations has been truncated, see
82
+ # {SafetyKit::Models::DataUpdateSettingsParams::Schema} for more details.
83
+ #
84
+ # Schema definition for a data field
85
+ #
86
+ # @param belongs_to [String] The parent object namespace this field belongs to, creating a parent-child relat
87
+ #
88
+ # @param content_type [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::ContentType] The type of content (image_url, video_url, audio_url, website_url, datetime, met
89
+ #
90
+ # @param display_hint [SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint] Display hint for UI rendering of this field
91
+ #
92
+ # @param field_limit [Integer] Maximum amount of this field to include when sending to AI models. For text fiel
93
+ #
94
+ # @param ingest_as [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::IngestAs] Optional parser to apply before indexing this field.
95
+
96
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
97
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
98
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
99
+ #
100
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#content_type
101
+ module ContentType
102
+ extend SafetyKit::Internal::Type::Enum
103
+
104
+ IMAGE_URL = :image_url
105
+ VIDEO_URL = :video_url
106
+ AUDIO_URL = :audio_url
107
+ WEBSITE_URL = :website_url
108
+ DATETIME = :datetime
109
+ METADATA = :metadata
110
+ CARD = :card
111
+
112
+ # @!method self.values
113
+ # @return [Array<Symbol>]
114
+ end
115
+
116
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#display_hint
117
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
118
+ # @!attribute hidden
119
+ # Hide this field from default UI display.
120
+ #
121
+ # @return [Boolean, nil]
122
+ optional :hidden, SafetyKit::Internal::Type::Boolean
123
+
124
+ # @!attribute name
125
+ # Display label to show for this field in the UI
126
+ #
127
+ # @return [String, nil]
128
+ optional :name, String
129
+
130
+ # @!attribute type
131
+ # The display hint type
132
+ #
133
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::Type, nil]
134
+ optional :type, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type }
135
+
136
+ # @!method initialize(hidden: nil, name: nil, type: nil)
137
+ # Display hint for UI rendering of this field
138
+ #
139
+ # @param hidden [Boolean] Hide this field from default UI display.
140
+ #
141
+ # @param name [String] Display label to show for this field in the UI
142
+ #
143
+ # @param type [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::Type] The display hint type
144
+
145
+ # The display hint type
146
+ #
147
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint#type
148
+ module Type
149
+ extend SafetyKit::Internal::Type::Enum
150
+
151
+ TITLE = :title
152
+ SUBTITLE = :subtitle
153
+ CATEGORY = :category
154
+ IDENTIFIER = :identifier
155
+ CANONICAL_URL = :canonical_url
156
+ STATUS = :status
157
+ PRIMARY_TAG_SET = :primary_tag_set
158
+ TAG_SET = :tag_set
159
+ TIMESTAMP = :timestamp
160
+ RATING = :rating
161
+ SUMMARY = :summary
162
+ PROFILE_IMAGE = :profile_image
163
+ PRIMARY_IMAGE = :primary_image
164
+ IMAGE_SET = :image_set
165
+ VIDEO_SET = :video_set
166
+ AUDIO_SET = :audio_set
167
+ BODY = :body
168
+ THREAD = :thread
169
+ TWO_PERSON_CHAT = :two_person_chat
170
+ MESSAGE = :message
171
+ PROFILE = :profile
172
+ MONEY = :money
173
+ LOCATION = :location
174
+ ATTRIBUTE_GROUP = :attribute_group
175
+ ATTRIBUTE = :attribute
176
+
177
+ # @!method self.values
178
+ # @return [Array<Symbol>]
179
+ end
180
+ end
181
+
182
+ # Optional parser to apply before indexing this field.
183
+ #
184
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#ingest_as
185
+ module IngestAs
186
+ extend SafetyKit::Internal::Type::Enum
187
+
188
+ FLOAT = :float
189
+ DATETIME = :datetime
190
+
191
+ # @!method self.values
192
+ # @return [Array<Symbol>]
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute namespace
8
+ #
9
+ # @return [String]
10
+ required :namespace, String
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::DataUpdateSettingsResponse::Status }
16
+
17
+ # @!method initialize(namespace:, status:)
18
+ # Namespace configuration was stored.
19
+ #
20
+ # @param namespace [String]
21
+ # @param status [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
22
+
23
+ # @see SafetyKit::Models::DataUpdateSettingsResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ UPDATED = :updated
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -57,6 +57,8 @@ module SafetyKit
57
57
 
58
58
  DataObject = SafetyKit::Models::DataObject
59
59
 
60
+ DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
61
+
60
62
  DeletionRequestCreateParams = SafetyKit::Models::DeletionRequestCreateParams
61
63
 
62
64
  StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
@@ -2,8 +2,8 @@
2
2
 
3
3
  module SafetyKit
4
4
  module Resources
5
- # Beta. Send backend events for account, content, user interaction, report, and
6
- # moderation activity.
5
+ # Beta. Send backend events for account, content, user interaction, report,
6
+ # appeal, and moderation activity.
7
7
  class Async
8
8
  # Some parameter documentations has been truncated, see
9
9
  # {SafetyKit::Models::AsyncCreateAsyncParams} for more details.
@@ -15,7 +15,7 @@ module SafetyKit
15
15
  #
16
16
  # @overload create_async(body:, request_options: {})
17
17
  #
18
- # @param body [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
18
+ # @param body [SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::AppealEventRequest, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserContact, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::UserReport, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::Appeal, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember8::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
19
19
  #
20
20
  # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil]
21
21
  #
@@ -3,21 +3,21 @@
3
3
  module SafetyKit
4
4
  module Resources
5
5
  class Beta
6
- # Beta. Send backend events for account, content, user interaction, report, and
7
- # moderation activity.
6
+ # Beta. Send backend events for account, content, user interaction, report,
7
+ # appeal, and moderation activity.
8
8
  class Events
9
9
  # Some parameter documentations has been truncated, see
10
10
  # {SafetyKit::Models::Beta::EventCreateParams} for more details.
11
11
  #
12
12
  # Beta. Send a backend event after a meaningful product action happens in your
13
13
  # system. Use events for durable server-side context such as account creation,
14
- # account updates, user-to-user contact, content uploads, user reports, and
15
- # moderation decisions. Do not send browser pageviews, button clicks, or other
14
+ # account updates, user-to-user contact, content uploads, user reports, appeals,
15
+ # and moderation decisions. Do not send browser pageviews, button clicks, or other
16
16
  # client-only telemetry through this endpoint.
17
17
  #
18
18
  # @overload create(body:, request_options: {})
19
19
  #
20
- # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ProductChangedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::ProductChanged, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember7::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
20
+ # @param body [SafetyKit::Models::Beta::EventCreateParams::Body::UserContactEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ContentUploadedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ProductChangedEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::CreateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UpdateAccountEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::UserReportEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::AppealEventRequest, SafetyKit::Models::Beta::EventCreateParams::Body::ModerationDecisionEventRequest, Array<SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::UserContact, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::ContentUploaded, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::ProductChanged, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::CreateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::UpdateAccount, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::UserReport, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::Appeal, SafetyKit::Models::Beta::EventCreateParams::Body::UnionMember8::ModerationDecision>] Backend event or ordered batch of events to send to SafetyKit. Send events from
21
21
  #
22
22
  # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil]
23
23
  #
@@ -3,8 +3,8 @@
3
3
  module SafetyKit
4
4
  module Resources
5
5
  class Beta
6
- # Beta. Send backend events for account, content, user interaction, report, and
7
- # moderation activity.
6
+ # Beta. Send backend events for account, content, user interaction, report,
7
+ # appeal, and moderation activity.
8
8
  # @return [SafetyKit::Resources::Beta::Events]
9
9
  attr_reader :events
10
10
 
@@ -113,6 +113,37 @@ module SafetyKit
113
113
  )
114
114
  end
115
115
 
116
+ # Some parameter documentations has been truncated, see
117
+ # {SafetyKit::Models::DataUpdateSettingsParams} for more details.
118
+ #
119
+ # Update the schema and/or settings for a namespace. Only the fields provided are
120
+ # updated; omitted fields are left unchanged. Namespaces whose configuration is
121
+ # managed by SafetyKit cannot be updated through this endpoint.
122
+ #
123
+ # @overload update_settings(namespace, schema: nil, settings: nil, request_options: {})
124
+ #
125
+ # @param namespace [String] The namespace to ingest data into
126
+ #
127
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}] Schema mapping field names to their definitions. Use content_type to specify whi
128
+ #
129
+ # @param settings [Hash{Symbol=>Object, nil}] Namespace settings to store, replacing existing settings. Omit to leave existing
130
+ #
131
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil]
132
+ #
133
+ # @return [SafetyKit::Models::DataUpdateSettingsResponse]
134
+ #
135
+ # @see SafetyKit::Models::DataUpdateSettingsParams
136
+ def update_settings(namespace, params = {})
137
+ parsed, options = SafetyKit::DataUpdateSettingsParams.dump_request(params)
138
+ @client.request(
139
+ method: :put,
140
+ path: ["v1/data/%1$s/settings", namespace],
141
+ body: parsed,
142
+ model: SafetyKit::Models::DataUpdateSettingsResponse,
143
+ options: options
144
+ )
145
+ end
146
+
116
147
  # @api private
117
148
  #
118
149
  # @param client [SafetyKit::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SafetyKit
4
- VERSION = "0.39.0"
4
+ VERSION = "0.41.0"
5
5
  end
data/lib/safety_kit.rb CHANGED
@@ -69,6 +69,8 @@ require_relative "safety_kit/models/data_get_download_url_response"
69
69
  require_relative "safety_kit/models/data_get_status_params"
70
70
  require_relative "safety_kit/models/data_get_status_response"
71
71
  require_relative "safety_kit/models/data_object"
72
+ require_relative "safety_kit/models/data_update_settings_params"
73
+ require_relative "safety_kit/models/data_update_settings_response"
72
74
  require_relative "safety_kit/models/deletion_request_create_params"
73
75
  require_relative "safety_kit/models/deletion_request_create_response"
74
76
  require_relative "safety_kit/models/stream_add_frame_params"
@@ -27,8 +27,8 @@ module SafetyKit
27
27
  sig { returns(SafetyKit::Resources::AgentDecisions) }
28
28
  attr_reader :agent_decisions
29
29
 
30
- # Beta. Send backend events for account, content, user interaction, report, and
31
- # moderation activity.
30
+ # Beta. Send backend events for account, content, user interaction, report,
31
+ # appeal, and moderation activity.
32
32
  sig { returns(SafetyKit::Resources::Async) }
33
33
  attr_reader :async
34
34