getstream-ruby 7.1.1 → 8.0.1
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/getstream_ruby/extensions/moderation_extensions.rb +3 -2
- data/lib/getstream_ruby/generated/chat_client.rb +57 -0
- data/lib/getstream_ruby/generated/common_client.rb +16 -0
- data/lib/getstream_ruby/generated/feeds_client.rb +55 -0
- data/lib/getstream_ruby/generated/models/add_segment_targets_request.rb +31 -0
- data/lib/getstream_ruby/generated/models/analyze_image_field.rb +56 -0
- data/lib/getstream_ruby/generated/models/analyze_request.rb +81 -0
- data/lib/getstream_ruby/generated/models/analyze_response.rb +46 -0
- data/lib/getstream_ruby/generated/models/analyze_text_field.rb +56 -0
- data/lib/getstream_ruby/generated/models/app_response_fields.rb +15 -0
- data/lib/getstream_ruby/generated/models/appeal_item_response.rb +60 -0
- data/lib/getstream_ruby/generated/models/appeal_request.rb +5 -0
- data/lib/getstream_ruby/generated/models/block_list_response.rb +10 -0
- data/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb +71 -0
- data/lib/getstream_ruby/generated/models/bulk_action_appeals_response.rb +41 -0
- data/lib/getstream_ruby/generated/models/bulk_appeal_error.rb +36 -0
- data/lib/getstream_ruby/generated/models/bulk_appeal_result.rb +36 -0
- data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +10 -0
- data/lib/getstream_ruby/generated/models/cancel_import_v2_task_request.rb +14 -0
- data/lib/getstream_ruby/generated/models/cancel_import_v2_task_response.rb +31 -0
- data/lib/getstream_ruby/generated/models/channel_config_overrides.rb +106 -0
- data/lib/getstream_ruby/generated/models/channel_data_update.rb +1 -1
- data/lib/getstream_ruby/generated/models/channel_input.rb +1 -1
- data/lib/getstream_ruby/generated/models/chat_message_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/classification.rb +46 -0
- data/lib/getstream_ruby/generated/models/client_event.rb +156 -0
- data/lib/getstream_ruby/generated/models/closed_caption_rule_parameters.rb +5 -0
- data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/content_custom_property_count_parameters.rb +46 -0
- data/lib/getstream_ruby/generated/models/content_custom_property_parameters.rb +36 -0
- data/lib/getstream_ruby/generated/models/create_block_list_request.rb +10 -0
- data/lib/getstream_ruby/generated/models/create_device_request.rb +5 -0
- data/lib/getstream_ruby/generated/models/create_segment_request.rb +61 -0
- data/lib/getstream_ruby/generated/models/create_segment_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/delivery_receipts_response.rb +1 -1
- data/lib/getstream_ruby/generated/models/device_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/filter_config_response.rb +9 -4
- data/lib/getstream_ruby/generated/models/flag_details.rb +36 -0
- data/lib/getstream_ruby/generated/models/flag_item_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/flag_response.rb +69 -9
- data/lib/getstream_ruby/generated/models/flood_config.rb +36 -0
- data/lib/getstream_ruby/generated/models/flood_identical_config.rb +46 -0
- data/lib/getstream_ruby/generated/models/flood_similar_config.rb +51 -0
- data/lib/getstream_ruby/generated/models/follow_request.rb +1 -1
- data/lib/getstream_ruby/generated/models/get_or_create_feed_request.rb +5 -0
- data/lib/getstream_ruby/generated/models/get_or_create_follow_response.rb +46 -0
- data/lib/getstream_ruby/generated/models/get_or_create_unfollow_request.rb +51 -0
- data/lib/getstream_ruby/generated/models/get_or_create_unfollow_response.rb +41 -0
- data/lib/getstream_ruby/generated/models/get_setup_session_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/get_user_interests_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/grouped_channels_bucket.rb +10 -0
- data/lib/getstream_ruby/generated/models/grouped_channels_group_request.rb +41 -0
- data/lib/getstream_ruby/generated/models/grouped_query_channels_request.rb +6 -1
- data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
- data/lib/getstream_ruby/generated/models/interest_tag_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/keyframe_ocr_rule_parameters.rb +41 -0
- data/lib/getstream_ruby/generated/models/keyframe_rule_parameters.rb +5 -0
- data/lib/getstream_ruby/generated/models/label_result_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/labels_request.rb +1 -1
- data/lib/getstream_ruby/generated/models/labels_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/llm_rule.rb +5 -5
- data/lib/getstream_ruby/generated/models/matched_content.rb +61 -0
- data/lib/getstream_ruby/generated/models/message_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/message_with_channel_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/moderation_ban_response.rb +31 -0
- data/lib/getstream_ruby/generated/models/moderation_config.rb +5 -0
- data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +15 -0
- data/lib/getstream_ruby/generated/models/moderation_image_analysis_complete_event.rb +81 -0
- data/lib/getstream_ruby/generated/models/moderation_rules_triggered_event.rb +6 -1
- data/lib/getstream_ruby/generated/models/moderation_text_analysis_complete_event.rb +76 -0
- data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +10 -0
- data/lib/getstream_ruby/generated/models/query_review_queue_request.rb +1 -1
- data/lib/getstream_ruby/generated/models/read_receipts_response.rb +1 -1
- data/lib/getstream_ruby/generated/models/report_client_event_request.rb +31 -0
- data/lib/getstream_ruby/generated/models/report_client_event_response.rb +31 -0
- data/lib/getstream_ruby/generated/models/rule_builder_action.rb +5 -0
- data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +15 -0
- data/lib/getstream_ruby/generated/models/search_result_message.rb +5 -0
- data/lib/getstream_ruby/generated/models/setup_session.rb +56 -0
- data/lib/getstream_ruby/generated/models/submit_action_response.rb +5 -0
- data/lib/getstream_ruby/generated/models/target_resolution.rb +6 -6
- data/lib/getstream_ruby/generated/models/text_content_parameters.rb +10 -0
- data/lib/getstream_ruby/generated/models/translation_settings.rb +2 -2
- data/lib/getstream_ruby/generated/models/typing_indicators_response.rb +1 -1
- data/lib/getstream_ruby/generated/models/update_app_request.rb +15 -0
- data/lib/getstream_ruby/generated/models/update_block_list_request.rb +10 -0
- data/lib/getstream_ruby/generated/models/update_follow_request.rb +1 -1
- data/lib/getstream_ruby/generated/models/update_segment_request.rb +41 -0
- data/lib/getstream_ruby/generated/models/update_segment_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/upsert_config_request.rb +5 -0
- data/lib/getstream_ruby/generated/models/upsert_setup_session_request.rb +41 -0
- data/lib/getstream_ruby/generated/models/upsert_setup_session_response.rb +36 -0
- data/lib/getstream_ruby/generated/models/user_banned_event.rb +5 -0
- data/lib/getstream_ruby/generated/moderation_client.rb +66 -2
- data/lib/getstream_ruby/generated/video_client.rb +17 -0
- data/lib/getstream_ruby/generated/webhook.rb +8 -0
- data/lib/getstream_ruby/version.rb +1 -1
- metadata +44 -2
|
@@ -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 KeyframeOCRRuleParameters < GetStream::BaseModel
|
|
10
|
+
|
|
11
|
+
# Model attributes
|
|
12
|
+
# @!attribute threshold
|
|
13
|
+
# @return [Integer]
|
|
14
|
+
attr_accessor :threshold
|
|
15
|
+
# @!attribute time_window
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :time_window
|
|
18
|
+
# @!attribute harm_labels
|
|
19
|
+
# @return [Array<String>]
|
|
20
|
+
attr_accessor :harm_labels
|
|
21
|
+
|
|
22
|
+
# Initialize with attributes
|
|
23
|
+
def initialize(attributes = {})
|
|
24
|
+
super(attributes)
|
|
25
|
+
@threshold = attributes[:threshold] || attributes['threshold'] || nil
|
|
26
|
+
@time_window = attributes[:time_window] || attributes['time_window'] || nil
|
|
27
|
+
@harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Override field mappings for JSON serialization
|
|
31
|
+
def self.json_field_mappings
|
|
32
|
+
{
|
|
33
|
+
threshold: 'threshold',
|
|
34
|
+
time_window: 'time_window',
|
|
35
|
+
harm_labels: 'harm_labels'
|
|
36
|
+
}
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -15,6 +15,9 @@ module GetStream
|
|
|
15
15
|
# @!attribute threshold
|
|
16
16
|
# @return [Integer]
|
|
17
17
|
attr_accessor :threshold
|
|
18
|
+
# @!attribute time_window
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :time_window
|
|
18
21
|
# @!attribute harm_labels
|
|
19
22
|
# @return [Array<String>]
|
|
20
23
|
attr_accessor :harm_labels
|
|
@@ -24,6 +27,7 @@ module GetStream
|
|
|
24
27
|
super(attributes)
|
|
25
28
|
@min_confidence = attributes[:min_confidence] || attributes['min_confidence'] || nil
|
|
26
29
|
@threshold = attributes[:threshold] || attributes['threshold'] || nil
|
|
30
|
+
@time_window = attributes[:time_window] || attributes['time_window'] || nil
|
|
27
31
|
@harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
|
|
28
32
|
end
|
|
29
33
|
|
|
@@ -32,6 +36,7 @@ module GetStream
|
|
|
32
36
|
{
|
|
33
37
|
min_confidence: 'min_confidence',
|
|
34
38
|
threshold: 'threshold',
|
|
39
|
+
time_window: 'time_window',
|
|
35
40
|
harm_labels: 'harm_labels'
|
|
36
41
|
}
|
|
37
42
|
end
|
|
@@ -45,6 +45,9 @@ module GetStream
|
|
|
45
45
|
# @!attribute directed_at
|
|
46
46
|
# @return [String] Who the content is directed at (USER, GROUP, EVERYONE, NONE, etc.)
|
|
47
47
|
attr_accessor :directed_at
|
|
48
|
+
# @!attribute fully_masked_content
|
|
49
|
+
# @return [String] The stored content with every non-whitespace character masked. Present only when recommended_action is not 'keep'. Derived at runtime and never stored.
|
|
50
|
+
attr_accessor :fully_masked_content
|
|
48
51
|
# @!attribute masked_content
|
|
49
52
|
# @return [String] Content with blocklisted tokens masked (when a blocklist rule with action=mask rewrote the original)
|
|
50
53
|
attr_accessor :masked_content
|
|
@@ -70,6 +73,7 @@ module GetStream
|
|
|
70
73
|
@labels = attributes[:labels] || attributes['labels']
|
|
71
74
|
@content_id = attributes[:content_id] || attributes['content_id'] || nil
|
|
72
75
|
@directed_at = attributes[:directed_at] || attributes['directed_at'] || nil
|
|
76
|
+
@fully_masked_content = attributes[:fully_masked_content] || attributes['fully_masked_content'] || nil
|
|
73
77
|
@masked_content = attributes[:masked_content] || attributes['masked_content'] || nil
|
|
74
78
|
@policy = attributes[:policy] || attributes['policy'] || nil
|
|
75
79
|
@user_id = attributes[:user_id] || attributes['user_id'] || nil
|
|
@@ -90,6 +94,7 @@ module GetStream
|
|
|
90
94
|
labels: 'labels',
|
|
91
95
|
content_id: 'content_id',
|
|
92
96
|
directed_at: 'directed_at',
|
|
97
|
+
fully_masked_content: 'fully_masked_content',
|
|
93
98
|
masked_content: 'masked_content',
|
|
94
99
|
policy: 'policy',
|
|
95
100
|
user_id: 'user_id'
|
|
@@ -25,7 +25,7 @@ module GetStream
|
|
|
25
25
|
# @return [Boolean] When true, run moderation and return labels without persisting the result. Useful for one-off checks (e.g. UI testers) that should not be recorded in the stored history.
|
|
26
26
|
attr_accessor :dry_run
|
|
27
27
|
# @!attribute policy
|
|
28
|
-
# @return [String] Optional moderation policy key (max 128 chars)
|
|
28
|
+
# @return [String] Optional moderation policy key (max 128 chars). For username moderation, set this to a policy whose key starts with 'username:' (e.g. 'username:default') to opt into the low-latency fast-path: blocklists (customer + Stream-managed defaults) short-circuit the LLM, and the LLM fallback uses gpt-4.1-nano with a 24h Valkey verdict cache. Without a 'username:' prefix the request falls through to the standard Bodyguard Analyze v1 username path.
|
|
29
29
|
attr_accessor :policy
|
|
30
30
|
# @!attribute user_id
|
|
31
31
|
# @return [String] Optional customer-supplied user identifier for the content author (max 256 chars). Enables filtering stored results by user_id.
|
|
@@ -21,6 +21,9 @@ module GetStream
|
|
|
21
21
|
# @!attribute directed_at
|
|
22
22
|
# @return [String] Who the content is directed at (USER, GROUP, EVERYONE, NONE, etc.), when the provider exposes it
|
|
23
23
|
attr_accessor :directed_at
|
|
24
|
+
# @!attribute fully_masked_content
|
|
25
|
+
# @return [String] The original content with every non-whitespace character masked. Present only when recommended_action is not 'keep'. Derived at runtime and never stored.
|
|
26
|
+
attr_accessor :fully_masked_content
|
|
24
27
|
# @!attribute harm_type
|
|
25
28
|
# @return [String] High-level harm category
|
|
26
29
|
attr_accessor :harm_type
|
|
@@ -44,6 +47,7 @@ module GetStream
|
|
|
44
47
|
@recommended_action = attributes[:recommended_action] || attributes['recommended_action']
|
|
45
48
|
@content_id = attributes[:content_id] || attributes['content_id'] || nil
|
|
46
49
|
@directed_at = attributes[:directed_at] || attributes['directed_at'] || nil
|
|
50
|
+
@fully_masked_content = attributes[:fully_masked_content] || attributes['fully_masked_content'] || nil
|
|
47
51
|
@harm_type = attributes[:harm_type] || attributes['harm_type'] || nil
|
|
48
52
|
@language = attributes[:language] || attributes['language'] || nil
|
|
49
53
|
@masked_content = attributes[:masked_content] || attributes['masked_content'] || nil
|
|
@@ -58,6 +62,7 @@ module GetStream
|
|
|
58
62
|
recommended_action: 'recommended_action',
|
|
59
63
|
content_id: 'content_id',
|
|
60
64
|
directed_at: 'directed_at',
|
|
65
|
+
fully_masked_content: 'fully_masked_content',
|
|
61
66
|
harm_type: 'harm_type',
|
|
62
67
|
language: 'language',
|
|
63
68
|
masked_content: 'masked_content',
|
|
@@ -9,15 +9,15 @@ module GetStream
|
|
|
9
9
|
class LLMRule < GetStream::BaseModel
|
|
10
10
|
|
|
11
11
|
# Model attributes
|
|
12
|
-
# @!attribute description
|
|
13
|
-
# @return [String]
|
|
14
|
-
attr_accessor :description
|
|
15
12
|
# @!attribute label
|
|
16
13
|
# @return [String]
|
|
17
14
|
attr_accessor :label
|
|
18
15
|
# @!attribute action
|
|
19
16
|
# @return [String]
|
|
20
17
|
attr_accessor :action
|
|
18
|
+
# @!attribute description
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :description
|
|
21
21
|
# @!attribute severity_rules
|
|
22
22
|
# @return [Array<BodyguardSeverityRule>]
|
|
23
23
|
attr_accessor :severity_rules
|
|
@@ -25,18 +25,18 @@ module GetStream
|
|
|
25
25
|
# Initialize with attributes
|
|
26
26
|
def initialize(attributes = {})
|
|
27
27
|
super(attributes)
|
|
28
|
-
@description = attributes[:description] || attributes['description']
|
|
29
28
|
@label = attributes[:label] || attributes['label']
|
|
30
29
|
@action = attributes[:action] || attributes['action'] || nil
|
|
30
|
+
@description = attributes[:description] || attributes['description'] || nil
|
|
31
31
|
@severity_rules = attributes[:severity_rules] || attributes['severity_rules'] || nil
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# Override field mappings for JSON serialization
|
|
35
35
|
def self.json_field_mappings
|
|
36
36
|
{
|
|
37
|
-
description: 'description',
|
|
38
37
|
label: 'label',
|
|
39
38
|
action: 'action',
|
|
39
|
+
description: 'description',
|
|
40
40
|
severity_rules: 'severity_rules'
|
|
41
41
|
}
|
|
42
42
|
end
|
|
@@ -0,0 +1,61 @@
|
|
|
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 MatchedContent < GetStream::BaseModel
|
|
10
|
+
|
|
11
|
+
# Model attributes
|
|
12
|
+
# @!attribute id
|
|
13
|
+
# @return [String] The `content_ids[label]` value supplied on the `/analyze` request that contributed this entry.
|
|
14
|
+
attr_accessor :id
|
|
15
|
+
# @!attribute published_at
|
|
16
|
+
# @return [DateTime] `content_published_at` from the contributing `/analyze` request, or server receive time when that field was omitted.
|
|
17
|
+
attr_accessor :published_at
|
|
18
|
+
# @!attribute type
|
|
19
|
+
# @return [String] Content type that contributed this entry: `image` or `text`.
|
|
20
|
+
attr_accessor :type
|
|
21
|
+
# @!attribute confidence
|
|
22
|
+
# @return [Float] Image-classification entries only. Aggregate (max) confidence score across the entry's classifications + sub-classifications. Absent on text and OCR entries.
|
|
23
|
+
attr_accessor :confidence
|
|
24
|
+
# @!attribute severity
|
|
25
|
+
# @return [String] Text and OCR entries. Aggregate (max) Bodyguard severity level (`LOW` / `MEDIUM` / `HIGH` / `CRITICAL`). Absent on image-classification entries.
|
|
26
|
+
attr_accessor :severity
|
|
27
|
+
# @!attribute classifications
|
|
28
|
+
# @return [Array<Classification>] Image-classification entries (keyframe rule, Type=image) carry nested L1 → L2 classifications. Text entries (closed_caption rule, Type=text) carry flat label + severity. Resolved against the app's effective taxonomy on the image side.
|
|
29
|
+
attr_accessor :classifications
|
|
30
|
+
# @!attribute ocr_classifications
|
|
31
|
+
# @return [Array<Classification>] OCR entries only (keyframe_ocr rule, Type=image). Bodyguard labels that fired against the keyframe's OCR-extracted text (e.g. `INSULT`, `HATE_SPEECH`). Distinct from `classifications` so consumers can route OCR matches separately from image-classification matches.
|
|
32
|
+
attr_accessor :ocr_classifications
|
|
33
|
+
|
|
34
|
+
# Initialize with attributes
|
|
35
|
+
def initialize(attributes = {})
|
|
36
|
+
super(attributes)
|
|
37
|
+
@id = attributes[:id] || attributes['id']
|
|
38
|
+
@published_at = attributes[:published_at] || attributes['published_at']
|
|
39
|
+
@type = attributes[:type] || attributes['type']
|
|
40
|
+
@confidence = attributes[:confidence] || attributes['confidence'] || nil
|
|
41
|
+
@severity = attributes[:severity] || attributes['severity'] || nil
|
|
42
|
+
@classifications = attributes[:classifications] || attributes['classifications'] || nil
|
|
43
|
+
@ocr_classifications = attributes[:ocr_classifications] || attributes['ocr_classifications'] || nil
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Override field mappings for JSON serialization
|
|
47
|
+
def self.json_field_mappings
|
|
48
|
+
{
|
|
49
|
+
id: 'id',
|
|
50
|
+
published_at: 'published_at',
|
|
51
|
+
type: 'type',
|
|
52
|
+
confidence: 'confidence',
|
|
53
|
+
severity: 'severity',
|
|
54
|
+
classifications: 'classifications',
|
|
55
|
+
ocr_classifications: 'ocr_classifications'
|
|
56
|
+
}
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -114,6 +114,9 @@ module GetStream
|
|
|
114
114
|
# @!attribute mentioned_group_ids
|
|
115
115
|
# @return [Array<String>] List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups
|
|
116
116
|
attr_accessor :mentioned_group_ids
|
|
117
|
+
# @!attribute mentioned_groups
|
|
118
|
+
# @return [Array<UserGroupResponse>] List of mentioned user group objects.
|
|
119
|
+
attr_accessor :mentioned_groups
|
|
117
120
|
# @!attribute mentioned_roles
|
|
118
121
|
# @return [Array<String>] List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
|
|
119
122
|
attr_accessor :mentioned_roles
|
|
@@ -192,6 +195,7 @@ module GetStream
|
|
|
192
195
|
@quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
|
|
193
196
|
@show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
|
|
194
197
|
@mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
|
|
198
|
+
@mentioned_groups = attributes[:mentioned_groups] || attributes['mentioned_groups'] || nil
|
|
195
199
|
@mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
|
|
196
200
|
@thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
|
|
197
201
|
@draft = attributes[:draft] || attributes['draft'] || nil
|
|
@@ -245,6 +249,7 @@ module GetStream
|
|
|
245
249
|
quoted_message_id: 'quoted_message_id',
|
|
246
250
|
show_in_channel: 'show_in_channel',
|
|
247
251
|
mentioned_group_ids: 'mentioned_group_ids',
|
|
252
|
+
mentioned_groups: 'mentioned_groups',
|
|
248
253
|
mentioned_roles: 'mentioned_roles',
|
|
249
254
|
thread_participants: 'thread_participants',
|
|
250
255
|
draft: 'draft',
|
|
@@ -117,6 +117,9 @@ module GetStream
|
|
|
117
117
|
# @!attribute mentioned_group_ids
|
|
118
118
|
# @return [Array<String>] List of user group IDs mentioned in the message. Group members who are also channel members will receive push notifications based on their push preferences. Max 10 groups
|
|
119
119
|
attr_accessor :mentioned_group_ids
|
|
120
|
+
# @!attribute mentioned_groups
|
|
121
|
+
# @return [Array<UserGroupResponse>] List of mentioned user group objects.
|
|
122
|
+
attr_accessor :mentioned_groups
|
|
120
123
|
# @!attribute mentioned_roles
|
|
121
124
|
# @return [Array<String>] List of roles mentioned in the message (e.g. admin, channel_moderator, custom roles). Members with matching roles will receive push notifications based on their push preferences. Max 10 roles
|
|
122
125
|
attr_accessor :mentioned_roles
|
|
@@ -196,6 +199,7 @@ module GetStream
|
|
|
196
199
|
@quoted_message_id = attributes[:quoted_message_id] || attributes['quoted_message_id'] || nil
|
|
197
200
|
@show_in_channel = attributes[:show_in_channel] || attributes['show_in_channel'] || nil
|
|
198
201
|
@mentioned_group_ids = attributes[:mentioned_group_ids] || attributes['mentioned_group_ids'] || nil
|
|
202
|
+
@mentioned_groups = attributes[:mentioned_groups] || attributes['mentioned_groups'] || nil
|
|
199
203
|
@mentioned_roles = attributes[:mentioned_roles] || attributes['mentioned_roles'] || nil
|
|
200
204
|
@thread_participants = attributes[:thread_participants] || attributes['thread_participants'] || nil
|
|
201
205
|
@draft = attributes[:draft] || attributes['draft'] || nil
|
|
@@ -250,6 +254,7 @@ module GetStream
|
|
|
250
254
|
quoted_message_id: 'quoted_message_id',
|
|
251
255
|
show_in_channel: 'show_in_channel',
|
|
252
256
|
mentioned_group_ids: 'mentioned_group_ids',
|
|
257
|
+
mentioned_groups: 'mentioned_groups',
|
|
253
258
|
mentioned_roles: 'mentioned_roles',
|
|
254
259
|
thread_participants: 'thread_participants',
|
|
255
260
|
draft: 'draft',
|
|
@@ -0,0 +1,31 @@
|
|
|
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 ModerationBanResponse < GetStream::BaseModel
|
|
10
|
+
|
|
11
|
+
# Model attributes
|
|
12
|
+
# @!attribute duration
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :duration
|
|
15
|
+
|
|
16
|
+
# Initialize with attributes
|
|
17
|
+
def initialize(attributes = {})
|
|
18
|
+
super(attributes)
|
|
19
|
+
@duration = attributes[:duration] || attributes['duration']
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Override field mappings for JSON serialization
|
|
23
|
+
def self.json_field_mappings
|
|
24
|
+
{
|
|
25
|
+
duration: 'duration'
|
|
26
|
+
}
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -51,6 +51,9 @@ module GetStream
|
|
|
51
51
|
# @!attribute block_list_config
|
|
52
52
|
# @return [BlockListConfig]
|
|
53
53
|
attr_accessor :block_list_config
|
|
54
|
+
# @!attribute flood_config
|
|
55
|
+
# @return [FloodConfig]
|
|
56
|
+
attr_accessor :flood_config
|
|
54
57
|
# @!attribute google_vision_config
|
|
55
58
|
# @return [GoogleVisionConfig]
|
|
56
59
|
attr_accessor :google_vision_config
|
|
@@ -81,6 +84,7 @@ module GetStream
|
|
|
81
84
|
@automod_semantic_filters_config = attributes[:automod_semantic_filters_config] || attributes['automod_semantic_filters_config'] || nil
|
|
82
85
|
@automod_toxicity_config = attributes[:automod_toxicity_config] || attributes['automod_toxicity_config'] || nil
|
|
83
86
|
@block_list_config = attributes[:block_list_config] || attributes['block_list_config'] || nil
|
|
87
|
+
@flood_config = attributes[:flood_config] || attributes['flood_config'] || nil
|
|
84
88
|
@google_vision_config = attributes[:google_vision_config] || attributes['google_vision_config'] || nil
|
|
85
89
|
@llm_config = attributes[:llm_config] || attributes['llm_config'] || nil
|
|
86
90
|
@velocity_filter_config = attributes[:velocity_filter_config] || attributes['velocity_filter_config'] || nil
|
|
@@ -104,6 +108,7 @@ module GetStream
|
|
|
104
108
|
automod_semantic_filters_config: 'automod_semantic_filters_config',
|
|
105
109
|
automod_toxicity_config: 'automod_toxicity_config',
|
|
106
110
|
block_list_config: 'block_list_config',
|
|
111
|
+
flood_config: 'flood_config',
|
|
107
112
|
google_vision_config: 'google_vision_config',
|
|
108
113
|
llm_config: 'llm_config',
|
|
109
114
|
velocity_filter_config: 'velocity_filter_config',
|
|
@@ -9,6 +9,9 @@ module GetStream
|
|
|
9
9
|
class ModerationDashboardPreferences < GetStream::BaseModel
|
|
10
10
|
|
|
11
11
|
# Model attributes
|
|
12
|
+
# @!attribute analyze_max_image_size_bytes
|
|
13
|
+
# @return [Integer]
|
|
14
|
+
attr_accessor :analyze_max_image_size_bytes
|
|
12
15
|
# @!attribute async_review_queue_upsert
|
|
13
16
|
# @return [Boolean]
|
|
14
17
|
attr_accessor :async_review_queue_upsert
|
|
@@ -30,12 +33,18 @@ module GetStream
|
|
|
30
33
|
# @!attribute media_queue_blur_enabled
|
|
31
34
|
# @return [Boolean]
|
|
32
35
|
attr_accessor :media_queue_blur_enabled
|
|
36
|
+
# @!attribute webhook_header_client_request_id_key
|
|
37
|
+
# @return [String]
|
|
38
|
+
attr_accessor :webhook_header_client_request_id_key
|
|
33
39
|
# @!attribute allowed_moderation_action_reasons
|
|
34
40
|
# @return [Array<String>]
|
|
35
41
|
attr_accessor :allowed_moderation_action_reasons
|
|
36
42
|
# @!attribute escalation_reasons
|
|
37
43
|
# @return [Array<String>]
|
|
38
44
|
attr_accessor :escalation_reasons
|
|
45
|
+
# @!attribute filterable_custom_keys
|
|
46
|
+
# @return [Array<String>]
|
|
47
|
+
attr_accessor :filterable_custom_keys
|
|
39
48
|
# @!attribute keyframe_classifications_map
|
|
40
49
|
# @return [Hash<String, Hash<String, Boolean>>]
|
|
41
50
|
attr_accessor :keyframe_classifications_map
|
|
@@ -46,6 +55,7 @@ module GetStream
|
|
|
46
55
|
# Initialize with attributes
|
|
47
56
|
def initialize(attributes = {})
|
|
48
57
|
super(attributes)
|
|
58
|
+
@analyze_max_image_size_bytes = attributes[:analyze_max_image_size_bytes] || attributes['analyze_max_image_size_bytes'] || nil
|
|
49
59
|
@async_review_queue_upsert = attributes[:async_review_queue_upsert] || attributes['async_review_queue_upsert'] || nil
|
|
50
60
|
@disable_audit_logs = attributes[:disable_audit_logs] || attributes['disable_audit_logs'] || nil
|
|
51
61
|
@disable_flagging_reviewed_entity = attributes[:disable_flagging_reviewed_entity] || attributes['disable_flagging_reviewed_entity'] || nil
|
|
@@ -53,8 +63,10 @@ module GetStream
|
|
|
53
63
|
@flag_user_on_flagged_content = attributes[:flag_user_on_flagged_content] || attributes['flag_user_on_flagged_content'] || nil
|
|
54
64
|
@include_attachment_payload = attributes[:include_attachment_payload] || attributes['include_attachment_payload'] || nil
|
|
55
65
|
@media_queue_blur_enabled = attributes[:media_queue_blur_enabled] || attributes['media_queue_blur_enabled'] || nil
|
|
66
|
+
@webhook_header_client_request_id_key = attributes[:webhook_header_client_request_id_key] || attributes['webhook_header_client_request_id_key'] || nil
|
|
56
67
|
@allowed_moderation_action_reasons = attributes[:allowed_moderation_action_reasons] || attributes['allowed_moderation_action_reasons'] || nil
|
|
57
68
|
@escalation_reasons = attributes[:escalation_reasons] || attributes['escalation_reasons'] || nil
|
|
69
|
+
@filterable_custom_keys = attributes[:filterable_custom_keys] || attributes['filterable_custom_keys'] || nil
|
|
58
70
|
@keyframe_classifications_map = attributes[:keyframe_classifications_map] || attributes['keyframe_classifications_map'] || nil
|
|
59
71
|
@overview_dashboard = attributes[:overview_dashboard] || attributes['overview_dashboard'] || nil
|
|
60
72
|
end
|
|
@@ -62,6 +74,7 @@ module GetStream
|
|
|
62
74
|
# Override field mappings for JSON serialization
|
|
63
75
|
def self.json_field_mappings
|
|
64
76
|
{
|
|
77
|
+
analyze_max_image_size_bytes: 'analyze_max_image_size_bytes',
|
|
65
78
|
async_review_queue_upsert: 'async_review_queue_upsert',
|
|
66
79
|
disable_audit_logs: 'disable_audit_logs',
|
|
67
80
|
disable_flagging_reviewed_entity: 'disable_flagging_reviewed_entity',
|
|
@@ -69,8 +82,10 @@ module GetStream
|
|
|
69
82
|
flag_user_on_flagged_content: 'flag_user_on_flagged_content',
|
|
70
83
|
include_attachment_payload: 'include_attachment_payload',
|
|
71
84
|
media_queue_blur_enabled: 'media_queue_blur_enabled',
|
|
85
|
+
webhook_header_client_request_id_key: 'webhook_header_client_request_id_key',
|
|
72
86
|
allowed_moderation_action_reasons: 'allowed_moderation_action_reasons',
|
|
73
87
|
escalation_reasons: 'escalation_reasons',
|
|
88
|
+
filterable_custom_keys: 'filterable_custom_keys',
|
|
74
89
|
keyframe_classifications_map: 'keyframe_classifications_map',
|
|
75
90
|
overview_dashboard: 'overview_dashboard'
|
|
76
91
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
# Per-image moderation verdict from /analyze. Fires on every /analyze call that included image inputs (callers also get the verdict on the HTTP response — this event is the audit / reconciliation tap). For the /analyze origin it replaces the legacy review_queue_item.* + moderation_check.completed events.
|
|
9
|
+
class ModerationImageAnalysisCompleteEvent < GetStream::BaseModel
|
|
10
|
+
|
|
11
|
+
# Model attributes
|
|
12
|
+
# @!attribute created_at
|
|
13
|
+
# @return [DateTime]
|
|
14
|
+
attr_accessor :created_at
|
|
15
|
+
# @!attribute type
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :type
|
|
18
|
+
# @!attribute config_key
|
|
19
|
+
# @return [String] The moderation policy key that was applied.
|
|
20
|
+
attr_accessor :config_key
|
|
21
|
+
# @!attribute entity_creator_id
|
|
22
|
+
# @return [String] Echo of the `entity_creator_id` on the /analyze request.
|
|
23
|
+
attr_accessor :entity_creator_id
|
|
24
|
+
# @!attribute entity_id
|
|
25
|
+
# @return [String] Echo of the `entity_id` on the /analyze request.
|
|
26
|
+
attr_accessor :entity_id
|
|
27
|
+
# @!attribute entity_type
|
|
28
|
+
# @return [String] Echo of the `entity_type` on the /analyze request.
|
|
29
|
+
attr_accessor :entity_type
|
|
30
|
+
# @!attribute received_at
|
|
31
|
+
# @return [DateTime]
|
|
32
|
+
attr_accessor :received_at
|
|
33
|
+
# @!attribute review_queue_item_id
|
|
34
|
+
# @return [String] Review queue row ID for deep-linking into the dashboard.
|
|
35
|
+
attr_accessor :review_queue_item_id
|
|
36
|
+
# @!attribute custom
|
|
37
|
+
# @return [Object] Echo of the `custom` metadata on the /analyze request.
|
|
38
|
+
attr_accessor :custom
|
|
39
|
+
# @!attribute images
|
|
40
|
+
# @return [Hash<String, AnalyzeImageField>] Per-image verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`.
|
|
41
|
+
attr_accessor :images
|
|
42
|
+
# @!attribute texts
|
|
43
|
+
# @return [Hash<String, AnalyzeTextField>] Per-text-field verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`.
|
|
44
|
+
attr_accessor :texts
|
|
45
|
+
|
|
46
|
+
# Initialize with attributes
|
|
47
|
+
def initialize(attributes = {})
|
|
48
|
+
super(attributes)
|
|
49
|
+
@created_at = attributes[:created_at] || attributes['created_at']
|
|
50
|
+
@type = attributes[:type] || attributes['type'] || "moderation.image_analysis.complete"
|
|
51
|
+
@config_key = attributes[:config_key] || attributes['config_key'] || nil
|
|
52
|
+
@entity_creator_id = attributes[:entity_creator_id] || attributes['entity_creator_id'] || nil
|
|
53
|
+
@entity_id = attributes[:entity_id] || attributes['entity_id'] || nil
|
|
54
|
+
@entity_type = attributes[:entity_type] || attributes['entity_type'] || nil
|
|
55
|
+
@received_at = attributes[:received_at] || attributes['received_at'] || nil
|
|
56
|
+
@review_queue_item_id = attributes[:review_queue_item_id] || attributes['review_queue_item_id'] || nil
|
|
57
|
+
@custom = attributes[:custom] || attributes['custom'] || nil
|
|
58
|
+
@images = attributes[:images] || attributes['images'] || nil
|
|
59
|
+
@texts = attributes[:texts] || attributes['texts'] || nil
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Override field mappings for JSON serialization
|
|
63
|
+
def self.json_field_mappings
|
|
64
|
+
{
|
|
65
|
+
created_at: 'created_at',
|
|
66
|
+
type: 'type',
|
|
67
|
+
config_key: 'config_key',
|
|
68
|
+
entity_creator_id: 'entity_creator_id',
|
|
69
|
+
entity_id: 'entity_id',
|
|
70
|
+
entity_type: 'entity_type',
|
|
71
|
+
received_at: 'received_at',
|
|
72
|
+
review_queue_item_id: 'review_queue_item_id',
|
|
73
|
+
custom: 'custom',
|
|
74
|
+
images: 'images',
|
|
75
|
+
texts: 'texts'
|
|
76
|
+
}
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -42,6 +42,9 @@ module GetStream
|
|
|
42
42
|
# @!attribute violation_number
|
|
43
43
|
# @return [Integer] The violation number for call rules (optional)
|
|
44
44
|
attr_accessor :violation_number
|
|
45
|
+
# @!attribute matched_contents
|
|
46
|
+
# @return [Array<MatchedContent>] Ordered list of contents whose verdicts contributed to an aggregation rule's threshold. Populated only for aggregation rules when callers supplied `content_ids`.
|
|
47
|
+
attr_accessor :matched_contents
|
|
45
48
|
|
|
46
49
|
# Initialize with attributes
|
|
47
50
|
def initialize(attributes = {})
|
|
@@ -57,6 +60,7 @@ module GetStream
|
|
|
57
60
|
@received_at = attributes[:received_at] || attributes['received_at'] || nil
|
|
58
61
|
@review_queue_item_id = attributes[:review_queue_item_id] || attributes['review_queue_item_id'] || nil
|
|
59
62
|
@violation_number = attributes[:violation_number] || attributes['violation_number'] || nil
|
|
63
|
+
@matched_contents = attributes[:matched_contents] || attributes['matched_contents'] || nil
|
|
60
64
|
end
|
|
61
65
|
|
|
62
66
|
# Override field mappings for JSON serialization
|
|
@@ -72,7 +76,8 @@ module GetStream
|
|
|
72
76
|
type: 'type',
|
|
73
77
|
received_at: 'received_at',
|
|
74
78
|
review_queue_item_id: 'review_queue_item_id',
|
|
75
|
-
violation_number: 'violation_number'
|
|
79
|
+
violation_number: 'violation_number',
|
|
80
|
+
matched_contents: 'matched_contents'
|
|
76
81
|
}
|
|
77
82
|
end
|
|
78
83
|
end
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
# Per-text moderation verdict from /analyze. Fires on every /analyze call that included text inputs. Sibling of moderation.image_analysis.complete with the same audit / reconciliation purpose; for the /analyze origin this event replaces the legacy review_queue_item.* + moderation_check.completed events.
|
|
9
|
+
class ModerationTextAnalysisCompleteEvent < GetStream::BaseModel
|
|
10
|
+
|
|
11
|
+
# Model attributes
|
|
12
|
+
# @!attribute created_at
|
|
13
|
+
# @return [DateTime]
|
|
14
|
+
attr_accessor :created_at
|
|
15
|
+
# @!attribute type
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :type
|
|
18
|
+
# @!attribute config_key
|
|
19
|
+
# @return [String] The moderation policy key that was applied.
|
|
20
|
+
attr_accessor :config_key
|
|
21
|
+
# @!attribute entity_creator_id
|
|
22
|
+
# @return [String] Echo of the `entity_creator_id` on the /analyze request.
|
|
23
|
+
attr_accessor :entity_creator_id
|
|
24
|
+
# @!attribute entity_id
|
|
25
|
+
# @return [String] Echo of the `entity_id` on the /analyze request.
|
|
26
|
+
attr_accessor :entity_id
|
|
27
|
+
# @!attribute entity_type
|
|
28
|
+
# @return [String] Echo of the `entity_type` on the /analyze request.
|
|
29
|
+
attr_accessor :entity_type
|
|
30
|
+
# @!attribute received_at
|
|
31
|
+
# @return [DateTime]
|
|
32
|
+
attr_accessor :received_at
|
|
33
|
+
# @!attribute review_queue_item_id
|
|
34
|
+
# @return [String] Review queue row ID for deep-linking into the dashboard.
|
|
35
|
+
attr_accessor :review_queue_item_id
|
|
36
|
+
# @!attribute custom
|
|
37
|
+
# @return [Object] Echo of the `custom` metadata on the /analyze request.
|
|
38
|
+
attr_accessor :custom
|
|
39
|
+
# @!attribute texts
|
|
40
|
+
# @return [Hash<String, AnalyzeTextField>] Per-text-field verdicts, same shape as the /analyze HTTP response. Each entry carries `id` when the request supplied `content_ids`.
|
|
41
|
+
attr_accessor :texts
|
|
42
|
+
|
|
43
|
+
# Initialize with attributes
|
|
44
|
+
def initialize(attributes = {})
|
|
45
|
+
super(attributes)
|
|
46
|
+
@created_at = attributes[:created_at] || attributes['created_at']
|
|
47
|
+
@type = attributes[:type] || attributes['type'] || "moderation.text_analysis.complete"
|
|
48
|
+
@config_key = attributes[:config_key] || attributes['config_key'] || nil
|
|
49
|
+
@entity_creator_id = attributes[:entity_creator_id] || attributes['entity_creator_id'] || nil
|
|
50
|
+
@entity_id = attributes[:entity_id] || attributes['entity_id'] || nil
|
|
51
|
+
@entity_type = attributes[:entity_type] || attributes['entity_type'] || nil
|
|
52
|
+
@received_at = attributes[:received_at] || attributes['received_at'] || nil
|
|
53
|
+
@review_queue_item_id = attributes[:review_queue_item_id] || attributes['review_queue_item_id'] || nil
|
|
54
|
+
@custom = attributes[:custom] || attributes['custom'] || nil
|
|
55
|
+
@texts = attributes[:texts] || attributes['texts'] || nil
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Override field mappings for JSON serialization
|
|
59
|
+
def self.json_field_mappings
|
|
60
|
+
{
|
|
61
|
+
created_at: 'created_at',
|
|
62
|
+
type: 'type',
|
|
63
|
+
config_key: 'config_key',
|
|
64
|
+
entity_creator_id: 'entity_creator_id',
|
|
65
|
+
entity_id: 'entity_id',
|
|
66
|
+
entity_type: 'entity_type',
|
|
67
|
+
received_at: 'received_at',
|
|
68
|
+
review_queue_item_id: 'review_queue_item_id',
|
|
69
|
+
custom: 'custom',
|
|
70
|
+
texts: 'texts'
|
|
71
|
+
}
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -21,6 +21,9 @@ module GetStream
|
|
|
21
21
|
# @!attribute keyframe_labels
|
|
22
22
|
# @return [Array<String>] Deprecated: use keyframe_label_classifications instead. Available L1 harm labels for keyframe rules
|
|
23
23
|
attr_accessor :keyframe_labels
|
|
24
|
+
# @!attribute ocr_labels
|
|
25
|
+
# @return [Array<String>] Available harm labels for keyframe OCR rules. Mirrors `closed_caption_labels` today but kept as a separate field so the two pickers can diverge later.
|
|
26
|
+
attr_accessor :ocr_labels
|
|
24
27
|
# @!attribute rules
|
|
25
28
|
# @return [Array<ModerationRuleV2Response>] List of moderation rules
|
|
26
29
|
attr_accessor :rules
|
|
@@ -30,6 +33,9 @@ module GetStream
|
|
|
30
33
|
# @!attribute default_llm_labels
|
|
31
34
|
# @return [Hash<String, String>] Default LLM label descriptions
|
|
32
35
|
attr_accessor :default_llm_labels
|
|
36
|
+
# @!attribute default_username_llm_labels
|
|
37
|
+
# @return [Hash<String, String>] Recommended LLM label descriptions for username-scoped policies (key starts with 'username:'). Used by /moderation/v2/labels fast-path.
|
|
38
|
+
attr_accessor :default_username_llm_labels
|
|
33
39
|
# @!attribute keyframe_label_classifications
|
|
34
40
|
# @return [Hash<String, Array<String>>] L1 to L2 mapping of keyframe harm label classifications
|
|
35
41
|
attr_accessor :keyframe_label_classifications
|
|
@@ -47,9 +53,11 @@ module GetStream
|
|
|
47
53
|
@ai_image_label_definitions = attributes[:ai_image_label_definitions] || attributes['ai_image_label_definitions']
|
|
48
54
|
@closed_caption_labels = attributes[:closed_caption_labels] || attributes['closed_caption_labels']
|
|
49
55
|
@keyframe_labels = attributes[:keyframe_labels] || attributes['keyframe_labels']
|
|
56
|
+
@ocr_labels = attributes[:ocr_labels] || attributes['ocr_labels']
|
|
50
57
|
@rules = attributes[:rules] || attributes['rules']
|
|
51
58
|
@ai_image_subclassifications = attributes[:ai_image_subclassifications] || attributes['ai_image_subclassifications']
|
|
52
59
|
@default_llm_labels = attributes[:default_llm_labels] || attributes['default_llm_labels']
|
|
60
|
+
@default_username_llm_labels = attributes[:default_username_llm_labels] || attributes['default_username_llm_labels']
|
|
53
61
|
@keyframe_label_classifications = attributes[:keyframe_label_classifications] || attributes['keyframe_label_classifications']
|
|
54
62
|
@next = attributes[:next] || attributes['next'] || nil
|
|
55
63
|
@prev = attributes[:prev] || attributes['prev'] || nil
|
|
@@ -62,9 +70,11 @@ module GetStream
|
|
|
62
70
|
ai_image_label_definitions: 'ai_image_label_definitions',
|
|
63
71
|
closed_caption_labels: 'closed_caption_labels',
|
|
64
72
|
keyframe_labels: 'keyframe_labels',
|
|
73
|
+
ocr_labels: 'ocr_labels',
|
|
65
74
|
rules: 'rules',
|
|
66
75
|
ai_image_subclassifications: 'ai_image_subclassifications',
|
|
67
76
|
default_llm_labels: 'default_llm_labels',
|
|
77
|
+
default_username_llm_labels: 'default_username_llm_labels',
|
|
68
78
|
keyframe_label_classifications: 'keyframe_label_classifications',
|
|
69
79
|
next: 'next',
|
|
70
80
|
prev: 'prev'
|
|
@@ -40,7 +40,7 @@ module GetStream
|
|
|
40
40
|
# @return [Array<SortParamRequest>] Sorting parameters for the results
|
|
41
41
|
attr_accessor :sort
|
|
42
42
|
# @!attribute filter
|
|
43
|
-
# @return [Object] Filter conditions for review queue items
|
|
43
|
+
# @return [Object] Filter conditions for review queue items. Accepts built-in fields (e.g. status, channel_cid, severity, recommended_action) and customer-supplied moderation_payload.custom keys: any key that is not a built-in field is matched against the item's custom moderation data (e.g. {"location_id": "loc-42"}). Use filter_config.filterable_custom_keys to discover which custom keys the app exposes as chips.
|
|
44
44
|
attr_accessor :filter
|
|
45
45
|
# @!attribute user
|
|
46
46
|
# @return [UserRequest]
|