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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/getstream_ruby/extensions/moderation_extensions.rb +3 -2
  4. data/lib/getstream_ruby/generated/chat_client.rb +57 -0
  5. data/lib/getstream_ruby/generated/common_client.rb +16 -0
  6. data/lib/getstream_ruby/generated/feeds_client.rb +55 -0
  7. data/lib/getstream_ruby/generated/models/add_segment_targets_request.rb +31 -0
  8. data/lib/getstream_ruby/generated/models/analyze_image_field.rb +56 -0
  9. data/lib/getstream_ruby/generated/models/analyze_request.rb +81 -0
  10. data/lib/getstream_ruby/generated/models/analyze_response.rb +46 -0
  11. data/lib/getstream_ruby/generated/models/analyze_text_field.rb +56 -0
  12. data/lib/getstream_ruby/generated/models/app_response_fields.rb +15 -0
  13. data/lib/getstream_ruby/generated/models/appeal_item_response.rb +60 -0
  14. data/lib/getstream_ruby/generated/models/appeal_request.rb +5 -0
  15. data/lib/getstream_ruby/generated/models/block_list_response.rb +10 -0
  16. data/lib/getstream_ruby/generated/models/bulk_action_appeals_request.rb +71 -0
  17. data/lib/getstream_ruby/generated/models/bulk_action_appeals_response.rb +41 -0
  18. data/lib/getstream_ruby/generated/models/bulk_appeal_error.rb +36 -0
  19. data/lib/getstream_ruby/generated/models/bulk_appeal_result.rb +36 -0
  20. data/lib/getstream_ruby/generated/models/call_stats_participant_counts.rb +10 -0
  21. data/lib/getstream_ruby/generated/models/cancel_import_v2_task_request.rb +14 -0
  22. data/lib/getstream_ruby/generated/models/cancel_import_v2_task_response.rb +31 -0
  23. data/lib/getstream_ruby/generated/models/channel_config_overrides.rb +106 -0
  24. data/lib/getstream_ruby/generated/models/channel_data_update.rb +1 -1
  25. data/lib/getstream_ruby/generated/models/channel_input.rb +1 -1
  26. data/lib/getstream_ruby/generated/models/chat_message_response.rb +5 -0
  27. data/lib/getstream_ruby/generated/models/classification.rb +46 -0
  28. data/lib/getstream_ruby/generated/models/client_event.rb +156 -0
  29. data/lib/getstream_ruby/generated/models/closed_caption_rule_parameters.rb +5 -0
  30. data/lib/getstream_ruby/generated/models/config_response.rb +5 -0
  31. data/lib/getstream_ruby/generated/models/content_custom_property_count_parameters.rb +46 -0
  32. data/lib/getstream_ruby/generated/models/content_custom_property_parameters.rb +36 -0
  33. data/lib/getstream_ruby/generated/models/create_block_list_request.rb +10 -0
  34. data/lib/getstream_ruby/generated/models/create_device_request.rb +5 -0
  35. data/lib/getstream_ruby/generated/models/create_segment_request.rb +61 -0
  36. data/lib/getstream_ruby/generated/models/create_segment_response.rb +36 -0
  37. data/lib/getstream_ruby/generated/models/delivery_receipts_response.rb +1 -1
  38. data/lib/getstream_ruby/generated/models/device_response.rb +5 -0
  39. data/lib/getstream_ruby/generated/models/filter_config_response.rb +9 -4
  40. data/lib/getstream_ruby/generated/models/flag_details.rb +36 -0
  41. data/lib/getstream_ruby/generated/models/flag_item_response.rb +36 -0
  42. data/lib/getstream_ruby/generated/models/flag_response.rb +69 -9
  43. data/lib/getstream_ruby/generated/models/flood_config.rb +36 -0
  44. data/lib/getstream_ruby/generated/models/flood_identical_config.rb +46 -0
  45. data/lib/getstream_ruby/generated/models/flood_similar_config.rb +51 -0
  46. data/lib/getstream_ruby/generated/models/follow_request.rb +1 -1
  47. data/lib/getstream_ruby/generated/models/get_or_create_feed_request.rb +5 -0
  48. data/lib/getstream_ruby/generated/models/get_or_create_follow_response.rb +46 -0
  49. data/lib/getstream_ruby/generated/models/get_or_create_unfollow_request.rb +51 -0
  50. data/lib/getstream_ruby/generated/models/get_or_create_unfollow_response.rb +41 -0
  51. data/lib/getstream_ruby/generated/models/get_setup_session_response.rb +36 -0
  52. data/lib/getstream_ruby/generated/models/get_user_interests_response.rb +36 -0
  53. data/lib/getstream_ruby/generated/models/grouped_channels_bucket.rb +10 -0
  54. data/lib/getstream_ruby/generated/models/grouped_channels_group_request.rb +41 -0
  55. data/lib/getstream_ruby/generated/models/grouped_query_channels_request.rb +6 -1
  56. data/lib/getstream_ruby/generated/models/import_v2_task_settings.rb +5 -0
  57. data/lib/getstream_ruby/generated/models/interest_tag_response.rb +36 -0
  58. data/lib/getstream_ruby/generated/models/keyframe_ocr_rule_parameters.rb +41 -0
  59. data/lib/getstream_ruby/generated/models/keyframe_rule_parameters.rb +5 -0
  60. data/lib/getstream_ruby/generated/models/label_result_response.rb +5 -0
  61. data/lib/getstream_ruby/generated/models/labels_request.rb +1 -1
  62. data/lib/getstream_ruby/generated/models/labels_response.rb +5 -0
  63. data/lib/getstream_ruby/generated/models/llm_rule.rb +5 -5
  64. data/lib/getstream_ruby/generated/models/matched_content.rb +61 -0
  65. data/lib/getstream_ruby/generated/models/message_response.rb +5 -0
  66. data/lib/getstream_ruby/generated/models/message_with_channel_response.rb +5 -0
  67. data/lib/getstream_ruby/generated/models/moderation_ban_response.rb +31 -0
  68. data/lib/getstream_ruby/generated/models/moderation_config.rb +5 -0
  69. data/lib/getstream_ruby/generated/models/moderation_dashboard_preferences.rb +15 -0
  70. data/lib/getstream_ruby/generated/models/moderation_image_analysis_complete_event.rb +81 -0
  71. data/lib/getstream_ruby/generated/models/moderation_rules_triggered_event.rb +6 -1
  72. data/lib/getstream_ruby/generated/models/moderation_text_analysis_complete_event.rb +76 -0
  73. data/lib/getstream_ruby/generated/models/query_moderation_rules_response.rb +10 -0
  74. data/lib/getstream_ruby/generated/models/query_review_queue_request.rb +1 -1
  75. data/lib/getstream_ruby/generated/models/read_receipts_response.rb +1 -1
  76. data/lib/getstream_ruby/generated/models/report_client_event_request.rb +31 -0
  77. data/lib/getstream_ruby/generated/models/report_client_event_response.rb +31 -0
  78. data/lib/getstream_ruby/generated/models/rule_builder_action.rb +5 -0
  79. data/lib/getstream_ruby/generated/models/rule_builder_condition.rb +15 -0
  80. data/lib/getstream_ruby/generated/models/search_result_message.rb +5 -0
  81. data/lib/getstream_ruby/generated/models/setup_session.rb +56 -0
  82. data/lib/getstream_ruby/generated/models/submit_action_response.rb +5 -0
  83. data/lib/getstream_ruby/generated/models/target_resolution.rb +6 -6
  84. data/lib/getstream_ruby/generated/models/text_content_parameters.rb +10 -0
  85. data/lib/getstream_ruby/generated/models/translation_settings.rb +2 -2
  86. data/lib/getstream_ruby/generated/models/typing_indicators_response.rb +1 -1
  87. data/lib/getstream_ruby/generated/models/update_app_request.rb +15 -0
  88. data/lib/getstream_ruby/generated/models/update_block_list_request.rb +10 -0
  89. data/lib/getstream_ruby/generated/models/update_follow_request.rb +1 -1
  90. data/lib/getstream_ruby/generated/models/update_segment_request.rb +41 -0
  91. data/lib/getstream_ruby/generated/models/update_segment_response.rb +36 -0
  92. data/lib/getstream_ruby/generated/models/upsert_config_request.rb +5 -0
  93. data/lib/getstream_ruby/generated/models/upsert_setup_session_request.rb +41 -0
  94. data/lib/getstream_ruby/generated/models/upsert_setup_session_response.rb +36 -0
  95. data/lib/getstream_ruby/generated/models/user_banned_event.rb +5 -0
  96. data/lib/getstream_ruby/generated/moderation_client.rb +66 -2
  97. data/lib/getstream_ruby/generated/video_client.rb +17 -0
  98. data/lib/getstream_ruby/generated/webhook.rb +8 -0
  99. data/lib/getstream_ruby/version.rb +1 -1
  100. metadata +44 -2
@@ -0,0 +1,156 @@
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
+ # A single client-side telemetry event. JoinInitiated is the top-level marker emitted when a user begins a join attempt and carries only join_attempt_id (no stage_id or coordinator_connect_id). When stage is CoordinatorJoin, CoordinatorWS, WSJoin, or PeerConnectionConnect the event reports a join-lifecycle attempt; initiation and completion of a stage attempt share the same stage_id. FirstAudioFrame and FirstVideoFrame report media readiness and only ever carry an initiated event. MediaDevicePermission reports the result of requesting screen-share, microphone, and camera permissions. Other stage values denote generic client events.
9
+ class ClientEvent < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute call_session_id
13
+ # @return [String] Call session ID associated with the attempt. Required on every event except CoordinatorJoin initiation and CoordinatorJoin failure (where the call session is not yet established); optional on MediaDevicePermission.
14
+ attr_accessor :call_session_id
15
+ # @!attribute camera_permission_status
16
+ # @return [String] Camera permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Required on every MediaDevicePermission event.
17
+ attr_accessor :camera_permission_status
18
+ # @!attribute coordinator_connect_id
19
+ # @return [String] UUID generated by the client and shared across every event of the same coordinator connection. Required on every event except JoinInitiated, which is reported before a coordinator connection exists.
20
+ attr_accessor :coordinator_connect_id
21
+ # @!attribute elapsed_time
22
+ # @return [Integer] Milliseconds elapsed between the stage attempt's initiation and this event.
23
+ attr_accessor :elapsed_time
24
+ # @!attribute event_type
25
+ # @return [String] Whether the event marks the start (initiated) or resolution (completed) of a stage attempt, or another event-specific value
26
+ attr_accessor :event_type
27
+ # @!attribute ice_state
28
+ # @return [String] Terminal state of the peer connection. Required on PeerConnectionConnect failure.
29
+ attr_accessor :ice_state
30
+ # @!attribute id
31
+ # @return [String] Call ID associated with the event. Required on every stage except CoordinatorWS, where it is optional.
32
+ attr_accessor :id
33
+ # @!attribute join_attempt_id
34
+ # @return [String] UUID generated by the client and shared across JoinInitiated and the join-lifecycle events (CoordinatorJoin, WSJoin, PeerConnectionConnect) of the same overall join attempt. Required on every join event except CoordinatorWS, which is reported before a join attempt is established.
35
+ attr_accessor :join_attempt_id
36
+ # @!attribute microphone_permission_status
37
+ # @return [String] Microphone permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Required on every MediaDevicePermission event.
38
+ attr_accessor :microphone_permission_status
39
+ # @!attribute outcome
40
+ # @return [String] Resolution of a completed event: success or failure. Required on completed join events; forbidden on initiated join events.
41
+ attr_accessor :outcome
42
+ # @!attribute peer_connection
43
+ # @return [String] Which peer connection a PeerConnectionConnect event reports on: publish or subscribe. Required on every PeerConnectionConnect event.
44
+ attr_accessor :peer_connection
45
+ # @!attribute previously_connected_timestamp
46
+ # @return [DateTime] UTC timestamp at which the ICE connection was established earlier in the session, when applicable
47
+ attr_accessor :previously_connected_timestamp
48
+ # @!attribute retry_count_attempt
49
+ # @return [Integer] Total in-stage retries the client made before resolving (0–1000). Required on completed join events.
50
+ attr_accessor :retry_count_attempt
51
+ # @!attribute retry_failure_code
52
+ # @return [String] Failure code string. Required on CoordinatorJoin, CoordinatorWS, WSJoin, and PeerConnectionConnect failure.
53
+ attr_accessor :retry_failure_code
54
+ # @!attribute retry_failure_reason
55
+ # @return [String] Failure reason string. Required on CoordinatorJoin, CoordinatorWS, WSJoin, and PeerConnectionConnect failure.
56
+ attr_accessor :retry_failure_reason
57
+ # @!attribute screen_share_status
58
+ # @return [String] Screen-share permission status: INITIATED, FAILED, GRANTED, or NOT_INITIATED. Optional on MediaDevicePermission events.
59
+ attr_accessor :screen_share_status
60
+ # @!attribute sdk_version
61
+ # @return [String] Version of the client SDK
62
+ attr_accessor :sdk_version
63
+ # @!attribute sfu_id
64
+ # @return [String] Identifier of the SFU the client was attempting to connect to. Required on WSJoin and PeerConnectionConnect failure, and on FirstAudioFrame and FirstVideoFrame.
65
+ attr_accessor :sfu_id
66
+ # @!attribute stage
67
+ # @return [String] Discriminator identifying the event kind. JoinInitiated marks the start of a join attempt; join-lifecycle events use CoordinatorJoin, CoordinatorWS, WSJoin, or PeerConnectionConnect; media-readiness events use FirstAudioFrame or FirstVideoFrame; MediaDevicePermission reports device permission results; other values denote generic client events.
68
+ attr_accessor :stage
69
+ # @!attribute stage_id
70
+ # @return [String] UUID generated by the client at initiation. Identical on the matching completion event. Absent on JoinInitiated.
71
+ attr_accessor :stage_id
72
+ # @!attribute timestamp
73
+ # @return [DateTime] UTC timestamp at which the event was recorded
74
+ attr_accessor :timestamp
75
+ # @!attribute track_id
76
+ # @return [String] Identifier of the media track the frame belongs to. Required on FirstVideoFrame; optional on FirstAudioFrame.
77
+ attr_accessor :track_id
78
+ # @!attribute type
79
+ # @return [String] Call type associated with the event. Required on every stage except CoordinatorWS, where it is optional.
80
+ attr_accessor :type
81
+ # @!attribute user_agent
82
+ # @return [String] User agent string of the client SDK
83
+ attr_accessor :user_agent
84
+ # @!attribute user_id
85
+ # @return [String] ID of the user the event was recorded for
86
+ attr_accessor :user_id
87
+ # @!attribute was_previously_connected
88
+ # @return [Boolean] Whether the ICE connection had been established earlier in the same session. Required on every PeerConnectionConnect event so reconnects can be distinguished from fresh connects.
89
+ attr_accessor :was_previously_connected
90
+
91
+ # Initialize with attributes
92
+ def initialize(attributes = {})
93
+ super(attributes)
94
+ @call_session_id = attributes[:call_session_id] || attributes['call_session_id'] || nil
95
+ @camera_permission_status = attributes[:camera_permission_status] || attributes['camera_permission_status'] || nil
96
+ @coordinator_connect_id = attributes[:coordinator_connect_id] || attributes['coordinator_connect_id'] || nil
97
+ @elapsed_time = attributes[:elapsed_time] || attributes['elapsed_time'] || nil
98
+ @event_type = attributes[:event_type] || attributes['event_type'] || nil
99
+ @ice_state = attributes[:ice_state] || attributes['ice_state'] || nil
100
+ @id = attributes[:id] || attributes['id'] || nil
101
+ @join_attempt_id = attributes[:join_attempt_id] || attributes['join_attempt_id'] || nil
102
+ @microphone_permission_status = attributes[:microphone_permission_status] || attributes['microphone_permission_status'] || nil
103
+ @outcome = attributes[:outcome] || attributes['outcome'] || nil
104
+ @peer_connection = attributes[:peer_connection] || attributes['peer_connection'] || nil
105
+ @previously_connected_timestamp = attributes[:previously_connected_timestamp] || attributes['previously_connected_timestamp'] || nil
106
+ @retry_count_attempt = attributes[:retry_count_attempt] || attributes['retry_count_attempt'] || nil
107
+ @retry_failure_code = attributes[:retry_failure_code] || attributes['retry_failure_code'] || nil
108
+ @retry_failure_reason = attributes[:retry_failure_reason] || attributes['retry_failure_reason'] || nil
109
+ @screen_share_status = attributes[:screen_share_status] || attributes['screen_share_status'] || nil
110
+ @sdk_version = attributes[:sdk_version] || attributes['sdk_version'] || nil
111
+ @sfu_id = attributes[:sfu_id] || attributes['sfu_id'] || nil
112
+ @stage = attributes[:stage] || attributes['stage'] || nil
113
+ @stage_id = attributes[:stage_id] || attributes['stage_id'] || nil
114
+ @timestamp = attributes[:timestamp] || attributes['timestamp'] || nil
115
+ @track_id = attributes[:track_id] || attributes['track_id'] || nil
116
+ @type = attributes[:type] || attributes['type'] || nil
117
+ @user_agent = attributes[:user_agent] || attributes['user_agent'] || nil
118
+ @user_id = attributes[:user_id] || attributes['user_id'] || nil
119
+ @was_previously_connected = attributes[:was_previously_connected] || attributes['was_previously_connected'] || nil
120
+ end
121
+
122
+ # Override field mappings for JSON serialization
123
+ def self.json_field_mappings
124
+ {
125
+ call_session_id: 'call_session_id',
126
+ camera_permission_status: 'camera_permission_status',
127
+ coordinator_connect_id: 'coordinator_connect_id',
128
+ elapsed_time: 'elapsed_time',
129
+ event_type: 'event_type',
130
+ ice_state: 'ice_state',
131
+ id: 'id',
132
+ join_attempt_id: 'join_attempt_id',
133
+ microphone_permission_status: 'microphone_permission_status',
134
+ outcome: 'outcome',
135
+ peer_connection: 'peer_connection',
136
+ previously_connected_timestamp: 'previously_connected_timestamp',
137
+ retry_count_attempt: 'retry_count_attempt',
138
+ retry_failure_code: 'retry_failure_code',
139
+ retry_failure_reason: 'retry_failure_reason',
140
+ screen_share_status: 'screen_share_status',
141
+ sdk_version: 'sdk_version',
142
+ sfu_id: 'sfu_id',
143
+ stage: 'stage',
144
+ stage_id: 'stage_id',
145
+ timestamp: 'timestamp',
146
+ track_id: 'track_id',
147
+ type: 'type',
148
+ user_agent: 'user_agent',
149
+ user_id: 'user_id',
150
+ was_previously_connected: 'was_previously_connected'
151
+ }
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
@@ -12,6 +12,9 @@ module GetStream
12
12
  # @!attribute threshold
13
13
  # @return [Integer]
14
14
  attr_accessor :threshold
15
+ # @!attribute time_window
16
+ # @return [String]
17
+ attr_accessor :time_window
15
18
  # @!attribute harm_labels
16
19
  # @return [Array<String>]
17
20
  attr_accessor :harm_labels
@@ -23,6 +26,7 @@ module GetStream
23
26
  def initialize(attributes = {})
24
27
  super(attributes)
25
28
  @threshold = attributes[:threshold] || attributes['threshold'] || nil
29
+ @time_window = attributes[:time_window] || attributes['time_window'] || nil
26
30
  @harm_labels = attributes[:harm_labels] || attributes['harm_labels'] || nil
27
31
  @llm_harm_labels = attributes[:llm_harm_labels] || attributes['llm_harm_labels'] || nil
28
32
  end
@@ -31,6 +35,7 @@ module GetStream
31
35
  def self.json_field_mappings
32
36
  {
33
37
  threshold: 'threshold',
38
+ time_window: 'time_window',
34
39
  harm_labels: 'harm_labels',
35
40
  llm_harm_labels: 'llm_harm_labels'
36
41
  }
@@ -57,6 +57,9 @@ module GetStream
57
57
  # @!attribute block_list_config
58
58
  # @return [BlockListConfig]
59
59
  attr_accessor :block_list_config
60
+ # @!attribute flood_config
61
+ # @return [FloodConfig]
62
+ attr_accessor :flood_config
60
63
  # @!attribute llm_config
61
64
  # @return [LLMConfig]
62
65
  attr_accessor :llm_config
@@ -86,6 +89,7 @@ module GetStream
86
89
  @automod_semantic_filters_config = attributes[:automod_semantic_filters_config] || attributes['automod_semantic_filters_config'] || nil
87
90
  @automod_toxicity_config = attributes[:automod_toxicity_config] || attributes['automod_toxicity_config'] || nil
88
91
  @block_list_config = attributes[:block_list_config] || attributes['block_list_config'] || nil
92
+ @flood_config = attributes[:flood_config] || attributes['flood_config'] || nil
89
93
  @llm_config = attributes[:llm_config] || attributes['llm_config'] || nil
90
94
  @velocity_filter_config = attributes[:velocity_filter_config] || attributes['velocity_filter_config'] || nil
91
95
  @video_call_rule_config = attributes[:video_call_rule_config] || attributes['video_call_rule_config'] || nil
@@ -110,6 +114,7 @@ module GetStream
110
114
  automod_semantic_filters_config: 'automod_semantic_filters_config',
111
115
  automod_toxicity_config: 'automod_toxicity_config',
112
116
  block_list_config: 'block_list_config',
117
+ flood_config: 'flood_config',
113
118
  llm_config: 'llm_config',
114
119
  velocity_filter_config: 'velocity_filter_config',
115
120
  video_call_rule_config: 'video_call_rule_config'
@@ -0,0 +1,46 @@
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 ContentCustomPropertyCountParameters < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute operator
13
+ # @return [String]
14
+ attr_accessor :operator
15
+ # @!attribute property_key
16
+ # @return [String]
17
+ attr_accessor :property_key
18
+ # @!attribute threshold
19
+ # @return [Integer]
20
+ attr_accessor :threshold
21
+ # @!attribute time_window
22
+ # @return [String]
23
+ attr_accessor :time_window
24
+
25
+ # Initialize with attributes
26
+ def initialize(attributes = {})
27
+ super(attributes)
28
+ @operator = attributes[:operator] || attributes['operator'] || nil
29
+ @property_key = attributes[:property_key] || attributes['property_key'] || nil
30
+ @threshold = attributes[:threshold] || attributes['threshold'] || nil
31
+ @time_window = attributes[:time_window] || attributes['time_window'] || nil
32
+ end
33
+
34
+ # Override field mappings for JSON serialization
35
+ def self.json_field_mappings
36
+ {
37
+ operator: 'operator',
38
+ property_key: 'property_key',
39
+ threshold: 'threshold',
40
+ time_window: 'time_window'
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ 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 ContentCustomPropertyParameters < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute operator
13
+ # @return [String]
14
+ attr_accessor :operator
15
+ # @!attribute property_key
16
+ # @return [String]
17
+ attr_accessor :property_key
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @operator = attributes[:operator] || attributes['operator'] || nil
23
+ @property_key = attributes[:property_key] || attributes['property_key'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ operator: 'operator',
30
+ property_key: 'property_key'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -15,12 +15,18 @@ module GetStream
15
15
  # @!attribute words
16
16
  # @return [Array<String>] List of words to block
17
17
  attr_accessor :words
18
+ # @!attribute is_confusable_folding_enabled
19
+ # @return [Boolean]
20
+ attr_accessor :is_confusable_folding_enabled
18
21
  # @!attribute is_leet_check_enabled
19
22
  # @return [Boolean]
20
23
  attr_accessor :is_leet_check_enabled
21
24
  # @!attribute is_plural_check_enabled
22
25
  # @return [Boolean]
23
26
  attr_accessor :is_plural_check_enabled
27
+ # @!attribute is_substring_matching_enabled
28
+ # @return [Boolean]
29
+ attr_accessor :is_substring_matching_enabled
24
30
  # @!attribute team
25
31
  # @return [String]
26
32
  attr_accessor :team
@@ -33,8 +39,10 @@ module GetStream
33
39
  super(attributes)
34
40
  @name = attributes[:name] || attributes['name']
35
41
  @words = attributes[:words] || attributes['words']
42
+ @is_confusable_folding_enabled = attributes[:is_confusable_folding_enabled] || attributes['is_confusable_folding_enabled'] || nil
36
43
  @is_leet_check_enabled = attributes[:is_leet_check_enabled] || attributes['is_leet_check_enabled'] || nil
37
44
  @is_plural_check_enabled = attributes[:is_plural_check_enabled] || attributes['is_plural_check_enabled'] || nil
45
+ @is_substring_matching_enabled = attributes[:is_substring_matching_enabled] || attributes['is_substring_matching_enabled'] || nil
38
46
  @team = attributes[:team] || attributes['team'] || nil
39
47
  @type = attributes[:type] || attributes['type'] || nil
40
48
  end
@@ -44,8 +52,10 @@ module GetStream
44
52
  {
45
53
  name: 'name',
46
54
  words: 'words',
55
+ is_confusable_folding_enabled: 'is_confusable_folding_enabled',
47
56
  is_leet_check_enabled: 'is_leet_check_enabled',
48
57
  is_plural_check_enabled: 'is_plural_check_enabled',
58
+ is_substring_matching_enabled: 'is_substring_matching_enabled',
49
59
  team: 'team',
50
60
  type: 'type'
51
61
  }
@@ -15,6 +15,9 @@ module GetStream
15
15
  # @!attribute push_provider
16
16
  # @return [String] Push provider
17
17
  attr_accessor :push_provider
18
+ # @!attribute hardware_id
19
+ # @return [String] Stable physical device identifier used to deduplicate pushes across push providers (e.g. APNs VoIP and Firebase on the same iOS device). Distinct from 'id', which is the push token.
20
+ attr_accessor :hardware_id
18
21
  # @!attribute push_provider_name
19
22
  # @return [String] Push provider name
20
23
  attr_accessor :push_provider_name
@@ -33,6 +36,7 @@ module GetStream
33
36
  super(attributes)
34
37
  @id = attributes[:id] || attributes['id']
35
38
  @push_provider = attributes[:push_provider] || attributes['push_provider']
39
+ @hardware_id = attributes[:hardware_id] || attributes['hardware_id'] || nil
36
40
  @push_provider_name = attributes[:push_provider_name] || attributes['push_provider_name'] || nil
37
41
  @user_id = attributes[:user_id] || attributes['user_id'] || nil
38
42
  @voip_token = attributes[:voip_token] || attributes['voip_token'] || nil
@@ -44,6 +48,7 @@ module GetStream
44
48
  {
45
49
  id: 'id',
46
50
  push_provider: 'push_provider',
51
+ hardware_id: 'hardware_id',
47
52
  push_provider_name: 'push_provider_name',
48
53
  user_id: 'user_id',
49
54
  voip_token: 'voip_token',
@@ -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 CreateSegmentRequest < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute type
13
+ # @return [String] The type of the segment
14
+ attr_accessor :type
15
+ # @!attribute all_sender_channels
16
+ # @return [Boolean] If true, all sender channels are included in the segment
17
+ attr_accessor :all_sender_channels
18
+ # @!attribute all_users
19
+ # @return [Boolean] If true, all users are included in the segment
20
+ attr_accessor :all_users
21
+ # @!attribute description
22
+ # @return [String] The description of the segment (max 256 characters)
23
+ attr_accessor :description
24
+ # @!attribute id
25
+ # @return [String] The ID of the segment
26
+ attr_accessor :id
27
+ # @!attribute name
28
+ # @return [String] The name of the segment (max 128 characters)
29
+ attr_accessor :name
30
+ # @!attribute filter
31
+ # @return [Object] Filter to apply to the query
32
+ attr_accessor :filter
33
+
34
+ # Initialize with attributes
35
+ def initialize(attributes = {})
36
+ super(attributes)
37
+ @type = attributes[:type] || attributes['type']
38
+ @all_sender_channels = attributes[:all_sender_channels] || attributes['all_sender_channels'] || nil
39
+ @all_users = attributes[:all_users] || attributes['all_users'] || nil
40
+ @description = attributes[:description] || attributes['description'] || nil
41
+ @id = attributes[:id] || attributes['id'] || nil
42
+ @name = attributes[:name] || attributes['name'] || nil
43
+ @filter = attributes[:filter] || attributes['filter'] || nil
44
+ end
45
+
46
+ # Override field mappings for JSON serialization
47
+ def self.json_field_mappings
48
+ {
49
+ type: 'type',
50
+ all_sender_channels: 'all_sender_channels',
51
+ all_users: 'all_users',
52
+ description: 'description',
53
+ id: 'id',
54
+ name: 'name',
55
+ filter: 'filter'
56
+ }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ 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
+ # Basic response information
9
+ class CreateSegmentResponse < 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'] || nil
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
@@ -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
@@ -27,6 +27,9 @@ module GetStream
27
27
  # @!attribute disabled_reason
28
28
  # @return [String] Reason explaining why device had been disabled
29
29
  attr_accessor :disabled_reason
30
+ # @!attribute hardware_id
31
+ # @return [String] Stable physical device identifier used to deduplicate pushes across push providers
32
+ attr_accessor :hardware_id
30
33
  # @!attribute push_provider_name
31
34
  # @return [String] Push provider name
32
35
  attr_accessor :push_provider_name
@@ -43,6 +46,7 @@ module GetStream
43
46
  @user_id = attributes[:user_id] || attributes['user_id']
44
47
  @disabled = attributes[:disabled] || attributes['disabled'] || nil
45
48
  @disabled_reason = attributes[:disabled_reason] || attributes['disabled_reason'] || nil
49
+ @hardware_id = attributes[:hardware_id] || attributes['hardware_id'] || nil
46
50
  @push_provider_name = attributes[:push_provider_name] || attributes['push_provider_name'] || nil
47
51
  @voip = attributes[:voip] || attributes['voip'] || nil
48
52
  end
@@ -56,6 +60,7 @@ module GetStream
56
60
  user_id: 'user_id',
57
61
  disabled: 'disabled',
58
62
  disabled_reason: 'disabled_reason',
63
+ hardware_id: 'hardware_id',
59
64
  push_provider_name: 'push_provider_name',
60
65
  voip: 'voip'
61
66
  }
@@ -10,14 +10,17 @@ module GetStream
10
10
 
11
11
  # Model attributes
12
12
  # @!attribute llm_labels
13
- # @return [Array<String>]
13
+ # @return [Array<String>] LLM moderation labels available as filter values
14
14
  attr_accessor :llm_labels
15
15
  # @!attribute ai_text_labels
16
- # @return [Array<String>]
16
+ # @return [Array<String>] AI text moderation labels available as filter values
17
17
  attr_accessor :ai_text_labels
18
18
  # @!attribute config_keys
19
- # @return [Array<String>]
19
+ # @return [Array<String>] Moderation config keys present in the queue, available as filter values
20
20
  attr_accessor :config_keys
21
+ # @!attribute filterable_custom_keys
22
+ # @return [Array<String>] The moderation_payload.custom keys the app has configured as review-queue filter chips (via moderation_dashboard_preferences.filterable_custom_keys). Discovery hint for the dashboard only — the filter accepts any custom key regardless of this list.
23
+ attr_accessor :filterable_custom_keys
21
24
 
22
25
  # Initialize with attributes
23
26
  def initialize(attributes = {})
@@ -25,6 +28,7 @@ module GetStream
25
28
  @llm_labels = attributes[:llm_labels] || attributes['llm_labels']
26
29
  @ai_text_labels = attributes[:ai_text_labels] || attributes['ai_text_labels'] || nil
27
30
  @config_keys = attributes[:config_keys] || attributes['config_keys'] || nil
31
+ @filterable_custom_keys = attributes[:filterable_custom_keys] || attributes['filterable_custom_keys'] || nil
28
32
  end
29
33
 
30
34
  # Override field mappings for JSON serialization
@@ -32,7 +36,8 @@ module GetStream
32
36
  {
33
37
  llm_labels: 'llm_labels',
34
38
  ai_text_labels: 'ai_text_labels',
35
- config_keys: 'config_keys'
39
+ config_keys: 'config_keys',
40
+ filterable_custom_keys: 'filterable_custom_keys'
36
41
  }
37
42
  end
38
43
  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 FlagDetails < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute original_text
13
+ # @return [String]
14
+ attr_accessor :original_text
15
+ # @!attribute automod
16
+ # @return [AutomodDetailsResponse]
17
+ attr_accessor :automod
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @original_text = attributes[:original_text] || attributes['original_text']
23
+ @automod = attributes[:automod] || attributes['automod'] || nil
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ original_text: 'original_text',
30
+ automod: 'automod'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ 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 FlagItemResponse < GetStream::BaseModel
10
+
11
+ # Model attributes
12
+ # @!attribute duration
13
+ # @return [String]
14
+ attr_accessor :duration
15
+ # @!attribute item_id
16
+ # @return [String] Unique identifier of the created moderation item
17
+ attr_accessor :item_id
18
+
19
+ # Initialize with attributes
20
+ def initialize(attributes = {})
21
+ super(attributes)
22
+ @duration = attributes[:duration] || attributes['duration']
23
+ @item_id = attributes[:item_id] || attributes['item_id']
24
+ end
25
+
26
+ # Override field mappings for JSON serialization
27
+ def self.json_field_mappings
28
+ {
29
+ duration: 'duration',
30
+ item_id: 'item_id'
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end