getstream-ruby 7.1.1 → 8.0.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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/lib/getstream_ruby/generated/chat_client.rb +57 -0
  3. data/lib/getstream_ruby/generated/common_client.rb +16 -0
  4. data/lib/getstream_ruby/generated/feeds_client.rb +55 -0
  5. data/lib/getstream_ruby/generated/models/add_segment_targets_request.rb +31 -0
  6. data/lib/getstream_ruby/generated/models/analyze_image_field.rb +56 -0
  7. data/lib/getstream_ruby/generated/models/analyze_request.rb +81 -0
  8. data/lib/getstream_ruby/generated/models/analyze_response.rb +46 -0
  9. data/lib/getstream_ruby/generated/models/analyze_text_field.rb +56 -0
  10. data/lib/getstream_ruby/generated/models/app_response_fields.rb +15 -0
  11. data/lib/getstream_ruby/generated/models/appeal_item_response.rb +60 -0
  12. data/lib/getstream_ruby/generated/models/appeal_request.rb +5 -0
  13. data/lib/getstream_ruby/generated/models/block_list_response.rb +10 -0
  14. data/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb +71 -0
  15. data/lib/getstream_ruby/generated/models/bulk_action_appeals_response.rb +41 -0
  16. data/lib/getstream_ruby/generated/models/bulk_appeal_error.rb +36 -0
  17. data/lib/getstream_ruby/generated/models/bulk_appeal_result.rb +36 -0
  18. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +10 -0
  19. data/lib/getstream_ruby/generated/models/cancel_import_v2_task_request.rb +14 -0
  20. data/lib/getstream_ruby/generated/models/cancel_import_v2_task_response.rb +31 -0
  21. data/lib/getstream_ruby/generated/models/channel_config_overrides.rb +106 -0
  22. data/lib/getstream_ruby/generated/models/channel_data_update.rb +1 -1
  23. data/lib/getstream_ruby/generated/models/channel_input.rb +1 -1
  24. data/lib/getstream_ruby/generated/models/chat_message_response.rb +5 -0
  25. data/lib/getstream_ruby/generated/models/classification.rb +46 -0
  26. data/lib/getstream_ruby/generated/models/client_event.rb +156 -0
  27. data/lib/getstream_ruby/generated/models/closed_caption_rule_parameters.rb +5 -0
  28. data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
  29. data/lib/getstream_ruby/generated/models/content_custom_property_count_parameters.rb +46 -0
  30. data/lib/getstream_ruby/generated/models/content_custom_property_parameters.rb +36 -0
  31. data/lib/getstream_ruby/generated/models/create_block_list_request.rb +10 -0
  32. data/lib/getstream_ruby/generated/models/create_device_request.rb +5 -0
  33. data/lib/getstream_ruby/generated/models/create_segment_request.rb +61 -0
  34. data/lib/getstream_ruby/generated/models/create_segment_response.rb +36 -0
  35. data/lib/getstream_ruby/generated/models/delivery_receipts_response.rb +1 -1
  36. data/lib/getstream_ruby/generated/models/device_response.rb +5 -0
  37. data/lib/getstream_ruby/generated/models/filter_config_response.rb +9 -4
  38. data/lib/getstream_ruby/generated/models/flag_details.rb +36 -0
  39. data/lib/getstream_ruby/generated/models/flag_item_response.rb +36 -0
  40. data/lib/getstream_ruby/generated/models/flag_response.rb +69 -9
  41. data/lib/getstream_ruby/generated/models/flood_config.rb +36 -0
  42. data/lib/getstream_ruby/generated/models/flood_identical_config.rb +46 -0
  43. data/lib/getstream_ruby/generated/models/flood_similar_config.rb +51 -0
  44. data/lib/getstream_ruby/generated/models/follow_request.rb +1 -1
  45. data/lib/getstream_ruby/generated/models/get_or_create_feed_request.rb +5 -0
  46. data/lib/getstream_ruby/generated/models/get_or_create_follow_response.rb +46 -0
  47. data/lib/getstream_ruby/generated/models/get_or_create_unfollow_request.rb +51 -0
  48. data/lib/getstream_ruby/generated/models/get_or_create_unfollow_response.rb +41 -0
  49. data/lib/getstream_ruby/generated/models/get_setup_session_response.rb +36 -0
  50. data/lib/getstream_ruby/generated/models/get_user_interests_response.rb +36 -0
  51. data/lib/getstream_ruby/generated/models/grouped_channels_bucket.rb +10 -0
  52. data/lib/getstream_ruby/generated/models/grouped_channels_group_request.rb +41 -0
  53. data/lib/getstream_ruby/generated/models/grouped_query_channels_request.rb +6 -1
  54. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  55. data/lib/getstream_ruby/generated/models/interest_tag_response.rb +36 -0
  56. data/lib/getstream_ruby/generated/models/keyframe_ocr_rule_parameters.rb +41 -0
  57. data/lib/getstream_ruby/generated/models/keyframe_rule_parameters.rb +5 -0
  58. data/lib/getstream_ruby/generated/models/label_result_response.rb +5 -0
  59. data/lib/getstream_ruby/generated/models/labels_request.rb +1 -1
  60. data/lib/getstream_ruby/generated/models/labels_response.rb +5 -0
  61. data/lib/getstream_ruby/generated/models/llm_rule.rb +5 -5
  62. data/lib/getstream_ruby/generated/models/matched_content.rb +61 -0
  63. data/lib/getstream_ruby/generated/models/message_response.rb +5 -0
  64. data/lib/getstream_ruby/generated/models/message_with_channel_response.rb +5 -0
  65. data/lib/getstream_ruby/generated/models/moderation_ban_response.rb +31 -0
  66. data/lib/getstream_ruby/generated/models/moderation_config.rb +5 -0
  67. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +15 -0
  68. data/lib/getstream_ruby/generated/models/moderation_image_analysis_complete_event.rb +81 -0
  69. data/lib/getstream_ruby/generated/models/moderation_rules_triggered_event.rb +6 -1
  70. data/lib/getstream_ruby/generated/models/moderation_text_analysis_complete_event.rb +76 -0
  71. data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +10 -0
  72. data/lib/getstream_ruby/generated/models/query_review_queue_request.rb +1 -1
  73. data/lib/getstream_ruby/generated/models/read_receipts_response.rb +1 -1
  74. data/lib/getstream_ruby/generated/models/report_client_event_request.rb +31 -0
  75. data/lib/getstream_ruby/generated/models/report_client_event_response.rb +31 -0
  76. data/lib/getstream_ruby/generated/models/rule_builder_action.rb +5 -0
  77. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +15 -0
  78. data/lib/getstream_ruby/generated/models/search_result_message.rb +5 -0
  79. data/lib/getstream_ruby/generated/models/setup_session.rb +56 -0
  80. data/lib/getstream_ruby/generated/models/submit_action_response.rb +5 -0
  81. data/lib/getstream_ruby/generated/models/target_resolution.rb +6 -6
  82. data/lib/getstream_ruby/generated/models/text_content_parameters.rb +10 -0
  83. data/lib/getstream_ruby/generated/models/translation_settings.rb +2 -2
  84. data/lib/getstream_ruby/generated/models/typing_indicators_response.rb +1 -1
  85. data/lib/getstream_ruby/generated/models/update_app_request.rb +15 -0
  86. data/lib/getstream_ruby/generated/models/update_block_list_request.rb +10 -0
  87. data/lib/getstream_ruby/generated/models/update_follow_request.rb +1 -1
  88. data/lib/getstream_ruby/generated/models/update_segment_request.rb +41 -0
  89. data/lib/getstream_ruby/generated/models/update_segment_response.rb +36 -0
  90. data/lib/getstream_ruby/generated/models/upsert_config_request.rb +5 -0
  91. data/lib/getstream_ruby/generated/models/upsert_setup_session_request.rb +41 -0
  92. data/lib/getstream_ruby/generated/models/upsert_setup_session_response.rb +36 -0
  93. data/lib/getstream_ruby/generated/models/user_banned_event.rb +5 -0
  94. data/lib/getstream_ruby/generated/moderation_client.rb +66 -2
  95. data/lib/getstream_ruby/generated/video_client.rb +17 -0
  96. data/lib/getstream_ruby/generated/webhook.rb +8 -0
  97. data/lib/getstream_ruby/version.rb +1 -1
  98. metadata +44 -2
@@ -9,30 +9,30 @@ module GetStream
9
9
  class TargetResolution < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
- # @!attribute bitrate
13
- # @return [Integer]
14
- attr_accessor :bitrate
15
12
  # @!attribute height
16
13
  # @return [Integer]
17
14
  attr_accessor :height
18
15
  # @!attribute width
19
16
  # @return [Integer]
20
17
  attr_accessor :width
18
+ # @!attribute bitrate
19
+ # @return [Integer]
20
+ attr_accessor :bitrate
21
21
 
22
22
  # Initialize with attributes
23
23
  def initialize(attributes = {})
24
24
  super(attributes)
25
- @bitrate = attributes[:bitrate] || attributes['bitrate']
26
25
  @height = attributes[:height] || attributes['height']
27
26
  @width = attributes[:width] || attributes['width']
27
+ @bitrate = attributes[:bitrate] || attributes['bitrate'] || nil
28
28
  end
29
29
 
30
30
  # Override field mappings for JSON serialization
31
31
  def self.json_field_mappings
32
32
  {
33
- bitrate: 'bitrate',
34
33
  height: 'height',
35
- width: 'width'
34
+ width: 'width',
35
+ bitrate: 'bitrate'
36
36
  }
37
37
  end
38
38
  end
@@ -18,6 +18,12 @@ module GetStream
18
18
  # @!attribute severity
19
19
  # @return [String]
20
20
  attr_accessor :severity
21
+ # @!attribute text_length
22
+ # @return [Integer]
23
+ attr_accessor :text_length
24
+ # @!attribute text_length_operator
25
+ # @return [String]
26
+ attr_accessor :text_length_operator
21
27
  # @!attribute blocklist_match
22
28
  # @return [Array<String>]
23
29
  attr_accessor :blocklist_match
@@ -34,6 +40,8 @@ module GetStream
34
40
  @contains_url = attributes[:contains_url] || attributes['contains_url'] || nil
35
41
  @label_operator = attributes[:label_operator] || attributes['label_operator'] || nil
36
42
  @severity = attributes[:severity] || attributes['severity'] || nil
43
+ @text_length = attributes[:text_length] || attributes['text_length'] || nil
44
+ @text_length_operator = attributes[:text_length_operator] || attributes['text_length_operator'] || nil
37
45
  @blocklist_match = attributes[:blocklist_match] || attributes['blocklist_match'] || nil
38
46
  @harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
39
47
  @llm_harm_labels = attributes[:llm_harm_labels] || attributes['llm_harm_labels'] || nil
@@ -45,6 +53,8 @@ module GetStream
45
53
  contains_url: 'contains_url',
46
54
  label_operator: 'label_operator',
47
55
  severity: 'severity',
56
+ text_length: 'text_length',
57
+ text_length_operator: 'text_length_operator',
48
58
  blocklist_match: 'blocklist_match',
49
59
  harm_labels: 'harm_labels',
50
60
  llm_harm_labels: 'llm_harm_labels'
@@ -19,8 +19,8 @@ module GetStream
19
19
  # Initialize with attributes
20
20
  def initialize(attributes = {})
21
21
  super(attributes)
22
- @enabled = attributes[:enabled] || attributes['enabled']
23
- @languages = attributes[:languages] || attributes['languages']
22
+ @enabled = attributes[:enabled] || attributes['enabled'] || nil
23
+ @languages = attributes[:languages] || attributes['languages'] || nil
24
24
  end
25
25
 
26
26
  # Override field mappings for JSON serialization
@@ -16,7 +16,7 @@ module GetStream
16
16
  # Initialize with attributes
17
17
  def initialize(attributes = {})
18
18
  super(attributes)
19
- @enabled = attributes[:enabled] || attributes['enabled'] || nil
19
+ @enabled = attributes[:enabled] || attributes['enabled']
20
20
  end
21
21
 
22
22
  # Override field mappings for JSON serialization
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute auto_translation_enabled
16
16
  # @return [Boolean]
17
17
  attr_accessor :auto_translation_enabled
18
+ # @!attribute before_message_send_hook_attempt_timeout_ms
19
+ # @return [Integer]
20
+ attr_accessor :before_message_send_hook_attempt_timeout_ms
18
21
  # @!attribute before_message_send_hook_url
19
22
  # @return [String]
20
23
  attr_accessor :before_message_send_hook_url
@@ -63,6 +66,9 @@ module GetStream
63
66
  # @!attribute moderation_enabled
64
67
  # @return [Boolean]
65
68
  attr_accessor :moderation_enabled
69
+ # @!attribute moderation_onboarding_complete
70
+ # @return [Boolean]
71
+ attr_accessor :moderation_onboarding_complete
66
72
  # @!attribute moderation_s3_image_access_role_arn
67
73
  # @return [String]
68
74
  attr_accessor :moderation_s3_image_access_role_arn
@@ -105,6 +111,9 @@ module GetStream
105
111
  # @!attribute user_response_time_enabled
106
112
  # @return [Boolean]
107
113
  attr_accessor :user_response_time_enabled
114
+ # @!attribute video_primary_use_case
115
+ # @return [String]
116
+ attr_accessor :video_primary_use_case
108
117
  # @!attribute webhook_url
109
118
  # @return [String]
110
119
  attr_accessor :webhook_url
@@ -168,6 +177,7 @@ module GetStream
168
177
  super(attributes)
169
178
  @async_url_enrich_enabled = attributes[:async_url_enrich_enabled] || attributes['async_url_enrich_enabled'] || nil
170
179
  @auto_translation_enabled = attributes[:auto_translation_enabled] || attributes['auto_translation_enabled'] || nil
180
+ @before_message_send_hook_attempt_timeout_ms = attributes[:before_message_send_hook_attempt_timeout_ms] || attributes['before_message_send_hook_attempt_timeout_ms'] || nil
171
181
  @before_message_send_hook_url = attributes[:before_message_send_hook_url] || attributes['before_message_send_hook_url'] || nil
172
182
  @cdn_expiration_seconds = attributes[:cdn_expiration_seconds] || attributes['cdn_expiration_seconds'] || nil
173
183
  @channel_hide_members_only = attributes[:channel_hide_members_only] || attributes['channel_hide_members_only'] || nil
@@ -184,6 +194,7 @@ module GetStream
184
194
  @migrate_permissions_to_v2 = attributes[:migrate_permissions_to_v2] || attributes['migrate_permissions_to_v2'] || nil
185
195
  @moderation_analytics_enabled = attributes[:moderation_analytics_enabled] || attributes['moderation_analytics_enabled'] || nil
186
196
  @moderation_enabled = attributes[:moderation_enabled] || attributes['moderation_enabled'] || nil
197
+ @moderation_onboarding_complete = attributes[:moderation_onboarding_complete] || attributes['moderation_onboarding_complete'] || nil
187
198
  @moderation_s3_image_access_role_arn = attributes[:moderation_s3_image_access_role_arn] || attributes['moderation_s3_image_access_role_arn'] || nil
188
199
  @moderation_webhook_url = attributes[:moderation_webhook_url] || attributes['moderation_webhook_url'] || nil
189
200
  @multi_tenant_enabled = attributes[:multi_tenant_enabled] || attributes['multi_tenant_enabled'] || nil
@@ -198,6 +209,7 @@ module GetStream
198
209
  @sqs_secret = attributes[:sqs_secret] || attributes['sqs_secret'] || nil
199
210
  @sqs_url = attributes[:sqs_url] || attributes['sqs_url'] || nil
200
211
  @user_response_time_enabled = attributes[:user_response_time_enabled] || attributes['user_response_time_enabled'] || nil
212
+ @video_primary_use_case = attributes[:video_primary_use_case] || attributes['video_primary_use_case'] || nil
201
213
  @webhook_url = attributes[:webhook_url] || attributes['webhook_url'] || nil
202
214
  @allowed_flag_reasons = attributes[:allowed_flag_reasons] || attributes['allowed_flag_reasons'] || nil
203
215
  @event_hooks = attributes[:event_hooks] || attributes['event_hooks'] || nil
@@ -224,6 +236,7 @@ module GetStream
224
236
  {
225
237
  async_url_enrich_enabled: 'async_url_enrich_enabled',
226
238
  auto_translation_enabled: 'auto_translation_enabled',
239
+ before_message_send_hook_attempt_timeout_ms: 'before_message_send_hook_attempt_timeout_ms',
227
240
  before_message_send_hook_url: 'before_message_send_hook_url',
228
241
  cdn_expiration_seconds: 'cdn_expiration_seconds',
229
242
  channel_hide_members_only: 'channel_hide_members_only',
@@ -240,6 +253,7 @@ module GetStream
240
253
  migrate_permissions_to_v2: 'migrate_permissions_to_v2',
241
254
  moderation_analytics_enabled: 'moderation_analytics_enabled',
242
255
  moderation_enabled: 'moderation_enabled',
256
+ moderation_onboarding_complete: 'moderation_onboarding_complete',
243
257
  moderation_s3_image_access_role_arn: 'moderation_s3_image_access_role_arn',
244
258
  moderation_webhook_url: 'moderation_webhook_url',
245
259
  multi_tenant_enabled: 'multi_tenant_enabled',
@@ -254,6 +268,7 @@ module GetStream
254
268
  sqs_secret: 'sqs_secret',
255
269
  sqs_url: 'sqs_url',
256
270
  user_response_time_enabled: 'user_response_time_enabled',
271
+ video_primary_use_case: 'video_primary_use_case',
257
272
  webhook_url: 'webhook_url',
258
273
  allowed_flag_reasons: 'allowed_flag_reasons',
259
274
  event_hooks: 'event_hooks',
@@ -9,12 +9,18 @@ module GetStream
9
9
  class UpdateBlockListRequest < GetStream::BaseModel
10
10
 
11
11
  # Model attributes
12
+ # @!attribute is_confusable_folding_enabled
13
+ # @return [Boolean]
14
+ attr_accessor :is_confusable_folding_enabled
12
15
  # @!attribute is_leet_check_enabled
13
16
  # @return [Boolean]
14
17
  attr_accessor :is_leet_check_enabled
15
18
  # @!attribute is_plural_check_enabled
16
19
  # @return [Boolean]
17
20
  attr_accessor :is_plural_check_enabled
21
+ # @!attribute is_substring_matching_enabled
22
+ # @return [Boolean]
23
+ attr_accessor :is_substring_matching_enabled
18
24
  # @!attribute team
19
25
  # @return [String]
20
26
  attr_accessor :team
@@ -25,8 +31,10 @@ module GetStream
25
31
  # Initialize with attributes
26
32
  def initialize(attributes = {})
27
33
  super(attributes)
34
+ @is_confusable_folding_enabled = attributes[:is_confusable_folding_enabled] || attributes['is_confusable_folding_enabled'] || nil
28
35
  @is_leet_check_enabled = attributes[:is_leet_check_enabled] || attributes['is_leet_check_enabled'] || nil
29
36
  @is_plural_check_enabled = attributes[:is_plural_check_enabled] || attributes['is_plural_check_enabled'] || nil
37
+ @is_substring_matching_enabled = attributes[:is_substring_matching_enabled] || attributes['is_substring_matching_enabled'] || nil
30
38
  @team = attributes[:team] || attributes['team'] || nil
31
39
  @words = attributes[:words] || attributes['words'] || nil
32
40
  end
@@ -34,8 +42,10 @@ module GetStream
34
42
  # Override field mappings for JSON serialization
35
43
  def self.json_field_mappings
36
44
  {
45
+ is_confusable_folding_enabled: 'is_confusable_folding_enabled',
37
46
  is_leet_check_enabled: 'is_leet_check_enabled',
38
47
  is_plural_check_enabled: 'is_plural_check_enabled',
48
+ is_substring_matching_enabled: 'is_substring_matching_enabled',
39
49
  team: 'team',
40
50
  words: 'words'
41
51
  }
@@ -26,7 +26,7 @@ module GetStream
26
26
  # @return [Boolean] Whether to create a notification activity for this follow
27
27
  attr_accessor :create_notification_activity
28
28
  # @!attribute create_users
29
- # @return [Boolean] If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. For FollowBatch/GetOrCreateFollows, use the top-level create_users field; per-item follows[i].create_users is rejected.
29
+ # @return [Boolean] If true, auto-creates users referenced by the source and target FIDs when they don't already exist. Server-side only. Defaults to false. Use directly on single follow endpoints (Follow, GetOrCreateFollow). On batch endpoints (FollowBatch, GetOrCreateFollows), use the top-level create_users field; per-item follows[i].create_users is rejected.
30
30
  attr_accessor :create_users
31
31
  # @!attribute enrich_own_fields
32
32
  # @return [Boolean] If true, enriches the follow's source_feed and target_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class UpdateSegmentRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute description
13
+ # @return [String] The description of the segment (max 256 characters)
14
+ attr_accessor :description
15
+ # @!attribute name
16
+ # @return [String] The name of the segment (max 128 characters)
17
+ attr_accessor :name
18
+ # @!attribute filter
19
+ # @return [Object] Filter to apply to the query
20
+ attr_accessor :filter
21
+
22
+ # Initialize with attributes
23
+ def initialize(attributes = {})
24
+ super(attributes)
25
+ @description = attributes[:description] || attributes['description'] || nil
26
+ @name = attributes[:name] || attributes['name'] || nil
27
+ @filter = attributes[:filter] || attributes['filter'] || nil
28
+ end
29
+
30
+ # Override field mappings for JSON serialization
31
+ def self.json_field_mappings
32
+ {
33
+ description: 'description',
34
+ name: 'name',
35
+ filter: 'filter'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class UpdateSegmentResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String] Duration of the request in milliseconds
14
+ attr_accessor :duration
15
+ # @!attribute segment
16
+ # @return [SegmentResponse]
17
+ attr_accessor :segment
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @segment = attributes[:segment] || attributes['segment']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ segment: 'segment'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -48,6 +48,9 @@ module GetStream
48
48
  # @!attribute bodyguard_config
49
49
  # @return [AITextConfig]
50
50
  attr_accessor :bodyguard_config
51
+ # @!attribute flood_config
52
+ # @return [FloodConfig]
53
+ attr_accessor :flood_config
51
54
  # @!attribute google_vision_config
52
55
  # @return [GoogleVisionConfig]
53
56
  attr_accessor :google_vision_config
@@ -83,6 +86,7 @@ module GetStream
83
86
  @aws_rekognition_config = attributes[:aws_rekognition_config] || attributes['aws_rekognition_config'] || nil
84
87
  @block_list_config = attributes[:block_list_config] || attributes['block_list_config'] || nil
85
88
  @bodyguard_config = attributes[:bodyguard_config] || attributes['bodyguard_config'] || nil
89
+ @flood_config = attributes[:flood_config] || attributes['flood_config'] || nil
86
90
  @google_vision_config = attributes[:google_vision_config] || attributes['google_vision_config'] || nil
87
91
  @llm_config = attributes[:llm_config] || attributes['llm_config'] || nil
88
92
  @rule_builder_config = attributes[:rule_builder_config] || attributes['rule_builder_config'] || nil
@@ -107,6 +111,7 @@ module GetStream
107
111
  aws_rekognition_config: 'aws_rekognition_config',
108
112
  block_list_config: 'block_list_config',
109
113
  bodyguard_config: 'bodyguard_config',
114
+ flood_config: 'flood_config',
110
115
  google_vision_config: 'google_vision_config',
111
116
  llm_config: 'llm_config',
112
117
  rule_builder_config: 'rule_builder_config',
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class UpsertSetupSessionRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute current_step
13
+ # @return [String] The current step of the setup wizard. One of: welcome, input, configure, live
14
+ attr_accessor :current_step
15
+ # @!attribute status
16
+ # @return [String] The status of the setup session. One of: in_progress, completed
17
+ attr_accessor :status
18
+ # @!attribute setup_data
19
+ # @return [Object] Per-step data keyed by step name (welcome, input, configure, live)
20
+ attr_accessor :setup_data
21
+
22
+ # Initialize with attributes
23
+ def initialize(attributes = {})
24
+ super(attributes)
25
+ @current_step = attributes[:current_step] || attributes['current_step']
26
+ @status = attributes[:status] || attributes['status']
27
+ @setup_data = attributes[:setup_data] || attributes['setup_data'] || nil
28
+ end
29
+
30
+ # Override field mappings for JSON serialization
31
+ def self.json_field_mappings
32
+ {
33
+ current_step: 'current_step',
34
+ status: 'status',
35
+ setup_data: 'setup_data'
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by GetStream internal OpenAPI code generator. DO NOT EDIT.
4
+
5
+ module GetStream
6
+ module Generated
7
+ module Models
8
+ #
9
+ class UpsertSetupSessionResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute setup_session
16
+ # @return [SetupSession]
17
+ attr_accessor :setup_session
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @setup_session = attributes[:setup_session] || attributes['setup_session'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ setup_session: 'setup_session'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -45,6 +45,9 @@ module GetStream
45
45
  # @!attribute received_at
46
46
  # @return [DateTime]
47
47
  attr_accessor :received_at
48
+ # @!attribute review_queue_item_id
49
+ # @return [String] ID of the review queue item (flagged message) that triggered the ban, if the ban was applied from the moderation review queue
50
+ attr_accessor :review_queue_item_id
48
51
  # @!attribute shadow
49
52
  # @return [Boolean] Whether the user was shadow banned
50
53
  attr_accessor :shadow
@@ -76,6 +79,7 @@ module GetStream
76
79
  @expiration = attributes[:expiration] || attributes['expiration'] || nil
77
80
  @reason = attributes[:reason] || attributes['reason'] || nil
78
81
  @received_at = attributes[:received_at] || attributes['received_at'] || nil
82
+ @review_queue_item_id = attributes[:review_queue_item_id] || attributes['review_queue_item_id'] || nil
79
83
  @shadow = attributes[:shadow] || attributes['shadow'] || nil
80
84
  @team = attributes[:team] || attributes['team'] || nil
81
85
  @total_bans = attributes[:total_bans] || attributes['total_bans'] || nil
@@ -98,6 +102,7 @@ module GetStream
98
102
  expiration: 'expiration',
99
103
  reason: 'reason',
100
104
  received_at: 'received_at',
105
+ review_queue_item_id: 'review_queue_item_id',
101
106
  shadow: 'shadow',
102
107
  team: 'team',
103
108
  total_bans: 'total_bans',
@@ -127,6 +127,23 @@ module GetStream
127
127
  )
128
128
  end
129
129
 
130
+ # Moderate named text fields and raw image bytes via multipart/form-data. Returns a per-field lightweight verdict.
131
+ #
132
+ # @param analyze_request [AnalyzeRequest]
133
+ # @return [Models::AnalyzeResponse]
134
+ def analyze(analyze_request)
135
+ path = '/api/v2/moderation/analyze'
136
+ # Build request body
137
+ body = analyze_request
138
+
139
+ # Make the API request
140
+ @client.make_request(
141
+ :post,
142
+ path,
143
+ body: body
144
+ )
145
+ end
146
+
130
147
  # Appeal against the moderation decision
131
148
  #
132
149
  # @param appeal_request [AppealRequest]
@@ -177,10 +194,27 @@ module GetStream
177
194
  )
178
195
  end
179
196
 
197
+ # Process multiple appeals in a single request by applying the specified action to each. Supported actions: unban, restore, unblock, mark_reviewed, reject_appeal. Each appeal goes through the same path as a single submit_action call.
198
+ #
199
+ # @param bulk_action_appeals_request [BulkActionAppealsRequest]
200
+ # @return [Models::BulkActionAppealsResponse]
201
+ def bulk_action_appeals(bulk_action_appeals_request)
202
+ path = '/api/v2/moderation/appeals/bulk_action'
203
+ # Build request body
204
+ body = bulk_action_appeals_request
205
+
206
+ # Make the API request
207
+ @client.make_request(
208
+ :post,
209
+ path,
210
+ body: body
211
+ )
212
+ end
213
+
180
214
  # Ban a user from a channel or the entire app
181
215
  #
182
216
  # @param ban_request [BanRequest]
183
- # @return [Models::BanResponse]
217
+ # @return [Models::ModerationBanResponse]
184
218
  def ban(ban_request)
185
219
  path = '/api/v2/moderation/ban'
186
220
  # Build request body
@@ -403,7 +437,7 @@ module GetStream
403
437
  # Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.
404
438
  #
405
439
  # @param flag_request [FlagRequest]
406
- # @return [Models::FlagResponse]
440
+ # @return [Models::FlagItemResponse]
407
441
  def flag(flag_request)
408
442
  path = '/api/v2/moderation/flag'
409
443
  # Build request body
@@ -617,6 +651,36 @@ module GetStream
617
651
  )
618
652
  end
619
653
 
654
+ # Retrieve a setup session for an app
655
+ #
656
+ # @return [Models::GetSetupSessionResponse]
657
+ def get_setup_session()
658
+ path = '/api/v2/moderation/setup'
659
+
660
+ # Make the API request
661
+ @client.make_request(
662
+ :get,
663
+ path
664
+ )
665
+ end
666
+
667
+ # Update a setup session for an app
668
+ #
669
+ # @param upsert_setup_session_request [UpsertSetupSessionRequest]
670
+ # @return [Models::UpsertSetupSessionResponse]
671
+ def upsert_setup_session(upsert_setup_session_request)
672
+ path = '/api/v2/moderation/setup'
673
+ # Build request body
674
+ body = upsert_setup_session_request
675
+
676
+ # Make the API request
677
+ @client.make_request(
678
+ :post,
679
+ path,
680
+ body: body
681
+ )
682
+ end
683
+
620
684
  # Take action on flagged content, such as marking content as safe, deleting content, banning users, or executing custom moderation actions. Supports various action types with configurable parameters.
621
685
  #
622
686
  # @param submit_action_request [SubmitActionRequest]
@@ -970,6 +970,23 @@ module GetStream
970
970
  )
971
971
  end
972
972
 
973
+ # Reports a batch of client-side telemetry events. Events are processed independently; one invalid event does not block the rest of the batch, but the request fails if any event is invalid.
974
+ #
975
+ # @param report_client_event_request [ReportClientEventRequest]
976
+ # @return [Models::ReportClientEventResponse]
977
+ def report_client_call_event(report_client_event_request)
978
+ path = '/api/v2/video/call_client_event'
979
+ # Build request body
980
+ body = report_client_event_request
981
+
982
+ # Make the API request
983
+ @client.make_request(
984
+ :post,
985
+ path,
986
+ body: body
987
+ )
988
+ end
989
+
973
990
  #
974
991
  #
975
992
  # @param query_call_session_stats_request [QueryCallSessionStatsRequest]
@@ -133,8 +133,10 @@ require_relative 'models/message_updated_event'
133
133
  require_relative 'models/moderation_check_completed_event'
134
134
  require_relative 'models/moderation_custom_action_event'
135
135
  require_relative 'models/moderation_flagged_event'
136
+ require_relative 'models/moderation_image_analysis_complete_event'
136
137
  require_relative 'models/moderation_mark_reviewed_event'
137
138
  require_relative 'models/moderation_rules_triggered_event'
139
+ require_relative 'models/moderation_text_analysis_complete_event'
138
140
  require_relative 'models/notification_feed_updated_event'
139
141
  require_relative 'models/notification_mark_unread_event'
140
142
  require_relative 'models/notification_thread_message_new_event'
@@ -350,7 +352,9 @@ module StreamChat
350
352
  EVENT_TYPE_MESSAGE_UPDATED = 'message.updated'
351
353
  EVENT_TYPE_MODERATION_CUSTOM_ACTION = 'moderation.custom_action'
352
354
  EVENT_TYPE_MODERATION_FLAGGED = 'moderation.flagged'
355
+ EVENT_TYPE_MODERATION_IMAGE_ANALYSIS_COMPLETE = 'moderation.image_analysis.complete'
353
356
  EVENT_TYPE_MODERATION_MARK_REVIEWED = 'moderation.mark_reviewed'
357
+ EVENT_TYPE_MODERATION_TEXT_ANALYSIS_COMPLETE = 'moderation.text_analysis.complete'
354
358
  EVENT_TYPE_MODERATION_CHECK_COMPLETED = 'moderation_check.completed'
355
359
  EVENT_TYPE_MODERATION_RULE_TRIGGERED = 'moderation_rule.triggered'
356
360
  EVENT_TYPE_NOTIFICATION_MARK_UNREAD = 'notification.mark_unread'
@@ -701,8 +705,12 @@ module StreamChat
701
705
  GetStream::Generated::Models::ModerationCustomActionEvent
702
706
  when 'moderation.flagged'
703
707
  GetStream::Generated::Models::ModerationFlaggedEvent
708
+ when 'moderation.image_analysis.complete'
709
+ GetStream::Generated::Models::ModerationImageAnalysisCompleteEvent
704
710
  when 'moderation.mark_reviewed'
705
711
  GetStream::Generated::Models::ModerationMarkReviewedEvent
712
+ when 'moderation.text_analysis.complete'
713
+ GetStream::Generated::Models::ModerationTextAnalysisCompleteEvent
706
714
  when 'moderation_check.completed'
707
715
  GetStream::Generated::Models::ModerationCheckCompletedEvent
708
716
  when 'moderation_rule.triggered'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GetStreamRuby
4
4
 
5
- VERSION = '7.1.1'
5
+ VERSION = '8.0.0'
6
6
 
7
7
  end