safetykit 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 974c6c63859d8e257e98c8ee22a18f74adabbb4111e4935830ce7e08d057f4e0
4
- data.tar.gz: 9ce20e4a121b18257fb18d9a597ab9fbb6ae0e060a8e487309ef0a4c78cdf008
3
+ metadata.gz: 66201fbaeb030a2b7518147ad2ef659300eb51bb92bd6d16c63b70b5cb428301
4
+ data.tar.gz: 78229890f0c36346293b5561b14c3c28b6215edd0443bb2c46a3532218fae67b
5
5
  SHA512:
6
- metadata.gz: 38dabf8af87360cfce8fcd9fb6e0bf68144e92f9649afe6f6c7357c9e2acad331dd629f49215430ea3ed9843bd932e546b8794aaa75ff96153ba73884099508b
7
- data.tar.gz: 8c66df936f0b4cdd19999dcbe71ab9c2bf35adb03b94fe4bd59886a2ed3e9408c339c79ca29bd593b982df766de0cbfe8a84f0fc87683d7206c857e3b586bfb3
6
+ metadata.gz: 168216935f69680e825fdb46afbcb7f79f2e0ae1451e26e9bcb336c075d3ee4b2e9a6b8ee33ce889220a1c8d0d99220c90f6a7c1e35cf75d3aa0ba203c6896bf
7
+ data.tar.gz: 04f11bd1bbde3e55662bdcd9f8ddeb588f5b7a557eb924f2c3c68aae8ec48ca363c68e512cae6dfafb7d0add16fa91ad2faa970ba39a86b22669b1e7d5e0f6b1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.41.0 (2026-07-16)
4
+
5
+ Full Changelog: [v0.40.0...v0.41.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.40.0...v0.41.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([cc19fe4](https://github.com/GetSafetyKit/safetykit-ruby/commit/cc19fe4c0084d693c9657bb4e2a6ebc721689abd))
10
+
3
11
  ## 0.40.0 (2026-07-15)
4
12
 
5
13
  Full Changelog: [v0.39.0...v0.40.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.39.0...v0.40.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "safetykit", "~> 0.40.0"
20
+ gem "safetykit", "~> 0.41.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsParams < SafetyKit::Internal::Type::BaseModel
7
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
8
+ include SafetyKit::Internal::Type::RequestParameters
9
+
10
+ # @!attribute namespace
11
+ # The namespace to ingest data into
12
+ #
13
+ # @return [String]
14
+ required :namespace, String
15
+
16
+ # @!attribute schema
17
+ # Schema mapping field names to their definitions. Use content_type to specify
18
+ # which fields contain URLs that should be processed (images, videos, or
19
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
20
+ # not indexed. Use display_hint to provide UI rendering hints.
21
+ #
22
+ # @return [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}, nil]
23
+ optional :schema, -> { SafetyKit::Internal::Type::HashOf[SafetyKit::DataUpdateSettingsParams::Schema] }
24
+
25
+ # @!attribute settings
26
+ # Namespace settings to store, replacing existing settings. Omit to leave existing
27
+ # settings unchanged. Configure these values with guidance from SafetyKit.
28
+ #
29
+ # @return [Hash{Symbol=>Object, nil}, nil]
30
+ optional :settings, SafetyKit::Internal::Type::HashOf[SafetyKit::Internal::Type::Unknown, nil?: true]
31
+
32
+ # @!method initialize(namespace:, schema: nil, settings: nil, request_options: {})
33
+ # Some parameter documentations has been truncated, see
34
+ # {SafetyKit::Models::DataUpdateSettingsParams} for more details.
35
+ #
36
+ # @param namespace [String] The namespace to ingest data into
37
+ #
38
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}] Schema mapping field names to their definitions. Use content_type to specify whi
39
+ #
40
+ # @param settings [Hash{Symbol=>Object, nil}] Namespace settings to store, replacing existing settings. Omit to leave existing
41
+ #
42
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ class Schema < SafetyKit::Internal::Type::BaseModel
45
+ # @!attribute belongs_to
46
+ # The parent object namespace this field belongs to, creating a parent-child
47
+ # relationship with that namespace.
48
+ #
49
+ # @return [String, nil]
50
+ optional :belongs_to, String
51
+
52
+ # @!attribute content_type
53
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
54
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
55
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
56
+ #
57
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::ContentType, nil]
58
+ optional :content_type, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::ContentType }
59
+
60
+ # @!attribute display_hint
61
+ # Display hint for UI rendering of this field
62
+ #
63
+ # @return [SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint, nil]
64
+ optional :display_hint, -> { SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint }
65
+
66
+ # @!attribute field_limit
67
+ # Maximum amount of this field to include when sending to AI models. For text
68
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
69
+ # the maximum number of items.
70
+ #
71
+ # @return [Integer, nil]
72
+ optional :field_limit, Integer
73
+
74
+ # @!attribute ingest_as
75
+ # Optional parser to apply before indexing this field.
76
+ #
77
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::IngestAs, nil]
78
+ optional :ingest_as, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::IngestAs }
79
+
80
+ # @!method initialize(belongs_to: nil, content_type: nil, display_hint: nil, field_limit: nil, ingest_as: nil)
81
+ # Some parameter documentations has been truncated, see
82
+ # {SafetyKit::Models::DataUpdateSettingsParams::Schema} for more details.
83
+ #
84
+ # Schema definition for a data field
85
+ #
86
+ # @param belongs_to [String] The parent object namespace this field belongs to, creating a parent-child relat
87
+ #
88
+ # @param content_type [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::ContentType] The type of content (image_url, video_url, audio_url, website_url, datetime, met
89
+ #
90
+ # @param display_hint [SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint] Display hint for UI rendering of this field
91
+ #
92
+ # @param field_limit [Integer] Maximum amount of this field to include when sending to AI models. For text fiel
93
+ #
94
+ # @param ingest_as [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::IngestAs] Optional parser to apply before indexing this field.
95
+
96
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
97
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
98
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
99
+ #
100
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#content_type
101
+ module ContentType
102
+ extend SafetyKit::Internal::Type::Enum
103
+
104
+ IMAGE_URL = :image_url
105
+ VIDEO_URL = :video_url
106
+ AUDIO_URL = :audio_url
107
+ WEBSITE_URL = :website_url
108
+ DATETIME = :datetime
109
+ METADATA = :metadata
110
+ CARD = :card
111
+
112
+ # @!method self.values
113
+ # @return [Array<Symbol>]
114
+ end
115
+
116
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#display_hint
117
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
118
+ # @!attribute hidden
119
+ # Hide this field from default UI display.
120
+ #
121
+ # @return [Boolean, nil]
122
+ optional :hidden, SafetyKit::Internal::Type::Boolean
123
+
124
+ # @!attribute name
125
+ # Display label to show for this field in the UI
126
+ #
127
+ # @return [String, nil]
128
+ optional :name, String
129
+
130
+ # @!attribute type
131
+ # The display hint type
132
+ #
133
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::Type, nil]
134
+ optional :type, enum: -> { SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type }
135
+
136
+ # @!method initialize(hidden: nil, name: nil, type: nil)
137
+ # Display hint for UI rendering of this field
138
+ #
139
+ # @param hidden [Boolean] Hide this field from default UI display.
140
+ #
141
+ # @param name [String] Display label to show for this field in the UI
142
+ #
143
+ # @param type [Symbol, SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::Type] The display hint type
144
+
145
+ # The display hint type
146
+ #
147
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint#type
148
+ module Type
149
+ extend SafetyKit::Internal::Type::Enum
150
+
151
+ TITLE = :title
152
+ SUBTITLE = :subtitle
153
+ CATEGORY = :category
154
+ IDENTIFIER = :identifier
155
+ CANONICAL_URL = :canonical_url
156
+ STATUS = :status
157
+ PRIMARY_TAG_SET = :primary_tag_set
158
+ TAG_SET = :tag_set
159
+ TIMESTAMP = :timestamp
160
+ RATING = :rating
161
+ SUMMARY = :summary
162
+ PROFILE_IMAGE = :profile_image
163
+ PRIMARY_IMAGE = :primary_image
164
+ IMAGE_SET = :image_set
165
+ VIDEO_SET = :video_set
166
+ AUDIO_SET = :audio_set
167
+ BODY = :body
168
+ THREAD = :thread
169
+ TWO_PERSON_CHAT = :two_person_chat
170
+ MESSAGE = :message
171
+ PROFILE = :profile
172
+ MONEY = :money
173
+ LOCATION = :location
174
+ ATTRIBUTE_GROUP = :attribute_group
175
+ ATTRIBUTE = :attribute
176
+
177
+ # @!method self.values
178
+ # @return [Array<Symbol>]
179
+ end
180
+ end
181
+
182
+ # Optional parser to apply before indexing this field.
183
+ #
184
+ # @see SafetyKit::Models::DataUpdateSettingsParams::Schema#ingest_as
185
+ module IngestAs
186
+ extend SafetyKit::Internal::Type::Enum
187
+
188
+ FLOAT = :float
189
+ DATETIME = :datetime
190
+
191
+ # @!method self.values
192
+ # @return [Array<Symbol>]
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SafetyKit
4
+ module Models
5
+ # @see SafetyKit::Resources::Data#update_settings
6
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
7
+ # @!attribute namespace
8
+ #
9
+ # @return [String]
10
+ required :namespace, String
11
+
12
+ # @!attribute status
13
+ #
14
+ # @return [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
15
+ required :status, enum: -> { SafetyKit::Models::DataUpdateSettingsResponse::Status }
16
+
17
+ # @!method initialize(namespace:, status:)
18
+ # Namespace configuration was stored.
19
+ #
20
+ # @param namespace [String]
21
+ # @param status [Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status]
22
+
23
+ # @see SafetyKit::Models::DataUpdateSettingsResponse#status
24
+ module Status
25
+ extend SafetyKit::Internal::Type::Enum
26
+
27
+ UPDATED = :updated
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -57,6 +57,8 @@ module SafetyKit
57
57
 
58
58
  DataObject = SafetyKit::Models::DataObject
59
59
 
60
+ DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
61
+
60
62
  DeletionRequestCreateParams = SafetyKit::Models::DeletionRequestCreateParams
61
63
 
62
64
  StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
@@ -113,6 +113,37 @@ module SafetyKit
113
113
  )
114
114
  end
115
115
 
116
+ # Some parameter documentations has been truncated, see
117
+ # {SafetyKit::Models::DataUpdateSettingsParams} for more details.
118
+ #
119
+ # Update the schema and/or settings for a namespace. Only the fields provided are
120
+ # updated; omitted fields are left unchanged. Namespaces whose configuration is
121
+ # managed by SafetyKit cannot be updated through this endpoint.
122
+ #
123
+ # @overload update_settings(namespace, schema: nil, settings: nil, request_options: {})
124
+ #
125
+ # @param namespace [String] The namespace to ingest data into
126
+ #
127
+ # @param schema [Hash{Symbol=>SafetyKit::Models::DataUpdateSettingsParams::Schema}] Schema mapping field names to their definitions. Use content_type to specify whi
128
+ #
129
+ # @param settings [Hash{Symbol=>Object, nil}] Namespace settings to store, replacing existing settings. Omit to leave existing
130
+ #
131
+ # @param request_options [SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil]
132
+ #
133
+ # @return [SafetyKit::Models::DataUpdateSettingsResponse]
134
+ #
135
+ # @see SafetyKit::Models::DataUpdateSettingsParams
136
+ def update_settings(namespace, params = {})
137
+ parsed, options = SafetyKit::DataUpdateSettingsParams.dump_request(params)
138
+ @client.request(
139
+ method: :put,
140
+ path: ["v1/data/%1$s/settings", namespace],
141
+ body: parsed,
142
+ model: SafetyKit::Models::DataUpdateSettingsResponse,
143
+ options: options
144
+ )
145
+ end
146
+
116
147
  # @api private
117
148
  #
118
149
  # @param client [SafetyKit::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SafetyKit
4
- VERSION = "0.40.0"
4
+ VERSION = "0.41.0"
5
5
  end
data/lib/safety_kit.rb CHANGED
@@ -69,6 +69,8 @@ require_relative "safety_kit/models/data_get_download_url_response"
69
69
  require_relative "safety_kit/models/data_get_status_params"
70
70
  require_relative "safety_kit/models/data_get_status_response"
71
71
  require_relative "safety_kit/models/data_object"
72
+ require_relative "safety_kit/models/data_update_settings_params"
73
+ require_relative "safety_kit/models/data_update_settings_response"
72
74
  require_relative "safety_kit/models/deletion_request_create_params"
73
75
  require_relative "safety_kit/models/deletion_request_create_response"
74
76
  require_relative "safety_kit/models/stream_add_frame_params"
@@ -0,0 +1,543 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataUpdateSettingsParams < SafetyKit::Internal::Type::BaseModel
6
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
7
+ include SafetyKit::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ SafetyKit::DataUpdateSettingsParams,
13
+ SafetyKit::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The namespace to ingest data into
18
+ sig { returns(String) }
19
+ attr_accessor :namespace
20
+
21
+ # Schema mapping field names to their definitions. Use content_type to specify
22
+ # which fields contain URLs that should be processed (images, videos, or
23
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
24
+ # not indexed. Use display_hint to provide UI rendering hints.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ T::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema]
29
+ )
30
+ )
31
+ end
32
+ attr_reader :schema
33
+
34
+ sig do
35
+ params(
36
+ schema:
37
+ T::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema::OrHash]
38
+ ).void
39
+ end
40
+ attr_writer :schema
41
+
42
+ # Namespace settings to store, replacing existing settings. Omit to leave existing
43
+ # settings unchanged. Configure these values with guidance from SafetyKit.
44
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
45
+ attr_reader :settings
46
+
47
+ sig { params(settings: T::Hash[Symbol, T.nilable(T.anything)]).void }
48
+ attr_writer :settings
49
+
50
+ sig do
51
+ params(
52
+ namespace: String,
53
+ schema:
54
+ T::Hash[
55
+ Symbol,
56
+ SafetyKit::DataUpdateSettingsParams::Schema::OrHash
57
+ ],
58
+ settings: T::Hash[Symbol, T.nilable(T.anything)],
59
+ request_options: SafetyKit::RequestOptions::OrHash
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ # The namespace to ingest data into
64
+ namespace:,
65
+ # Schema mapping field names to their definitions. Use content_type to specify
66
+ # which fields contain URLs that should be processed (images, videos, or
67
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
68
+ # not indexed. Use display_hint to provide UI rendering hints.
69
+ schema: nil,
70
+ # Namespace settings to store, replacing existing settings. Omit to leave existing
71
+ # settings unchanged. Configure these values with guidance from SafetyKit.
72
+ settings: nil,
73
+ request_options: {}
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ namespace: String,
81
+ schema:
82
+ T::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
83
+ settings: T::Hash[Symbol, T.nilable(T.anything)],
84
+ request_options: SafetyKit::RequestOptions
85
+ }
86
+ )
87
+ end
88
+ def to_hash
89
+ end
90
+
91
+ class Schema < SafetyKit::Internal::Type::BaseModel
92
+ OrHash =
93
+ T.type_alias do
94
+ T.any(
95
+ SafetyKit::DataUpdateSettingsParams::Schema,
96
+ SafetyKit::Internal::AnyHash
97
+ )
98
+ end
99
+
100
+ # The parent object namespace this field belongs to, creating a parent-child
101
+ # relationship with that namespace.
102
+ sig { returns(T.nilable(String)) }
103
+ attr_reader :belongs_to
104
+
105
+ sig { params(belongs_to: String).void }
106
+ attr_writer :belongs_to
107
+
108
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
109
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
110
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
111
+ sig do
112
+ returns(
113
+ T.nilable(
114
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol
115
+ )
116
+ )
117
+ end
118
+ attr_reader :content_type
119
+
120
+ sig do
121
+ params(
122
+ content_type:
123
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol
124
+ ).void
125
+ end
126
+ attr_writer :content_type
127
+
128
+ # Display hint for UI rendering of this field
129
+ sig do
130
+ returns(
131
+ T.nilable(SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint)
132
+ )
133
+ end
134
+ attr_reader :display_hint
135
+
136
+ sig do
137
+ params(
138
+ display_hint:
139
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::OrHash
140
+ ).void
141
+ end
142
+ attr_writer :display_hint
143
+
144
+ # Maximum amount of this field to include when sending to AI models. For text
145
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
146
+ # the maximum number of items.
147
+ sig { returns(T.nilable(Integer)) }
148
+ attr_reader :field_limit
149
+
150
+ sig { params(field_limit: Integer).void }
151
+ attr_writer :field_limit
152
+
153
+ # Optional parser to apply before indexing this field.
154
+ sig do
155
+ returns(
156
+ T.nilable(
157
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
158
+ )
159
+ )
160
+ end
161
+ attr_reader :ingest_as
162
+
163
+ sig do
164
+ params(
165
+ ingest_as:
166
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
167
+ ).void
168
+ end
169
+ attr_writer :ingest_as
170
+
171
+ # Schema definition for a data field
172
+ sig do
173
+ params(
174
+ belongs_to: String,
175
+ content_type:
176
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol,
177
+ display_hint:
178
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::OrHash,
179
+ field_limit: Integer,
180
+ ingest_as:
181
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
182
+ ).returns(T.attached_class)
183
+ end
184
+ def self.new(
185
+ # The parent object namespace this field belongs to, creating a parent-child
186
+ # relationship with that namespace.
187
+ belongs_to: nil,
188
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
189
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
190
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
191
+ content_type: nil,
192
+ # Display hint for UI rendering of this field
193
+ display_hint: nil,
194
+ # Maximum amount of this field to include when sending to AI models. For text
195
+ # fields, this is the character limit. For array fields (e.g. image URLs), this is
196
+ # the maximum number of items.
197
+ field_limit: nil,
198
+ # Optional parser to apply before indexing this field.
199
+ ingest_as: nil
200
+ )
201
+ end
202
+
203
+ sig do
204
+ override.returns(
205
+ {
206
+ belongs_to: String,
207
+ content_type:
208
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::OrSymbol,
209
+ display_hint:
210
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
211
+ field_limit: Integer,
212
+ ingest_as:
213
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::OrSymbol
214
+ }
215
+ )
216
+ end
217
+ def to_hash
218
+ end
219
+
220
+ # The type of content (image_url, video_url, audio_url, website_url, datetime,
221
+ # metadata, or card). When specified as a URL type, SafetyKit will process the
222
+ # URL. Use 'metadata' for fields that should be stored but not indexed.
223
+ module ContentType
224
+ extend SafetyKit::Internal::Type::Enum
225
+
226
+ TaggedSymbol =
227
+ T.type_alias do
228
+ T.all(
229
+ Symbol,
230
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType
231
+ )
232
+ end
233
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
234
+
235
+ IMAGE_URL =
236
+ T.let(
237
+ :image_url,
238
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
239
+ )
240
+ VIDEO_URL =
241
+ T.let(
242
+ :video_url,
243
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
244
+ )
245
+ AUDIO_URL =
246
+ T.let(
247
+ :audio_url,
248
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
249
+ )
250
+ WEBSITE_URL =
251
+ T.let(
252
+ :website_url,
253
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
254
+ )
255
+ DATETIME =
256
+ T.let(
257
+ :datetime,
258
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
259
+ )
260
+ METADATA =
261
+ T.let(
262
+ :metadata,
263
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
264
+ )
265
+ CARD =
266
+ T.let(
267
+ :card,
268
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
269
+ )
270
+
271
+ sig do
272
+ override.returns(
273
+ T::Array[
274
+ SafetyKit::DataUpdateSettingsParams::Schema::ContentType::TaggedSymbol
275
+ ]
276
+ )
277
+ end
278
+ def self.values
279
+ end
280
+ end
281
+
282
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
283
+ OrHash =
284
+ T.type_alias do
285
+ T.any(
286
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
287
+ SafetyKit::Internal::AnyHash
288
+ )
289
+ end
290
+
291
+ # Hide this field from default UI display.
292
+ sig { returns(T.nilable(T::Boolean)) }
293
+ attr_reader :hidden
294
+
295
+ sig { params(hidden: T::Boolean).void }
296
+ attr_writer :hidden
297
+
298
+ # Display label to show for this field in the UI
299
+ sig { returns(T.nilable(String)) }
300
+ attr_reader :name
301
+
302
+ sig { params(name: String).void }
303
+ attr_writer :name
304
+
305
+ # The display hint type
306
+ sig do
307
+ returns(
308
+ T.nilable(
309
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
310
+ )
311
+ )
312
+ end
313
+ attr_reader :type
314
+
315
+ sig do
316
+ params(
317
+ type:
318
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
319
+ ).void
320
+ end
321
+ attr_writer :type
322
+
323
+ # Display hint for UI rendering of this field
324
+ sig do
325
+ params(
326
+ hidden: T::Boolean,
327
+ name: String,
328
+ type:
329
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
330
+ ).returns(T.attached_class)
331
+ end
332
+ def self.new(
333
+ # Hide this field from default UI display.
334
+ hidden: nil,
335
+ # Display label to show for this field in the UI
336
+ name: nil,
337
+ # The display hint type
338
+ type: nil
339
+ )
340
+ end
341
+
342
+ sig do
343
+ override.returns(
344
+ {
345
+ hidden: T::Boolean,
346
+ name: String,
347
+ type:
348
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::OrSymbol
349
+ }
350
+ )
351
+ end
352
+ def to_hash
353
+ end
354
+
355
+ # The display hint type
356
+ module Type
357
+ extend SafetyKit::Internal::Type::Enum
358
+
359
+ TaggedSymbol =
360
+ T.type_alias do
361
+ T.all(
362
+ Symbol,
363
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type
364
+ )
365
+ end
366
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
367
+
368
+ TITLE =
369
+ T.let(
370
+ :title,
371
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
372
+ )
373
+ SUBTITLE =
374
+ T.let(
375
+ :subtitle,
376
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
377
+ )
378
+ CATEGORY =
379
+ T.let(
380
+ :category,
381
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
382
+ )
383
+ IDENTIFIER =
384
+ T.let(
385
+ :identifier,
386
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
387
+ )
388
+ CANONICAL_URL =
389
+ T.let(
390
+ :canonical_url,
391
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
392
+ )
393
+ STATUS =
394
+ T.let(
395
+ :status,
396
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
397
+ )
398
+ PRIMARY_TAG_SET =
399
+ T.let(
400
+ :primary_tag_set,
401
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
402
+ )
403
+ TAG_SET =
404
+ T.let(
405
+ :tag_set,
406
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
407
+ )
408
+ TIMESTAMP =
409
+ T.let(
410
+ :timestamp,
411
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
412
+ )
413
+ RATING =
414
+ T.let(
415
+ :rating,
416
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
417
+ )
418
+ SUMMARY =
419
+ T.let(
420
+ :summary,
421
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
422
+ )
423
+ PROFILE_IMAGE =
424
+ T.let(
425
+ :profile_image,
426
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
427
+ )
428
+ PRIMARY_IMAGE =
429
+ T.let(
430
+ :primary_image,
431
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
432
+ )
433
+ IMAGE_SET =
434
+ T.let(
435
+ :image_set,
436
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
437
+ )
438
+ VIDEO_SET =
439
+ T.let(
440
+ :video_set,
441
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
442
+ )
443
+ AUDIO_SET =
444
+ T.let(
445
+ :audio_set,
446
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
447
+ )
448
+ BODY =
449
+ T.let(
450
+ :body,
451
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
452
+ )
453
+ THREAD =
454
+ T.let(
455
+ :thread,
456
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
457
+ )
458
+ TWO_PERSON_CHAT =
459
+ T.let(
460
+ :two_person_chat,
461
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
462
+ )
463
+ MESSAGE =
464
+ T.let(
465
+ :message,
466
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
467
+ )
468
+ PROFILE =
469
+ T.let(
470
+ :profile,
471
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
472
+ )
473
+ MONEY =
474
+ T.let(
475
+ :money,
476
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
477
+ )
478
+ LOCATION =
479
+ T.let(
480
+ :location,
481
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
482
+ )
483
+ ATTRIBUTE_GROUP =
484
+ T.let(
485
+ :attribute_group,
486
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
487
+ )
488
+ ATTRIBUTE =
489
+ T.let(
490
+ :attribute,
491
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
492
+ )
493
+
494
+ sig do
495
+ override.returns(
496
+ T::Array[
497
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint::Type::TaggedSymbol
498
+ ]
499
+ )
500
+ end
501
+ def self.values
502
+ end
503
+ end
504
+ end
505
+
506
+ # Optional parser to apply before indexing this field.
507
+ module IngestAs
508
+ extend SafetyKit::Internal::Type::Enum
509
+
510
+ TaggedSymbol =
511
+ T.type_alias do
512
+ T.all(
513
+ Symbol,
514
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs
515
+ )
516
+ end
517
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
518
+
519
+ FLOAT =
520
+ T.let(
521
+ :float,
522
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::TaggedSymbol
523
+ )
524
+ DATETIME =
525
+ T.let(
526
+ :datetime,
527
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::TaggedSymbol
528
+ )
529
+
530
+ sig do
531
+ override.returns(
532
+ T::Array[
533
+ SafetyKit::DataUpdateSettingsParams::Schema::IngestAs::TaggedSymbol
534
+ ]
535
+ )
536
+ end
537
+ def self.values
538
+ end
539
+ end
540
+ end
541
+ end
542
+ end
543
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataUpdateSettingsResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :namespace
16
+
17
+ sig do
18
+ returns(
19
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
20
+ )
21
+ end
22
+ attr_accessor :status
23
+
24
+ # Namespace configuration was stored.
25
+ sig do
26
+ params(
27
+ namespace: String,
28
+ status:
29
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::OrSymbol
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(namespace:, status:)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ namespace: String,
39
+ status:
40
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ module Status
48
+ extend SafetyKit::Internal::Type::Enum
49
+
50
+ TaggedSymbol =
51
+ T.type_alias do
52
+ T.all(Symbol, SafetyKit::Models::DataUpdateSettingsResponse::Status)
53
+ end
54
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
55
+
56
+ UPDATED =
57
+ T.let(
58
+ :updated,
59
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
60
+ )
61
+
62
+ sig do
63
+ override.returns(
64
+ T::Array[
65
+ SafetyKit::Models::DataUpdateSettingsResponse::Status::TaggedSymbol
66
+ ]
67
+ )
68
+ end
69
+ def self.values
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -21,6 +21,8 @@ module SafetyKit
21
21
 
22
22
  DataObject = SafetyKit::Models::DataObject
23
23
 
24
+ DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
25
+
24
26
  DeletionRequestCreateParams = SafetyKit::Models::DeletionRequestCreateParams
25
27
 
26
28
  StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
@@ -82,6 +82,36 @@ module SafetyKit
82
82
  )
83
83
  end
84
84
 
85
+ # Update the schema and/or settings for a namespace. Only the fields provided are
86
+ # updated; omitted fields are left unchanged. Namespaces whose configuration is
87
+ # managed by SafetyKit cannot be updated through this endpoint.
88
+ sig do
89
+ params(
90
+ namespace: String,
91
+ schema:
92
+ T::Hash[
93
+ Symbol,
94
+ SafetyKit::DataUpdateSettingsParams::Schema::OrHash
95
+ ],
96
+ settings: T::Hash[Symbol, T.nilable(T.anything)],
97
+ request_options: SafetyKit::RequestOptions::OrHash
98
+ ).returns(SafetyKit::Models::DataUpdateSettingsResponse)
99
+ end
100
+ def update_settings(
101
+ # The namespace to ingest data into
102
+ namespace,
103
+ # Schema mapping field names to their definitions. Use content_type to specify
104
+ # which fields contain URLs that should be processed (images, videos, or
105
+ # websites), datetime fields, or 'metadata' for fields that should be stored but
106
+ # not indexed. Use display_hint to provide UI rendering hints.
107
+ schema: nil,
108
+ # Namespace settings to store, replacing existing settings. Omit to leave existing
109
+ # settings unchanged. Configure these values with guidance from SafetyKit.
110
+ settings: nil,
111
+ request_options: {}
112
+ )
113
+ end
114
+
85
115
  # @api private
86
116
  sig { params(client: SafetyKit::Client).returns(T.attached_class) }
87
117
  def self.new(client:)
@@ -0,0 +1,223 @@
1
+ module SafetyKit
2
+ module Models
3
+ type data_update_settings_params =
4
+ {
5
+ namespace: String,
6
+ schema: ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
7
+ settings: ::Hash[Symbol, top?]
8
+ }
9
+ & SafetyKit::Internal::Type::request_parameters
10
+
11
+ class DataUpdateSettingsParams < SafetyKit::Internal::Type::BaseModel
12
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
13
+ include SafetyKit::Internal::Type::RequestParameters
14
+
15
+ attr_accessor namespace: String
16
+
17
+ attr_reader schema: ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema]?
18
+
19
+ def schema=: (
20
+ ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema]
21
+ ) -> ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema]
22
+
23
+ attr_reader settings: ::Hash[Symbol, top?]?
24
+
25
+ def settings=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?]
26
+
27
+ def initialize: (
28
+ namespace: String,
29
+ ?schema: ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
30
+ ?settings: ::Hash[Symbol, top?],
31
+ ?request_options: SafetyKit::request_opts
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ namespace: String,
36
+ schema: ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
37
+ settings: ::Hash[Symbol, top?],
38
+ request_options: SafetyKit::RequestOptions
39
+ }
40
+
41
+ type schema =
42
+ {
43
+ belongs_to: String,
44
+ content_type: SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type,
45
+ display_hint: SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
46
+ field_limit: Integer,
47
+ ingest_as: SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as
48
+ }
49
+
50
+ class Schema < SafetyKit::Internal::Type::BaseModel
51
+ attr_reader belongs_to: String?
52
+
53
+ def belongs_to=: (String) -> String
54
+
55
+ attr_reader content_type: SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type?
56
+
57
+ def content_type=: (
58
+ SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type
59
+ ) -> SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type
60
+
61
+ attr_reader display_hint: SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint?
62
+
63
+ def display_hint=: (
64
+ SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint
65
+ ) -> SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint
66
+
67
+ attr_reader field_limit: Integer?
68
+
69
+ def field_limit=: (Integer) -> Integer
70
+
71
+ attr_reader ingest_as: SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as?
72
+
73
+ def ingest_as=: (
74
+ SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as
75
+ ) -> SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as
76
+
77
+ def initialize: (
78
+ ?belongs_to: String,
79
+ ?content_type: SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type,
80
+ ?display_hint: SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
81
+ ?field_limit: Integer,
82
+ ?ingest_as: SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as
83
+ ) -> void
84
+
85
+ def to_hash: -> {
86
+ belongs_to: String,
87
+ content_type: SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type,
88
+ display_hint: SafetyKit::DataUpdateSettingsParams::Schema::DisplayHint,
89
+ field_limit: Integer,
90
+ ingest_as: SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as
91
+ }
92
+
93
+ type content_type =
94
+ :image_url
95
+ | :video_url
96
+ | :audio_url
97
+ | :website_url
98
+ | :datetime
99
+ | :metadata
100
+ | :card
101
+
102
+ module ContentType
103
+ extend SafetyKit::Internal::Type::Enum
104
+
105
+ IMAGE_URL: :image_url
106
+ VIDEO_URL: :video_url
107
+ AUDIO_URL: :audio_url
108
+ WEBSITE_URL: :website_url
109
+ DATETIME: :datetime
110
+ METADATA: :metadata
111
+ CARD: :card
112
+
113
+ def self?.values: -> ::Array[SafetyKit::Models::DataUpdateSettingsParams::Schema::content_type]
114
+ end
115
+
116
+ type display_hint =
117
+ {
118
+ hidden: bool,
119
+ name: String,
120
+ type: SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_
121
+ }
122
+
123
+ class DisplayHint < SafetyKit::Internal::Type::BaseModel
124
+ attr_reader hidden: bool?
125
+
126
+ def hidden=: (bool) -> bool
127
+
128
+ attr_reader name: String?
129
+
130
+ def name=: (String) -> String
131
+
132
+ attr_reader type: SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_?
133
+
134
+ def type=: (
135
+ SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_
136
+ ) -> SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_
137
+
138
+ def initialize: (
139
+ ?hidden: bool,
140
+ ?name: String,
141
+ ?type: SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_
142
+ ) -> void
143
+
144
+ def to_hash: -> {
145
+ hidden: bool,
146
+ name: String,
147
+ type: SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_
148
+ }
149
+
150
+ type type_ =
151
+ :title
152
+ | :subtitle
153
+ | :category
154
+ | :identifier
155
+ | :canonical_url
156
+ | :status
157
+ | :primary_tag_set
158
+ | :tag_set
159
+ | :timestamp
160
+ | :rating
161
+ | :summary
162
+ | :profile_image
163
+ | :primary_image
164
+ | :image_set
165
+ | :video_set
166
+ | :audio_set
167
+ | :body
168
+ | :thread
169
+ | :two_person_chat
170
+ | :message
171
+ | :profile
172
+ | :money
173
+ | :location
174
+ | :attribute_group
175
+ | :attribute
176
+
177
+ module Type
178
+ extend SafetyKit::Internal::Type::Enum
179
+
180
+ TITLE: :title
181
+ SUBTITLE: :subtitle
182
+ CATEGORY: :category
183
+ IDENTIFIER: :identifier
184
+ CANONICAL_URL: :canonical_url
185
+ STATUS: :status
186
+ PRIMARY_TAG_SET: :primary_tag_set
187
+ TAG_SET: :tag_set
188
+ TIMESTAMP: :timestamp
189
+ RATING: :rating
190
+ SUMMARY: :summary
191
+ PROFILE_IMAGE: :profile_image
192
+ PRIMARY_IMAGE: :primary_image
193
+ IMAGE_SET: :image_set
194
+ VIDEO_SET: :video_set
195
+ AUDIO_SET: :audio_set
196
+ BODY: :body
197
+ THREAD: :thread
198
+ TWO_PERSON_CHAT: :two_person_chat
199
+ MESSAGE: :message
200
+ PROFILE: :profile
201
+ MONEY: :money
202
+ LOCATION: :location
203
+ ATTRIBUTE_GROUP: :attribute_group
204
+ ATTRIBUTE: :attribute
205
+
206
+ def self?.values: -> ::Array[SafetyKit::Models::DataUpdateSettingsParams::Schema::DisplayHint::type_]
207
+ end
208
+ end
209
+
210
+ type ingest_as = :float | :datetime
211
+
212
+ module IngestAs
213
+ extend SafetyKit::Internal::Type::Enum
214
+
215
+ FLOAT: :float
216
+ DATETIME: :datetime
217
+
218
+ def self?.values: -> ::Array[SafetyKit::Models::DataUpdateSettingsParams::Schema::ingest_as]
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
@@ -0,0 +1,35 @@
1
+ module SafetyKit
2
+ module Models
3
+ type data_update_settings_response =
4
+ {
5
+ namespace: String,
6
+ status: SafetyKit::Models::DataUpdateSettingsResponse::status
7
+ }
8
+
9
+ class DataUpdateSettingsResponse < SafetyKit::Internal::Type::BaseModel
10
+ attr_accessor namespace: String
11
+
12
+ attr_accessor status: SafetyKit::Models::DataUpdateSettingsResponse::status
13
+
14
+ def initialize: (
15
+ namespace: String,
16
+ status: SafetyKit::Models::DataUpdateSettingsResponse::status
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ namespace: String,
21
+ status: SafetyKit::Models::DataUpdateSettingsResponse::status
22
+ }
23
+
24
+ type status = :updated
25
+
26
+ module Status
27
+ extend SafetyKit::Internal::Type::Enum
28
+
29
+ UPDATED: :updated
30
+
31
+ def self?.values: -> ::Array[SafetyKit::Models::DataUpdateSettingsResponse::status]
32
+ end
33
+ end
34
+ end
35
+ end
@@ -17,6 +17,8 @@ module SafetyKit
17
17
 
18
18
  class DataObject = SafetyKit::Models::DataObject
19
19
 
20
+ class DataUpdateSettingsParams = SafetyKit::Models::DataUpdateSettingsParams
21
+
20
22
  class DeletionRequestCreateParams = SafetyKit::Models::DeletionRequestCreateParams
21
23
 
22
24
  class StreamAddFrameParams = SafetyKit::Models::StreamAddFrameParams
@@ -24,6 +24,13 @@ module SafetyKit
24
24
  ?request_options: SafetyKit::request_opts
25
25
  ) -> SafetyKit::Models::DataGetStatusResponse
26
26
 
27
+ def update_settings: (
28
+ String namespace,
29
+ ?schema: ::Hash[Symbol, SafetyKit::DataUpdateSettingsParams::Schema],
30
+ ?settings: ::Hash[Symbol, top?],
31
+ ?request_options: SafetyKit::request_opts
32
+ ) -> SafetyKit::Models::DataUpdateSettingsResponse
33
+
27
34
  def initialize: (client: SafetyKit::Client) -> void
28
35
  end
29
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safetykit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Safetykit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-15 00:00:00.000000000 Z
11
+ date: 2026-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -86,6 +86,8 @@ files:
86
86
  - lib/safety_kit/models/data_get_status_params.rb
87
87
  - lib/safety_kit/models/data_get_status_response.rb
88
88
  - lib/safety_kit/models/data_object.rb
89
+ - lib/safety_kit/models/data_update_settings_params.rb
90
+ - lib/safety_kit/models/data_update_settings_response.rb
89
91
  - lib/safety_kit/models/deletion_request_create_params.rb
90
92
  - lib/safety_kit/models/deletion_request_create_response.rb
91
93
  - lib/safety_kit/models/stream_add_frame_params.rb
@@ -141,6 +143,8 @@ files:
141
143
  - rbi/safety_kit/models/data_get_status_params.rbi
142
144
  - rbi/safety_kit/models/data_get_status_response.rbi
143
145
  - rbi/safety_kit/models/data_object.rbi
146
+ - rbi/safety_kit/models/data_update_settings_params.rbi
147
+ - rbi/safety_kit/models/data_update_settings_response.rbi
144
148
  - rbi/safety_kit/models/deletion_request_create_params.rbi
145
149
  - rbi/safety_kit/models/deletion_request_create_response.rbi
146
150
  - rbi/safety_kit/models/stream_add_frame_params.rbi
@@ -195,6 +199,8 @@ files:
195
199
  - sig/safety_kit/models/data_get_status_params.rbs
196
200
  - sig/safety_kit/models/data_get_status_response.rbs
197
201
  - sig/safety_kit/models/data_object.rbs
202
+ - sig/safety_kit/models/data_update_settings_params.rbs
203
+ - sig/safety_kit/models/data_update_settings_response.rbs
198
204
  - sig/safety_kit/models/deletion_request_create_params.rbs
199
205
  - sig/safety_kit/models/deletion_request_create_response.rbs
200
206
  - sig/safety_kit/models/stream_add_frame_params.rbs