safetykit 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +47 -0
  4. data/README.md +208 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/safety_kit/client.rb +111 -0
  7. data/lib/safety_kit/errors.rb +228 -0
  8. data/lib/safety_kit/file_part.rb +58 -0
  9. data/lib/safety_kit/internal/transport/base_client.rb +575 -0
  10. data/lib/safety_kit/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/safety_kit/internal/type/array_of.rb +168 -0
  12. data/lib/safety_kit/internal/type/base_model.rb +529 -0
  13. data/lib/safety_kit/internal/type/base_page.rb +55 -0
  14. data/lib/safety_kit/internal/type/boolean.rb +77 -0
  15. data/lib/safety_kit/internal/type/converter.rb +327 -0
  16. data/lib/safety_kit/internal/type/enum.rb +131 -0
  17. data/lib/safety_kit/internal/type/file_input.rb +111 -0
  18. data/lib/safety_kit/internal/type/hash_of.rb +188 -0
  19. data/lib/safety_kit/internal/type/request_parameters.rb +42 -0
  20. data/lib/safety_kit/internal/type/union.rb +237 -0
  21. data/lib/safety_kit/internal/type/unknown.rb +81 -0
  22. data/lib/safety_kit/internal/util.rb +966 -0
  23. data/lib/safety_kit/internal.rb +20 -0
  24. data/lib/safety_kit/models/agent_decision_create_agent_decision_params.rb +68 -0
  25. data/lib/safety_kit/models/agent_decision_create_agent_decision_response.rb +19 -0
  26. data/lib/safety_kit/models/beta/event_create_params.rb +1140 -0
  27. data/lib/safety_kit/models/beta/event_create_response.rb +41 -0
  28. data/lib/safety_kit/models/client_session_create_session_params.rb +30 -0
  29. data/lib/safety_kit/models/client_session_create_session_response.rb +19 -0
  30. data/lib/safety_kit/models/data_add_params.rb +52 -0
  31. data/lib/safety_kit/models/data_add_response.rb +44 -0
  32. data/lib/safety_kit/models/data_create_upload_url_params.rb +176 -0
  33. data/lib/safety_kit/models/data_create_upload_url_response.rb +69 -0
  34. data/lib/safety_kit/models/data_get_download_url_params.rb +30 -0
  35. data/lib/safety_kit/models/data_get_download_url_response.rb +80 -0
  36. data/lib/safety_kit/models/data_get_status_params.rb +30 -0
  37. data/lib/safety_kit/models/data_get_status_response.rb +128 -0
  38. data/lib/safety_kit/models/data_object.rb +24 -0
  39. data/lib/safety_kit/models/data_update_settings_params.rb +176 -0
  40. data/lib/safety_kit/models/data_update_settings_response.rb +34 -0
  41. data/lib/safety_kit/models/stream_add_frame_params.rb +50 -0
  42. data/lib/safety_kit/models/stream_add_frame_response.rb +34 -0
  43. data/lib/safety_kit/models/stream_add_params.rb +36 -0
  44. data/lib/safety_kit/models/stream_add_response.rb +34 -0
  45. data/lib/safety_kit/models/stream_add_transcript_params.rb +43 -0
  46. data/lib/safety_kit/models/stream_add_transcript_response.rb +34 -0
  47. data/lib/safety_kit/models.rb +65 -0
  48. data/lib/safety_kit/request_options.rb +77 -0
  49. data/lib/safety_kit/resources/agent_decisions.rb +55 -0
  50. data/lib/safety_kit/resources/beta/events.rb +45 -0
  51. data/lib/safety_kit/resources/beta.rb +19 -0
  52. data/lib/safety_kit/resources/client_sessions.rb +42 -0
  53. data/lib/safety_kit/resources/data.rb +159 -0
  54. data/lib/safety_kit/resources/streams.rb +113 -0
  55. data/lib/safety_kit/version.rb +5 -0
  56. data/lib/safety_kit.rb +84 -0
  57. data/manifest.yaml +17 -0
  58. data/rbi/safety_kit/client.rbi +68 -0
  59. data/rbi/safety_kit/errors.rbi +205 -0
  60. data/rbi/safety_kit/file_part.rbi +37 -0
  61. data/rbi/safety_kit/internal/transport/base_client.rbi +298 -0
  62. data/rbi/safety_kit/internal/transport/pooled_net_requester.rbi +83 -0
  63. data/rbi/safety_kit/internal/type/array_of.rbi +104 -0
  64. data/rbi/safety_kit/internal/type/base_model.rbi +308 -0
  65. data/rbi/safety_kit/internal/type/base_page.rbi +42 -0
  66. data/rbi/safety_kit/internal/type/boolean.rbi +58 -0
  67. data/rbi/safety_kit/internal/type/converter.rbi +216 -0
  68. data/rbi/safety_kit/internal/type/enum.rbi +82 -0
  69. data/rbi/safety_kit/internal/type/file_input.rbi +59 -0
  70. data/rbi/safety_kit/internal/type/hash_of.rbi +104 -0
  71. data/rbi/safety_kit/internal/type/request_parameters.rbi +29 -0
  72. data/rbi/safety_kit/internal/type/union.rbi +128 -0
  73. data/rbi/safety_kit/internal/type/unknown.rbi +58 -0
  74. data/rbi/safety_kit/internal/util.rbi +515 -0
  75. data/rbi/safety_kit/internal.rbi +18 -0
  76. data/rbi/safety_kit/models/agent_decision_create_agent_decision_params.rbi +95 -0
  77. data/rbi/safety_kit/models/agent_decision_create_agent_decision_response.rbi +31 -0
  78. data/rbi/safety_kit/models/beta/event_create_params.rbi +2379 -0
  79. data/rbi/safety_kit/models/beta/event_create_response.rbi +87 -0
  80. data/rbi/safety_kit/models/client_session_create_session_params.rbi +60 -0
  81. data/rbi/safety_kit/models/client_session_create_session_response.rbi +31 -0
  82. data/rbi/safety_kit/models/data_add_params.rbi +82 -0
  83. data/rbi/safety_kit/models/data_add_response.rbi +77 -0
  84. data/rbi/safety_kit/models/data_create_upload_url_params.rbi +473 -0
  85. data/rbi/safety_kit/models/data_create_upload_url_response.rbi +113 -0
  86. data/rbi/safety_kit/models/data_get_download_url_params.rbi +54 -0
  87. data/rbi/safety_kit/models/data_get_download_url_response.rbi +136 -0
  88. data/rbi/safety_kit/models/data_get_status_params.rbi +51 -0
  89. data/rbi/safety_kit/models/data_get_status_response.rbi +264 -0
  90. data/rbi/safety_kit/models/data_object.rbi +33 -0
  91. data/rbi/safety_kit/models/data_update_settings_params.rbi +458 -0
  92. data/rbi/safety_kit/models/data_update_settings_response.rbi +74 -0
  93. data/rbi/safety_kit/models/stream_add_frame_params.rbi +69 -0
  94. data/rbi/safety_kit/models/stream_add_frame_response.rbi +71 -0
  95. data/rbi/safety_kit/models/stream_add_params.rbi +55 -0
  96. data/rbi/safety_kit/models/stream_add_response.rbi +68 -0
  97. data/rbi/safety_kit/models/stream_add_transcript_params.rbi +64 -0
  98. data/rbi/safety_kit/models/stream_add_transcript_response.rbi +77 -0
  99. data/rbi/safety_kit/models.rbi +29 -0
  100. data/rbi/safety_kit/request_options.rbi +59 -0
  101. data/rbi/safety_kit/resources/agent_decisions.rbi +50 -0
  102. data/rbi/safety_kit/resources/beta/events.rbi +40 -0
  103. data/rbi/safety_kit/resources/beta.rbi +16 -0
  104. data/rbi/safety_kit/resources/client_sessions.rbi +33 -0
  105. data/rbi/safety_kit/resources/data.rbi +126 -0
  106. data/rbi/safety_kit/resources/streams.rbi +88 -0
  107. data/rbi/safety_kit/version.rbi +5 -0
  108. data/sig/safety_kit/client.rbs +34 -0
  109. data/sig/safety_kit/errors.rbs +117 -0
  110. data/sig/safety_kit/file_part.rbs +21 -0
  111. data/sig/safety_kit/internal/transport/base_client.rbs +133 -0
  112. data/sig/safety_kit/internal/transport/pooled_net_requester.rbs +48 -0
  113. data/sig/safety_kit/internal/type/array_of.rbs +48 -0
  114. data/sig/safety_kit/internal/type/base_model.rbs +102 -0
  115. data/sig/safety_kit/internal/type/base_page.rbs +24 -0
  116. data/sig/safety_kit/internal/type/boolean.rbs +26 -0
  117. data/sig/safety_kit/internal/type/converter.rbs +79 -0
  118. data/sig/safety_kit/internal/type/enum.rbs +32 -0
  119. data/sig/safety_kit/internal/type/file_input.rbs +25 -0
  120. data/sig/safety_kit/internal/type/hash_of.rbs +48 -0
  121. data/sig/safety_kit/internal/type/request_parameters.rbs +19 -0
  122. data/sig/safety_kit/internal/type/union.rbs +52 -0
  123. data/sig/safety_kit/internal/type/unknown.rbs +26 -0
  124. data/sig/safety_kit/internal/util.rbs +199 -0
  125. data/sig/safety_kit/internal.rbs +9 -0
  126. data/sig/safety_kit/models/agent_decision_create_agent_decision_params.rbs +53 -0
  127. data/sig/safety_kit/models/agent_decision_create_agent_decision_response.rbs +14 -0
  128. data/sig/safety_kit/models/beta/event_create_params.rbs +891 -0
  129. data/sig/safety_kit/models/beta/event_create_response.rbs +37 -0
  130. data/sig/safety_kit/models/client_session_create_session_params.rbs +32 -0
  131. data/sig/safety_kit/models/client_session_create_session_response.rbs +13 -0
  132. data/sig/safety_kit/models/data_add_params.rbs +38 -0
  133. data/sig/safety_kit/models/data_add_response.rbs +32 -0
  134. data/sig/safety_kit/models/data_create_upload_url_params.rbs +193 -0
  135. data/sig/safety_kit/models/data_create_upload_url_response.rbs +50 -0
  136. data/sig/safety_kit/models/data_get_download_url_params.rbs +28 -0
  137. data/sig/safety_kit/models/data_get_download_url_response.rbs +59 -0
  138. data/sig/safety_kit/models/data_get_status_params.rbs +28 -0
  139. data/sig/safety_kit/models/data_get_status_response.rbs +120 -0
  140. data/sig/safety_kit/models/data_object.rbs +13 -0
  141. data/sig/safety_kit/models/data_update_settings_params.rbs +189 -0
  142. data/sig/safety_kit/models/data_update_settings_response.rbs +35 -0
  143. data/sig/safety_kit/models/stream_add_frame_params.rbs +41 -0
  144. data/sig/safety_kit/models/stream_add_frame_response.rbs +35 -0
  145. data/sig/safety_kit/models/stream_add_params.rbs +32 -0
  146. data/sig/safety_kit/models/stream_add_response.rbs +35 -0
  147. data/sig/safety_kit/models/stream_add_transcript_params.rbs +36 -0
  148. data/sig/safety_kit/models/stream_add_transcript_response.rbs +35 -0
  149. data/sig/safety_kit/models.rbs +25 -0
  150. data/sig/safety_kit/request_options.rbs +34 -0
  151. data/sig/safety_kit/resources/agent_decisions.rbs +17 -0
  152. data/sig/safety_kit/resources/beta/events.rbs +14 -0
  153. data/sig/safety_kit/resources/beta.rbs +9 -0
  154. data/sig/safety_kit/resources/client_sessions.rbs +13 -0
  155. data/sig/safety_kit/resources/data.rbs +37 -0
  156. data/sig/safety_kit/resources/streams.rbs +30 -0
  157. data/sig/safety_kit/version.rbs +3 -0
  158. metadata +228 -0
@@ -0,0 +1,136 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataGetDownloadURLResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataGetDownloadURLResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Number of processed objects in the request. Null until the request has
15
+ # succeeded.
16
+ sig { returns(T.nilable(Integer)) }
17
+ attr_accessor :data_count
18
+
19
+ # ISO timestamp when `data_url` expires. Null until the request has succeeded.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :data_expires_at
22
+
23
+ # Temporary S3 URL for the full request result. Null until the request has
24
+ # succeeded.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :data_url
27
+
28
+ sig { returns(String) }
29
+ attr_accessor :namespace
30
+
31
+ sig { returns(String) }
32
+ attr_accessor :request_id
33
+
34
+ # Current processing status of the request
35
+ sig do
36
+ returns(
37
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
38
+ )
39
+ end
40
+ attr_accessor :status
41
+
42
+ # Response containing request status and a temporary S3 URL for the full request
43
+ # result. The shape is stable across all request sizes; before processing
44
+ # completes, the download fields are null.
45
+ sig do
46
+ params(
47
+ data_count: T.nilable(Integer),
48
+ data_expires_at: T.nilable(String),
49
+ data_url: T.nilable(String),
50
+ namespace: String,
51
+ request_id: String,
52
+ status:
53
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::OrSymbol
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # Number of processed objects in the request. Null until the request has
58
+ # succeeded.
59
+ data_count:,
60
+ # ISO timestamp when `data_url` expires. Null until the request has succeeded.
61
+ data_expires_at:,
62
+ # Temporary S3 URL for the full request result. Null until the request has
63
+ # succeeded.
64
+ data_url:,
65
+ namespace:,
66
+ request_id:,
67
+ # Current processing status of the request
68
+ status:
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ data_count: T.nilable(Integer),
76
+ data_expires_at: T.nilable(String),
77
+ data_url: T.nilable(String),
78
+ namespace: String,
79
+ request_id: String,
80
+ status:
81
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+
88
+ # Current processing status of the request
89
+ module Status
90
+ extend SafetyKit::Internal::Type::Enum
91
+
92
+ TaggedSymbol =
93
+ T.type_alias do
94
+ T.all(Symbol, SafetyKit::Models::DataGetDownloadURLResponse::Status)
95
+ end
96
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
97
+
98
+ QUEUED =
99
+ T.let(
100
+ :queued,
101
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
102
+ )
103
+ UPLOADING =
104
+ T.let(
105
+ :uploading,
106
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
107
+ )
108
+ INGESTING =
109
+ T.let(
110
+ :ingesting,
111
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
112
+ )
113
+ SUCCEEDED =
114
+ T.let(
115
+ :succeeded,
116
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
117
+ )
118
+ FAILED =
119
+ T.let(
120
+ :failed,
121
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
122
+ )
123
+
124
+ sig do
125
+ override.returns(
126
+ T::Array[
127
+ SafetyKit::Models::DataGetDownloadURLResponse::Status::TaggedSymbol
128
+ ]
129
+ )
130
+ end
131
+ def self.values
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataGetStatusParams < 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(SafetyKit::DataGetStatusParams, SafetyKit::Internal::AnyHash)
12
+ end
13
+
14
+ # The namespace the data was ingested into
15
+ sig { returns(String) }
16
+ attr_accessor :namespace
17
+
18
+ # The request ID returned when the ingest request was created
19
+ sig { returns(String) }
20
+ attr_accessor :request_id
21
+
22
+ sig do
23
+ params(
24
+ namespace: String,
25
+ request_id: String,
26
+ request_options: SafetyKit::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # The namespace the data was ingested into
31
+ namespace:,
32
+ # The request ID returned when the ingest request was created
33
+ request_id:,
34
+ request_options: {}
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ namespace: String,
42
+ request_id: String,
43
+ request_options: SafetyKit::RequestOptions
44
+ }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,264 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataGetStatusResponse < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ SafetyKit::Models::DataGetStatusResponse,
10
+ SafetyKit::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[SafetyKit::Models::DataGetStatusResponse::Data]) }
15
+ attr_accessor :data
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :namespace
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :request_id
22
+
23
+ # Current processing status of the request
24
+ sig do
25
+ returns(SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol)
26
+ end
27
+ attr_accessor :status
28
+
29
+ # Response containing request status and processed output data. Before processing
30
+ # completes, `data` is an empty array. If the processed output exceeds the 5 MiB
31
+ # inline response limit, this endpoint returns an error instructing you to use the
32
+ # results download URL endpoint instead.
33
+ sig do
34
+ params(
35
+ data:
36
+ T::Array[SafetyKit::Models::DataGetStatusResponse::Data::OrHash],
37
+ namespace: String,
38
+ request_id: String,
39
+ status: SafetyKit::Models::DataGetStatusResponse::Status::OrSymbol
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ data:,
44
+ namespace:,
45
+ request_id:,
46
+ # Current processing status of the request
47
+ status:
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ data: T::Array[SafetyKit::Models::DataGetStatusResponse::Data],
55
+ namespace: String,
56
+ request_id: String,
57
+ status:
58
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ class Data < SafetyKit::Internal::Type::BaseModel
66
+ OrHash =
67
+ T.type_alias do
68
+ T.any(
69
+ SafetyKit::Models::DataGetStatusResponse::Data,
70
+ SafetyKit::Internal::AnyHash
71
+ )
72
+ end
73
+
74
+ # Object identifier from the ingested data
75
+ sig { returns(String) }
76
+ attr_accessor :id
77
+
78
+ sig do
79
+ returns(
80
+ T.nilable(SafetyKit::Models::DataGetStatusResponse::Data::Output)
81
+ )
82
+ end
83
+ attr_reader :output
84
+
85
+ sig do
86
+ params(
87
+ output:
88
+ T.nilable(
89
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::OrHash
90
+ )
91
+ ).void
92
+ end
93
+ attr_writer :output
94
+
95
+ sig { returns(String) }
96
+ attr_accessor :url
97
+
98
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
99
+ attr_reader :metadata
100
+
101
+ sig { params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void }
102
+ attr_writer :metadata
103
+
104
+ # Per-object processing output for the request
105
+ sig do
106
+ params(
107
+ id: String,
108
+ output:
109
+ T.nilable(
110
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::OrHash
111
+ ),
112
+ url: String,
113
+ metadata: T::Hash[Symbol, T.nilable(T.anything)]
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Object identifier from the ingested data
118
+ id:,
119
+ output:,
120
+ url:,
121
+ metadata: nil
122
+ )
123
+ end
124
+
125
+ sig do
126
+ override.returns(
127
+ {
128
+ id: String,
129
+ output:
130
+ T.nilable(
131
+ SafetyKit::Models::DataGetStatusResponse::Data::Output
132
+ ),
133
+ url: String,
134
+ metadata: T::Hash[Symbol, T.nilable(T.anything)]
135
+ }
136
+ )
137
+ end
138
+ def to_hash
139
+ end
140
+
141
+ class Output < SafetyKit::Internal::Type::BaseModel
142
+ OrHash =
143
+ T.type_alias do
144
+ T.any(
145
+ SafetyKit::Models::DataGetStatusResponse::Data::Output,
146
+ SafetyKit::Internal::AnyHash
147
+ )
148
+ end
149
+
150
+ sig { returns(T::Array[T.nilable(T.anything)]) }
151
+ attr_accessor :actions
152
+
153
+ sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) }
154
+ attr_accessor :fields
155
+
156
+ sig do
157
+ returns(
158
+ T::Array[
159
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::Label
160
+ ]
161
+ )
162
+ end
163
+ attr_accessor :labels
164
+
165
+ sig do
166
+ params(
167
+ actions: T::Array[T.nilable(T.anything)],
168
+ fields: T::Hash[Symbol, T.nilable(T.anything)],
169
+ labels:
170
+ T::Array[
171
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::Label::OrHash
172
+ ]
173
+ ).returns(T.attached_class)
174
+ end
175
+ def self.new(actions:, fields:, labels:)
176
+ end
177
+
178
+ sig do
179
+ override.returns(
180
+ {
181
+ actions: T::Array[T.nilable(T.anything)],
182
+ fields: T::Hash[Symbol, T.nilable(T.anything)],
183
+ labels:
184
+ T::Array[
185
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::Label
186
+ ]
187
+ }
188
+ )
189
+ end
190
+ def to_hash
191
+ end
192
+
193
+ class Label < SafetyKit::Internal::Type::BaseModel
194
+ OrHash =
195
+ T.type_alias do
196
+ T.any(
197
+ SafetyKit::Models::DataGetStatusResponse::Data::Output::Label,
198
+ SafetyKit::Internal::AnyHash
199
+ )
200
+ end
201
+
202
+ sig { returns(String) }
203
+ attr_accessor :label
204
+
205
+ sig { params(label: String).returns(T.attached_class) }
206
+ def self.new(label:)
207
+ end
208
+
209
+ sig { override.returns({ label: String }) }
210
+ def to_hash
211
+ end
212
+ end
213
+ end
214
+ end
215
+
216
+ # Current processing status of the request
217
+ module Status
218
+ extend SafetyKit::Internal::Type::Enum
219
+
220
+ TaggedSymbol =
221
+ T.type_alias do
222
+ T.all(Symbol, SafetyKit::Models::DataGetStatusResponse::Status)
223
+ end
224
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
225
+
226
+ QUEUED =
227
+ T.let(
228
+ :queued,
229
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
230
+ )
231
+ UPLOADING =
232
+ T.let(
233
+ :uploading,
234
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
235
+ )
236
+ INGESTING =
237
+ T.let(
238
+ :ingesting,
239
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
240
+ )
241
+ SUCCEEDED =
242
+ T.let(
243
+ :succeeded,
244
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
245
+ )
246
+ FAILED =
247
+ T.let(
248
+ :failed,
249
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
250
+ )
251
+
252
+ sig do
253
+ override.returns(
254
+ T::Array[
255
+ SafetyKit::Models::DataGetStatusResponse::Status::TaggedSymbol
256
+ ]
257
+ )
258
+ end
259
+ def self.values
260
+ end
261
+ end
262
+ end
263
+ end
264
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module SafetyKit
4
+ module Models
5
+ class DataObject < SafetyKit::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SafetyKit::DataObject, SafetyKit::Internal::AnyHash)
9
+ end
10
+
11
+ # Unique identifier for this data object. This should be a meaningful identifier
12
+ # in the customer's system, as it is the main way to search for specific items
13
+ # between systems.
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ # A data object to ingest. It must include an id field. All other fields are
18
+ # flexible and can be any JSON type.
19
+ sig { params(id: String).returns(T.attached_class) }
20
+ def self.new(
21
+ # Unique identifier for this data object. This should be a meaningful identifier
22
+ # in the customer's system, as it is the main way to search for specific items
23
+ # between systems.
24
+ id:
25
+ )
26
+ end
27
+
28
+ sig { override.returns({ id: String }) }
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end