openlayer 0.3.0 → 0.4.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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +280 -39
  5. data/SECURITY.md +27 -0
  6. data/lib/openlayer/client.rb +64 -59
  7. data/lib/openlayer/errors.rb +228 -0
  8. data/lib/openlayer/file_part.rb +58 -0
  9. data/lib/openlayer/internal/transport/base_client.rb +567 -0
  10. data/lib/openlayer/internal/transport/pooled_net_requester.rb +198 -0
  11. data/lib/openlayer/internal/type/array_of.rb +168 -0
  12. data/lib/openlayer/internal/type/base_model.rb +531 -0
  13. data/lib/openlayer/internal/type/base_page.rb +55 -0
  14. data/lib/openlayer/internal/type/boolean.rb +77 -0
  15. data/lib/openlayer/internal/type/converter.rb +327 -0
  16. data/lib/openlayer/internal/type/enum.rb +131 -0
  17. data/lib/openlayer/internal/type/file_input.rb +111 -0
  18. data/lib/openlayer/internal/type/hash_of.rb +188 -0
  19. data/lib/openlayer/internal/type/request_parameters.rb +42 -0
  20. data/lib/openlayer/internal/type/union.rb +237 -0
  21. data/lib/openlayer/internal/type/unknown.rb +81 -0
  22. data/lib/openlayer/internal/util.rb +915 -0
  23. data/lib/openlayer/internal.rb +20 -0
  24. data/lib/openlayer/models/commit_retrieve_params.rb +14 -0
  25. data/lib/openlayer/models/commit_retrieve_response.rb +275 -0
  26. data/lib/openlayer/models/commits/test_result_list_params.rb +91 -0
  27. data/lib/openlayer/models/commits/test_result_list_response.rb +566 -0
  28. data/lib/openlayer/models/inference_pipeline_delete_params.rb +14 -0
  29. data/lib/openlayer/models/inference_pipeline_retrieve_params.rb +33 -0
  30. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +605 -0
  31. data/lib/openlayer/models/inference_pipeline_update_params.rb +42 -0
  32. data/lib/openlayer/models/inference_pipeline_update_response.rb +605 -0
  33. data/lib/openlayer/models/inference_pipelines/data_stream_params.rb +463 -0
  34. data/lib/openlayer/models/inference_pipelines/data_stream_response.rb +28 -0
  35. data/lib/openlayer/models/inference_pipelines/row_update_params.rb +90 -0
  36. data/lib/openlayer/models/inference_pipelines/row_update_response.rb +28 -0
  37. data/lib/openlayer/models/inference_pipelines/test_result_list_params.rb +83 -0
  38. data/lib/openlayer/models/inference_pipelines/test_result_list_response.rb +568 -0
  39. data/lib/openlayer/models/project_create_params.rb +51 -0
  40. data/lib/openlayer/models/project_create_response.rb +262 -0
  41. data/lib/openlayer/models/project_list_params.rb +59 -0
  42. data/lib/openlayer/models/project_list_response.rb +274 -0
  43. data/lib/openlayer/models/projects/commit_create_params.rb +61 -0
  44. data/lib/openlayer/models/projects/commit_create_response.rb +277 -0
  45. data/lib/openlayer/models/projects/commit_list_params.rb +32 -0
  46. data/lib/openlayer/models/projects/commit_list_response.rb +288 -0
  47. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +229 -0
  48. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +612 -0
  49. data/lib/openlayer/models/projects/inference_pipeline_list_params.rb +40 -0
  50. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +623 -0
  51. data/lib/openlayer/models/projects/test_create_params.rb +367 -0
  52. data/lib/openlayer/models/projects/test_create_response.rb +438 -0
  53. data/lib/openlayer/models/projects/test_list_params.rb +91 -0
  54. data/lib/openlayer/models/projects/test_list_response.rb +452 -0
  55. data/lib/openlayer/models/projects/test_update_params.rb +262 -0
  56. data/lib/openlayer/models/projects/test_update_response.rb +24 -0
  57. data/lib/openlayer/models/storage/presigned_url_create_params.rb +24 -0
  58. data/lib/openlayer/models/storage/presigned_url_create_response.rb +35 -0
  59. data/lib/openlayer/models.rb +61 -0
  60. data/lib/openlayer/request_options.rb +77 -0
  61. data/lib/openlayer/resources/commits/test_results.rb +51 -0
  62. data/lib/openlayer/resources/commits.rb +38 -0
  63. data/lib/openlayer/resources/inference_pipelines/data.rb +46 -0
  64. data/lib/openlayer/resources/inference_pipelines/rows.rb +46 -0
  65. data/lib/openlayer/resources/inference_pipelines/test_results.rb +49 -0
  66. data/lib/openlayer/resources/inference_pipelines.rb +101 -0
  67. data/lib/openlayer/resources/projects/commits.rb +72 -0
  68. data/lib/openlayer/resources/projects/inference_pipelines.rb +74 -0
  69. data/lib/openlayer/resources/projects/tests.rb +135 -0
  70. data/lib/openlayer/resources/projects.rb +80 -0
  71. data/lib/openlayer/resources/storage/presigned_url.rb +38 -0
  72. data/lib/openlayer/resources/storage.rb +18 -0
  73. data/lib/openlayer/version.rb +1 -1
  74. data/lib/openlayer.rb +96 -12
  75. data/manifest.yaml +15 -0
  76. data/rbi/openlayer/client.rbi +58 -0
  77. data/rbi/openlayer/errors.rbi +205 -0
  78. data/rbi/openlayer/file_part.rbi +37 -0
  79. data/rbi/openlayer/internal/transport/base_client.rbi +293 -0
  80. data/rbi/openlayer/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/openlayer/internal/type/array_of.rbi +104 -0
  82. data/rbi/openlayer/internal/type/base_model.rbi +304 -0
  83. data/rbi/openlayer/internal/type/base_page.rbi +42 -0
  84. data/rbi/openlayer/internal/type/boolean.rbi +58 -0
  85. data/rbi/openlayer/internal/type/converter.rbi +216 -0
  86. data/rbi/openlayer/internal/type/enum.rbi +82 -0
  87. data/rbi/openlayer/internal/type/file_input.rbi +59 -0
  88. data/rbi/openlayer/internal/type/hash_of.rbi +104 -0
  89. data/rbi/openlayer/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/openlayer/internal/type/union.rbi +128 -0
  91. data/rbi/openlayer/internal/type/unknown.rbi +58 -0
  92. data/rbi/openlayer/internal/util.rbi +487 -0
  93. data/rbi/openlayer/internal.rbi +18 -0
  94. data/rbi/openlayer/models/commit_retrieve_params.rbi +27 -0
  95. data/rbi/openlayer/models/commit_retrieve_response.rbi +393 -0
  96. data/rbi/openlayer/models/commits/test_result_list_params.rbi +214 -0
  97. data/rbi/openlayer/models/commits/test_result_list_response.rbi +1256 -0
  98. data/rbi/openlayer/models/inference_pipeline_delete_params.rbi +30 -0
  99. data/rbi/openlayer/models/inference_pipeline_retrieve_params.rbi +101 -0
  100. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +1022 -0
  101. data/rbi/openlayer/models/inference_pipeline_update_params.rbi +67 -0
  102. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +1018 -0
  103. data/rbi/openlayer/models/inference_pipelines/data_stream_params.rbi +750 -0
  104. data/rbi/openlayer/models/inference_pipelines/data_stream_response.rbi +73 -0
  105. data/rbi/openlayer/models/inference_pipelines/row_update_params.rbi +153 -0
  106. data/rbi/openlayer/models/inference_pipelines/row_update_response.rbi +73 -0
  107. data/rbi/openlayer/models/inference_pipelines/test_result_list_params.rbi +216 -0
  108. data/rbi/openlayer/models/inference_pipelines/test_result_list_response.rbi +1258 -0
  109. data/rbi/openlayer/models/project_create_params.rbi +99 -0
  110. data/rbi/openlayer/models/project_create_response.rbi +401 -0
  111. data/rbi/openlayer/models/project_list_params.rbi +121 -0
  112. data/rbi/openlayer/models/project_list_response.rbi +442 -0
  113. data/rbi/openlayer/models/projects/commit_create_params.rbi +125 -0
  114. data/rbi/openlayer/models/projects/commit_create_response.rbi +409 -0
  115. data/rbi/openlayer/models/projects/commit_list_params.rbi +62 -0
  116. data/rbi/openlayer/models/projects/commit_list_response.rbi +454 -0
  117. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +560 -0
  118. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +1027 -0
  119. data/rbi/openlayer/models/projects/inference_pipeline_list_params.rbi +73 -0
  120. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +1070 -0
  121. data/rbi/openlayer/models/projects/test_create_params.rbi +940 -0
  122. data/rbi/openlayer/models/projects/test_create_response.rbi +1026 -0
  123. data/rbi/openlayer/models/projects/test_list_params.rbi +165 -0
  124. data/rbi/openlayer/models/projects/test_list_response.rbi +1067 -0
  125. data/rbi/openlayer/models/projects/test_update_params.rbi +699 -0
  126. data/rbi/openlayer/models/projects/test_update_response.rbi +43 -0
  127. data/rbi/openlayer/models/storage/presigned_url_create_params.rbi +45 -0
  128. data/rbi/openlayer/models/storage/presigned_url_create_response.rbi +55 -0
  129. data/rbi/openlayer/models.rbi +26 -0
  130. data/rbi/openlayer/request_options.rbi +59 -0
  131. data/rbi/openlayer/resources/commits/test_results.rbi +45 -0
  132. data/rbi/openlayer/resources/commits.rbi +29 -0
  133. data/rbi/openlayer/resources/inference_pipelines/data.rbi +41 -0
  134. data/rbi/openlayer/resources/inference_pipelines/rows.rbi +40 -0
  135. data/rbi/openlayer/resources/inference_pipelines/test_results.rbi +46 -0
  136. data/rbi/openlayer/resources/inference_pipelines.rbi +79 -0
  137. data/rbi/openlayer/resources/projects/commits.rbi +60 -0
  138. data/rbi/openlayer/resources/projects/inference_pipelines.rbi +69 -0
  139. data/rbi/openlayer/resources/projects/tests.rbi +123 -0
  140. data/rbi/openlayer/resources/projects.rbi +64 -0
  141. data/rbi/openlayer/resources/storage/presigned_url.rbi +28 -0
  142. data/rbi/openlayer/resources/storage.rbi +15 -0
  143. data/rbi/openlayer/version.rbi +5 -0
  144. data/sig/openlayer/client.rbs +32 -0
  145. data/sig/openlayer/errors.rbs +117 -0
  146. data/sig/openlayer/file_part.rbs +21 -0
  147. data/sig/openlayer/internal/transport/base_client.rbs +131 -0
  148. data/sig/openlayer/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/openlayer/internal/type/array_of.rbs +48 -0
  150. data/sig/openlayer/internal/type/base_model.rbs +102 -0
  151. data/sig/openlayer/internal/type/base_page.rbs +24 -0
  152. data/sig/openlayer/internal/type/boolean.rbs +26 -0
  153. data/sig/openlayer/internal/type/converter.rbs +79 -0
  154. data/sig/openlayer/internal/type/enum.rbs +32 -0
  155. data/sig/openlayer/internal/type/file_input.rbs +25 -0
  156. data/sig/openlayer/internal/type/hash_of.rbs +48 -0
  157. data/sig/openlayer/internal/type/request_parameters.rbs +19 -0
  158. data/sig/openlayer/internal/type/union.rbs +52 -0
  159. data/sig/openlayer/internal/type/unknown.rbs +26 -0
  160. data/sig/openlayer/internal/util.rbs +185 -0
  161. data/sig/openlayer/internal.rbs +9 -0
  162. data/sig/openlayer/models/commit_retrieve_params.rbs +15 -0
  163. data/sig/openlayer/models/commit_retrieve_response.rbs +209 -0
  164. data/sig/openlayer/models/commits/test_result_list_params.rbs +91 -0
  165. data/sig/openlayer/models/commits/test_result_list_response.rbs +529 -0
  166. data/sig/openlayer/models/inference_pipeline_delete_params.rbs +15 -0
  167. data/sig/openlayer/models/inference_pipeline_retrieve_params.rbs +41 -0
  168. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +493 -0
  169. data/sig/openlayer/models/inference_pipeline_update_params.rbs +34 -0
  170. data/sig/openlayer/models/inference_pipeline_update_response.rbs +493 -0
  171. data/sig/openlayer/models/inference_pipelines/data_stream_params.rbs +386 -0
  172. data/sig/openlayer/models/inference_pipelines/data_stream_response.rbs +32 -0
  173. data/sig/openlayer/models/inference_pipelines/row_update_params.rbs +75 -0
  174. data/sig/openlayer/models/inference_pipelines/row_update_response.rbs +32 -0
  175. data/sig/openlayer/models/inference_pipelines/test_result_list_params.rbs +84 -0
  176. data/sig/openlayer/models/inference_pipelines/test_result_list_response.rbs +529 -0
  177. data/sig/openlayer/models/project_create_params.rbs +53 -0
  178. data/sig/openlayer/models/project_create_response.rbs +210 -0
  179. data/sig/openlayer/models/project_list_params.rbs +68 -0
  180. data/sig/openlayer/models/project_list_response.rbs +225 -0
  181. data/sig/openlayer/models/projects/commit_create_params.rbs +82 -0
  182. data/sig/openlayer/models/projects/commit_create_response.rbs +211 -0
  183. data/sig/openlayer/models/projects/commit_list_params.rbs +34 -0
  184. data/sig/openlayer/models/projects/commit_list_response.rbs +228 -0
  185. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +308 -0
  186. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +495 -0
  187. data/sig/openlayer/models/projects/inference_pipeline_list_params.rbs +40 -0
  188. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +512 -0
  189. data/sig/openlayer/models/projects/test_create_params.rbs +388 -0
  190. data/sig/openlayer/models/projects/test_create_response.rbs +427 -0
  191. data/sig/openlayer/models/projects/test_list_params.rbs +85 -0
  192. data/sig/openlayer/models/projects/test_list_response.rbs +442 -0
  193. data/sig/openlayer/models/projects/test_update_params.rbs +275 -0
  194. data/sig/openlayer/models/projects/test_update_response.rbs +25 -0
  195. data/sig/openlayer/models/storage/presigned_url_create_params.rbs +25 -0
  196. data/sig/openlayer/models/storage/presigned_url_create_response.rbs +22 -0
  197. data/sig/openlayer/models.rbs +21 -0
  198. data/sig/openlayer/request_options.rbs +34 -0
  199. data/sig/openlayer/resources/commits/test_results.rbs +19 -0
  200. data/sig/openlayer/resources/commits.rbs +14 -0
  201. data/sig/openlayer/resources/inference_pipelines/data.rbs +16 -0
  202. data/sig/openlayer/resources/inference_pipelines/rows.rbs +17 -0
  203. data/sig/openlayer/resources/inference_pipelines/test_results.rbs +18 -0
  204. data/sig/openlayer/resources/inference_pipelines.rbs +32 -0
  205. data/sig/openlayer/resources/projects/commits.rbs +25 -0
  206. data/sig/openlayer/resources/projects/inference_pipelines.rbs +26 -0
  207. data/sig/openlayer/resources/projects/tests.rbs +45 -0
  208. data/sig/openlayer/resources/projects.rbs +28 -0
  209. data/sig/openlayer/resources/storage/presigned_url.rbs +14 -0
  210. data/sig/openlayer/resources/storage.rbs +9 -0
  211. data/sig/openlayer/version.rbs +3 -0
  212. metadata +223 -91
  213. data/.env +0 -0
  214. data/.rspec +0 -3
  215. data/.rubocop.yml +0 -13
  216. data/LICENSE +0 -21
  217. data/Rakefile +0 -12
  218. data/examples/staging/.DS_Store +0 -0
  219. data/examples/staging/commit.yaml +0 -2
  220. data/examples/staging/model/model_config.yaml +0 -12
  221. data/examples/staging/validation/dataset_config.yaml +0 -12
  222. data/lib/openlayer/error.rb +0 -5
  223. data/lib/openlayer/inference_pipeline.rb +0 -36
  224. data/lib/openlayer/object.rb +0 -28
  225. data/lib/openlayer/objects/project.rb +0 -185
  226. data/lib/openlayer/objects/project_version.rb +0 -89
  227. data/lib/openlayer/services/s3_presigned_client.rb +0 -47
  228. data/lib/openlayer/services/tar_file_helper.rb +0 -55
  229. data/openlayer.gemspec +0 -45
  230. data/sig/openlayer.rbs +0 -4
@@ -0,0 +1,699 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ class TestUpdateParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Openlayer::Projects::TestUpdateParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ returns(T::Array[Openlayer::Projects::TestUpdateParams::Payload])
20
+ end
21
+ attr_accessor :payloads
22
+
23
+ sig do
24
+ params(
25
+ payloads:
26
+ T::Array[Openlayer::Projects::TestUpdateParams::Payload::OrHash],
27
+ request_options: Openlayer::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(payloads:, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ payloads:
37
+ T::Array[Openlayer::Projects::TestUpdateParams::Payload],
38
+ request_options: Openlayer::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+
45
+ class Payload < Openlayer::Internal::Type::BaseModel
46
+ OrHash =
47
+ T.type_alias do
48
+ T.any(
49
+ Openlayer::Projects::TestUpdateParams::Payload,
50
+ Openlayer::Internal::AnyHash
51
+ )
52
+ end
53
+
54
+ sig { returns(String) }
55
+ attr_accessor :id
56
+
57
+ # Whether the test is archived.
58
+ sig { returns(T.nilable(T::Boolean)) }
59
+ attr_reader :archived
60
+
61
+ sig { params(archived: T::Boolean).void }
62
+ attr_writer :archived
63
+
64
+ # The test description.
65
+ sig { returns(T.nilable(T.anything)) }
66
+ attr_accessor :description
67
+
68
+ # The test name.
69
+ sig { returns(T.nilable(String)) }
70
+ attr_reader :name
71
+
72
+ sig { params(name: String).void }
73
+ attr_writer :name
74
+
75
+ sig do
76
+ returns(
77
+ T.nilable(
78
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::OrBoolean
79
+ )
80
+ )
81
+ end
82
+ attr_reader :suggested
83
+
84
+ sig do
85
+ params(
86
+ suggested:
87
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::OrBoolean
88
+ ).void
89
+ end
90
+ attr_writer :suggested
91
+
92
+ sig do
93
+ returns(
94
+ T.nilable(
95
+ T::Array[
96
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold
97
+ ]
98
+ )
99
+ )
100
+ end
101
+ attr_reader :thresholds
102
+
103
+ sig do
104
+ params(
105
+ thresholds:
106
+ T::Array[
107
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::OrHash
108
+ ]
109
+ ).void
110
+ end
111
+ attr_writer :thresholds
112
+
113
+ sig do
114
+ params(
115
+ id: String,
116
+ archived: T::Boolean,
117
+ description: T.nilable(T.anything),
118
+ name: String,
119
+ suggested:
120
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::OrBoolean,
121
+ thresholds:
122
+ T::Array[
123
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::OrHash
124
+ ]
125
+ ).returns(T.attached_class)
126
+ end
127
+ def self.new(
128
+ id:,
129
+ # Whether the test is archived.
130
+ archived: nil,
131
+ # The test description.
132
+ description: nil,
133
+ # The test name.
134
+ name: nil,
135
+ suggested: nil,
136
+ thresholds: nil
137
+ )
138
+ end
139
+
140
+ sig do
141
+ override.returns(
142
+ {
143
+ id: String,
144
+ archived: T::Boolean,
145
+ description: T.nilable(T.anything),
146
+ name: String,
147
+ suggested:
148
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::OrBoolean,
149
+ thresholds:
150
+ T::Array[
151
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold
152
+ ]
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ module Suggested
160
+ extend Openlayer::Internal::Type::Enum
161
+
162
+ TaggedBoolean =
163
+ T.type_alias do
164
+ T.all(
165
+ T::Boolean,
166
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested
167
+ )
168
+ end
169
+ OrBoolean = T.type_alias { T::Boolean }
170
+
171
+ FALSE =
172
+ T.let(
173
+ false,
174
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::TaggedBoolean
175
+ )
176
+
177
+ sig do
178
+ override.returns(
179
+ T::Array[
180
+ Openlayer::Projects::TestUpdateParams::Payload::Suggested::TaggedBoolean
181
+ ]
182
+ )
183
+ end
184
+ def self.values
185
+ end
186
+ end
187
+
188
+ class Threshold < Openlayer::Internal::Type::BaseModel
189
+ OrHash =
190
+ T.type_alias do
191
+ T.any(
192
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold,
193
+ Openlayer::Internal::AnyHash
194
+ )
195
+ end
196
+
197
+ # The insight name to be evaluated.
198
+ sig do
199
+ returns(
200
+ T.nilable(
201
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::OrSymbol
202
+ )
203
+ )
204
+ end
205
+ attr_reader :insight_name
206
+
207
+ sig do
208
+ params(
209
+ insight_name:
210
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::OrSymbol
211
+ ).void
212
+ end
213
+ attr_writer :insight_name
214
+
215
+ # The insight parameters. Required only for some test subtypes. For example, for
216
+ # tests that require a column name, the insight parameters will be [{'name':
217
+ # 'column_name', 'value': 'Age'}]
218
+ sig do
219
+ returns(
220
+ T.nilable(
221
+ T::Array[
222
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightParameter
223
+ ]
224
+ )
225
+ )
226
+ end
227
+ attr_accessor :insight_parameters
228
+
229
+ # The measurement to be evaluated.
230
+ sig { returns(T.nilable(String)) }
231
+ attr_reader :measurement
232
+
233
+ sig { params(measurement: String).void }
234
+ attr_writer :measurement
235
+
236
+ # The operator to be used for the evaluation.
237
+ sig do
238
+ returns(
239
+ T.nilable(
240
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::OrSymbol
241
+ )
242
+ )
243
+ end
244
+ attr_reader :operator
245
+
246
+ sig do
247
+ params(
248
+ operator:
249
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::OrSymbol
250
+ ).void
251
+ end
252
+ attr_writer :operator
253
+
254
+ # Whether to use automatic anomaly detection or manual thresholds
255
+ sig do
256
+ returns(
257
+ T.nilable(
258
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::OrSymbol
259
+ )
260
+ )
261
+ end
262
+ attr_reader :threshold_mode
263
+
264
+ sig do
265
+ params(
266
+ threshold_mode:
267
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::OrSymbol
268
+ ).void
269
+ end
270
+ attr_writer :threshold_mode
271
+
272
+ # The value to be compared.
273
+ sig do
274
+ returns(
275
+ T.nilable(
276
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value::Variants
277
+ )
278
+ )
279
+ end
280
+ attr_reader :value
281
+
282
+ sig do
283
+ params(
284
+ value:
285
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value::Variants
286
+ ).void
287
+ end
288
+ attr_writer :value
289
+
290
+ sig do
291
+ params(
292
+ insight_name:
293
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::OrSymbol,
294
+ insight_parameters:
295
+ T.nilable(
296
+ T::Array[
297
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightParameter::OrHash
298
+ ]
299
+ ),
300
+ measurement: String,
301
+ operator:
302
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::OrSymbol,
303
+ threshold_mode:
304
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::OrSymbol,
305
+ value:
306
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value::Variants
307
+ ).returns(T.attached_class)
308
+ end
309
+ def self.new(
310
+ # The insight name to be evaluated.
311
+ insight_name: nil,
312
+ # The insight parameters. Required only for some test subtypes. For example, for
313
+ # tests that require a column name, the insight parameters will be [{'name':
314
+ # 'column_name', 'value': 'Age'}]
315
+ insight_parameters: nil,
316
+ # The measurement to be evaluated.
317
+ measurement: nil,
318
+ # The operator to be used for the evaluation.
319
+ operator: nil,
320
+ # Whether to use automatic anomaly detection or manual thresholds
321
+ threshold_mode: nil,
322
+ # The value to be compared.
323
+ value: nil
324
+ )
325
+ end
326
+
327
+ sig do
328
+ override.returns(
329
+ {
330
+ insight_name:
331
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::OrSymbol,
332
+ insight_parameters:
333
+ T.nilable(
334
+ T::Array[
335
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightParameter
336
+ ]
337
+ ),
338
+ measurement: String,
339
+ operator:
340
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::OrSymbol,
341
+ threshold_mode:
342
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::OrSymbol,
343
+ value:
344
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value::Variants
345
+ }
346
+ )
347
+ end
348
+ def to_hash
349
+ end
350
+
351
+ # The insight name to be evaluated.
352
+ module InsightName
353
+ extend Openlayer::Internal::Type::Enum
354
+
355
+ TaggedSymbol =
356
+ T.type_alias do
357
+ T.all(
358
+ Symbol,
359
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName
360
+ )
361
+ end
362
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
363
+
364
+ CHARACTER_LENGTH =
365
+ T.let(
366
+ :characterLength,
367
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
368
+ )
369
+ CLASS_IMBALANCE =
370
+ T.let(
371
+ :classImbalance,
372
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
373
+ )
374
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
375
+ T.let(
376
+ :expectColumnAToBeInColumnB,
377
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
378
+ )
379
+ COLUMN_AVERAGE =
380
+ T.let(
381
+ :columnAverage,
382
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
383
+ )
384
+ COLUMN_DRIFT =
385
+ T.let(
386
+ :columnDrift,
387
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
388
+ )
389
+ COLUMN_VALUES_MATCH =
390
+ T.let(
391
+ :columnValuesMatch,
392
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
393
+ )
394
+ CONFIDENCE_DISTRIBUTION =
395
+ T.let(
396
+ :confidenceDistribution,
397
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
398
+ )
399
+ CONFLICTING_LABEL_ROW_COUNT =
400
+ T.let(
401
+ :conflictingLabelRowCount,
402
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
403
+ )
404
+ CONTAINS_PII =
405
+ T.let(
406
+ :containsPii,
407
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
408
+ )
409
+ CONTAINS_VALID_URL =
410
+ T.let(
411
+ :containsValidUrl,
412
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
413
+ )
414
+ CORRELATED_FEATURES =
415
+ T.let(
416
+ :correlatedFeatures,
417
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
418
+ )
419
+ CUSTOM_METRIC =
420
+ T.let(
421
+ :customMetric,
422
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
423
+ )
424
+ DUPLICATE_ROW_COUNT =
425
+ T.let(
426
+ :duplicateRowCount,
427
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
428
+ )
429
+ EMPTY_FEATURES =
430
+ T.let(
431
+ :emptyFeatures,
432
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
433
+ )
434
+ FEATURE_DRIFT =
435
+ T.let(
436
+ :featureDrift,
437
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
438
+ )
439
+ FEATURE_PROFILE =
440
+ T.let(
441
+ :featureProfile,
442
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
443
+ )
444
+ GREAT_EXPECTATIONS =
445
+ T.let(
446
+ :greatExpectations,
447
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
448
+ )
449
+ GROUP_BY_COLUMN_STATS_CHECK =
450
+ T.let(
451
+ :groupByColumnStatsCheck,
452
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
453
+ )
454
+ ILL_FORMED_ROW_COUNT =
455
+ T.let(
456
+ :illFormedRowCount,
457
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
458
+ )
459
+ IS_CODE =
460
+ T.let(
461
+ :isCode,
462
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
463
+ )
464
+ IS_JSON =
465
+ T.let(
466
+ :isJson,
467
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
468
+ )
469
+ LLM_RUBRIC_V2 =
470
+ T.let(
471
+ :llmRubricV2,
472
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
473
+ )
474
+ LABEL_DRIFT =
475
+ T.let(
476
+ :labelDrift,
477
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
478
+ )
479
+ METRICS =
480
+ T.let(
481
+ :metrics,
482
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
483
+ )
484
+ NEW_CATEGORIES =
485
+ T.let(
486
+ :newCategories,
487
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
488
+ )
489
+ NEW_LABELS =
490
+ T.let(
491
+ :newLabels,
492
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
493
+ )
494
+ NULL_ROW_COUNT =
495
+ T.let(
496
+ :nullRowCount,
497
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
498
+ )
499
+ PP_SCORE =
500
+ T.let(
501
+ :ppScore,
502
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
503
+ )
504
+ QUASI_CONSTANT_FEATURES =
505
+ T.let(
506
+ :quasiConstantFeatures,
507
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
508
+ )
509
+ SENTENCE_LENGTH =
510
+ T.let(
511
+ :sentenceLength,
512
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
513
+ )
514
+ SIZE_RATIO =
515
+ T.let(
516
+ :sizeRatio,
517
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
518
+ )
519
+ SPECIAL_CHARACTERS =
520
+ T.let(
521
+ :specialCharacters,
522
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
523
+ )
524
+ STRING_VALIDATION =
525
+ T.let(
526
+ :stringValidation,
527
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
528
+ )
529
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
530
+ T.let(
531
+ :trainValLeakageRowCount,
532
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
533
+ )
534
+
535
+ sig do
536
+ override.returns(
537
+ T::Array[
538
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName::TaggedSymbol
539
+ ]
540
+ )
541
+ end
542
+ def self.values
543
+ end
544
+ end
545
+
546
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
547
+ OrHash =
548
+ T.type_alias do
549
+ T.any(
550
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightParameter,
551
+ Openlayer::Internal::AnyHash
552
+ )
553
+ end
554
+
555
+ # The name of the insight filter.
556
+ sig { returns(String) }
557
+ attr_accessor :name
558
+
559
+ sig { returns(T.anything) }
560
+ attr_accessor :value
561
+
562
+ sig do
563
+ params(name: String, value: T.anything).returns(
564
+ T.attached_class
565
+ )
566
+ end
567
+ def self.new(
568
+ # The name of the insight filter.
569
+ name:,
570
+ value:
571
+ )
572
+ end
573
+
574
+ sig { override.returns({ name: String, value: T.anything }) }
575
+ def to_hash
576
+ end
577
+ end
578
+
579
+ # The operator to be used for the evaluation.
580
+ module Operator
581
+ extend Openlayer::Internal::Type::Enum
582
+
583
+ TaggedSymbol =
584
+ T.type_alias do
585
+ T.all(
586
+ Symbol,
587
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator
588
+ )
589
+ end
590
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
591
+
592
+ IS =
593
+ T.let(
594
+ :is,
595
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
596
+ )
597
+ GREATER =
598
+ T.let(
599
+ :">",
600
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
601
+ )
602
+ GREATER_OR_EQUALS =
603
+ T.let(
604
+ :">=",
605
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
606
+ )
607
+ LESS =
608
+ T.let(
609
+ :"<",
610
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
611
+ )
612
+ LESS_OR_EQUALS =
613
+ T.let(
614
+ :"<=",
615
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
616
+ )
617
+ NOT_EQUALS =
618
+ T.let(
619
+ :"!=",
620
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
621
+ )
622
+
623
+ sig do
624
+ override.returns(
625
+ T::Array[
626
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator::TaggedSymbol
627
+ ]
628
+ )
629
+ end
630
+ def self.values
631
+ end
632
+ end
633
+
634
+ # Whether to use automatic anomaly detection or manual thresholds
635
+ module ThresholdMode
636
+ extend Openlayer::Internal::Type::Enum
637
+
638
+ TaggedSymbol =
639
+ T.type_alias do
640
+ T.all(
641
+ Symbol,
642
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode
643
+ )
644
+ end
645
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
646
+
647
+ AUTOMATIC =
648
+ T.let(
649
+ :automatic,
650
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::TaggedSymbol
651
+ )
652
+ MANUAL =
653
+ T.let(
654
+ :manual,
655
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::TaggedSymbol
656
+ )
657
+
658
+ sig do
659
+ override.returns(
660
+ T::Array[
661
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode::TaggedSymbol
662
+ ]
663
+ )
664
+ end
665
+ def self.values
666
+ end
667
+ end
668
+
669
+ # The value to be compared.
670
+ module Value
671
+ extend Openlayer::Internal::Type::Union
672
+
673
+ Variants =
674
+ T.type_alias do
675
+ T.any(Float, T::Boolean, String, T::Array[String])
676
+ end
677
+
678
+ sig do
679
+ override.returns(
680
+ T::Array[
681
+ Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value::Variants
682
+ ]
683
+ )
684
+ end
685
+ def self.variants
686
+ end
687
+
688
+ StringArray =
689
+ T.let(
690
+ Openlayer::Internal::Type::ArrayOf[String],
691
+ Openlayer::Internal::Type::Converter
692
+ )
693
+ end
694
+ end
695
+ end
696
+ end
697
+ end
698
+ end
699
+ end