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,1026 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ class TestCreateResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::Projects::TestCreateResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The test description.
16
+ sig { returns(T.nilable(T.anything)) }
17
+ attr_accessor :description
18
+
19
+ # The test name.
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ # The test subtype.
24
+ sig do
25
+ returns(
26
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
27
+ )
28
+ end
29
+ attr_accessor :subtype
30
+
31
+ sig do
32
+ returns(
33
+ T::Array[Openlayer::Models::Projects::TestCreateResponse::Threshold]
34
+ )
35
+ end
36
+ attr_accessor :thresholds
37
+
38
+ # The test type.
39
+ sig do
40
+ returns(
41
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol
42
+ )
43
+ end
44
+ attr_accessor :type
45
+
46
+ # Whether the test is archived.
47
+ sig { returns(T.nilable(T::Boolean)) }
48
+ attr_reader :archived
49
+
50
+ sig { params(archived: T::Boolean).void }
51
+ attr_writer :archived
52
+
53
+ # The delay window in seconds. Only applies to tests that use production data.
54
+ sig { returns(T.nilable(Float)) }
55
+ attr_accessor :delay_window
56
+
57
+ # The evaluation window in seconds. Only applies to tests that use production
58
+ # data.
59
+ sig { returns(T.nilable(Float)) }
60
+ attr_accessor :evaluation_window
61
+
62
+ # Whether the test uses an ML model.
63
+ sig { returns(T.nilable(T::Boolean)) }
64
+ attr_reader :uses_ml_model
65
+
66
+ sig { params(uses_ml_model: T::Boolean).void }
67
+ attr_writer :uses_ml_model
68
+
69
+ # Whether the test uses production data (monitoring mode only).
70
+ sig { returns(T.nilable(T::Boolean)) }
71
+ attr_reader :uses_production_data
72
+
73
+ sig { params(uses_production_data: T::Boolean).void }
74
+ attr_writer :uses_production_data
75
+
76
+ # Whether the test uses a reference dataset (monitoring mode only).
77
+ sig { returns(T.nilable(T::Boolean)) }
78
+ attr_reader :uses_reference_dataset
79
+
80
+ sig { params(uses_reference_dataset: T::Boolean).void }
81
+ attr_writer :uses_reference_dataset
82
+
83
+ # Whether the test uses a training dataset.
84
+ sig { returns(T.nilable(T::Boolean)) }
85
+ attr_reader :uses_training_dataset
86
+
87
+ sig { params(uses_training_dataset: T::Boolean).void }
88
+ attr_writer :uses_training_dataset
89
+
90
+ # Whether the test uses a validation dataset.
91
+ sig { returns(T.nilable(T::Boolean)) }
92
+ attr_reader :uses_validation_dataset
93
+
94
+ sig { params(uses_validation_dataset: T::Boolean).void }
95
+ attr_writer :uses_validation_dataset
96
+
97
+ # The test id.
98
+ sig { returns(String) }
99
+ attr_accessor :id
100
+
101
+ # The number of comments on the test.
102
+ sig { returns(Integer) }
103
+ attr_accessor :comment_count
104
+
105
+ # The test creator id.
106
+ sig { returns(T.nilable(String)) }
107
+ attr_accessor :creator_id
108
+
109
+ # The date the test was archived.
110
+ sig { returns(T.nilable(Time)) }
111
+ attr_accessor :date_archived
112
+
113
+ # The creation date.
114
+ sig { returns(Time) }
115
+ attr_accessor :date_created
116
+
117
+ # The last updated date.
118
+ sig { returns(Time) }
119
+ attr_accessor :date_updated
120
+
121
+ # The test number.
122
+ sig { returns(Integer) }
123
+ attr_accessor :number
124
+
125
+ # The project version (commit) id where the test was created.
126
+ sig { returns(T.nilable(String)) }
127
+ attr_accessor :origin_project_version_id
128
+
129
+ # Whether the test is suggested or user-created.
130
+ sig { returns(T::Boolean) }
131
+ attr_accessor :suggested
132
+
133
+ sig do
134
+ params(
135
+ id: String,
136
+ comment_count: Integer,
137
+ creator_id: T.nilable(String),
138
+ date_archived: T.nilable(Time),
139
+ date_created: Time,
140
+ date_updated: Time,
141
+ description: T.nilable(T.anything),
142
+ name: String,
143
+ number: Integer,
144
+ origin_project_version_id: T.nilable(String),
145
+ subtype:
146
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::OrSymbol,
147
+ suggested: T::Boolean,
148
+ thresholds:
149
+ T::Array[
150
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::OrHash
151
+ ],
152
+ type:
153
+ Openlayer::Models::Projects::TestCreateResponse::Type::OrSymbol,
154
+ archived: T::Boolean,
155
+ delay_window: T.nilable(Float),
156
+ evaluation_window: T.nilable(Float),
157
+ uses_ml_model: T::Boolean,
158
+ uses_production_data: T::Boolean,
159
+ uses_reference_dataset: T::Boolean,
160
+ uses_training_dataset: T::Boolean,
161
+ uses_validation_dataset: T::Boolean
162
+ ).returns(T.attached_class)
163
+ end
164
+ def self.new(
165
+ # The test id.
166
+ id:,
167
+ # The number of comments on the test.
168
+ comment_count:,
169
+ # The test creator id.
170
+ creator_id:,
171
+ # The date the test was archived.
172
+ date_archived:,
173
+ # The creation date.
174
+ date_created:,
175
+ # The last updated date.
176
+ date_updated:,
177
+ # The test description.
178
+ description:,
179
+ # The test name.
180
+ name:,
181
+ # The test number.
182
+ number:,
183
+ # The project version (commit) id where the test was created.
184
+ origin_project_version_id:,
185
+ # The test subtype.
186
+ subtype:,
187
+ # Whether the test is suggested or user-created.
188
+ suggested:,
189
+ thresholds:,
190
+ # The test type.
191
+ type:,
192
+ # Whether the test is archived.
193
+ archived: nil,
194
+ # The delay window in seconds. Only applies to tests that use production data.
195
+ delay_window: nil,
196
+ # The evaluation window in seconds. Only applies to tests that use production
197
+ # data.
198
+ evaluation_window: nil,
199
+ # Whether the test uses an ML model.
200
+ uses_ml_model: nil,
201
+ # Whether the test uses production data (monitoring mode only).
202
+ uses_production_data: nil,
203
+ # Whether the test uses a reference dataset (monitoring mode only).
204
+ uses_reference_dataset: nil,
205
+ # Whether the test uses a training dataset.
206
+ uses_training_dataset: nil,
207
+ # Whether the test uses a validation dataset.
208
+ uses_validation_dataset: nil
209
+ )
210
+ end
211
+
212
+ sig do
213
+ override.returns(
214
+ {
215
+ id: String,
216
+ comment_count: Integer,
217
+ creator_id: T.nilable(String),
218
+ date_archived: T.nilable(Time),
219
+ date_created: Time,
220
+ date_updated: Time,
221
+ description: T.nilable(T.anything),
222
+ name: String,
223
+ number: Integer,
224
+ origin_project_version_id: T.nilable(String),
225
+ subtype:
226
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol,
227
+ suggested: T::Boolean,
228
+ thresholds:
229
+ T::Array[
230
+ Openlayer::Models::Projects::TestCreateResponse::Threshold
231
+ ],
232
+ type:
233
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol,
234
+ archived: T::Boolean,
235
+ delay_window: T.nilable(Float),
236
+ evaluation_window: T.nilable(Float),
237
+ uses_ml_model: T::Boolean,
238
+ uses_production_data: T::Boolean,
239
+ uses_reference_dataset: T::Boolean,
240
+ uses_training_dataset: T::Boolean,
241
+ uses_validation_dataset: T::Boolean
242
+ }
243
+ )
244
+ end
245
+ def to_hash
246
+ end
247
+
248
+ # The test subtype.
249
+ module Subtype
250
+ extend Openlayer::Internal::Type::Enum
251
+
252
+ TaggedSymbol =
253
+ T.type_alias do
254
+ T.all(
255
+ Symbol,
256
+ Openlayer::Models::Projects::TestCreateResponse::Subtype
257
+ )
258
+ end
259
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
260
+
261
+ ANOMALOUS_COLUMN_COUNT =
262
+ T.let(
263
+ :anomalousColumnCount,
264
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
265
+ )
266
+ CHARACTER_LENGTH =
267
+ T.let(
268
+ :characterLength,
269
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
270
+ )
271
+ CLASS_IMBALANCE_RATIO =
272
+ T.let(
273
+ :classImbalanceRatio,
274
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
275
+ )
276
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
277
+ T.let(
278
+ :expectColumnAToBeInColumnB,
279
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
280
+ )
281
+ COLUMN_AVERAGE =
282
+ T.let(
283
+ :columnAverage,
284
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
285
+ )
286
+ COLUMN_DRIFT =
287
+ T.let(
288
+ :columnDrift,
289
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
290
+ )
291
+ COLUMN_STATISTIC =
292
+ T.let(
293
+ :columnStatistic,
294
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
295
+ )
296
+ COLUMN_VALUES_MATCH =
297
+ T.let(
298
+ :columnValuesMatch,
299
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
300
+ )
301
+ CONFLICTING_LABEL_ROW_COUNT =
302
+ T.let(
303
+ :conflictingLabelRowCount,
304
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
305
+ )
306
+ CONTAINS_PII =
307
+ T.let(
308
+ :containsPii,
309
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
310
+ )
311
+ CONTAINS_VALID_URL =
312
+ T.let(
313
+ :containsValidUrl,
314
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
315
+ )
316
+ CORRELATED_FEATURE_COUNT =
317
+ T.let(
318
+ :correlatedFeatureCount,
319
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
320
+ )
321
+ CUSTOM_METRIC_THRESHOLD =
322
+ T.let(
323
+ :customMetricThreshold,
324
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
325
+ )
326
+ DUPLICATE_ROW_COUNT =
327
+ T.let(
328
+ :duplicateRowCount,
329
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
330
+ )
331
+ EMPTY_FEATURE =
332
+ T.let(
333
+ :emptyFeature,
334
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
335
+ )
336
+ EMPTY_FEATURE_COUNT =
337
+ T.let(
338
+ :emptyFeatureCount,
339
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
340
+ )
341
+ DRIFTED_FEATURE_COUNT =
342
+ T.let(
343
+ :driftedFeatureCount,
344
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
345
+ )
346
+ FEATURE_MISSING_VALUES =
347
+ T.let(
348
+ :featureMissingValues,
349
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
350
+ )
351
+ FEATURE_VALUE_VALIDATION =
352
+ T.let(
353
+ :featureValueValidation,
354
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
355
+ )
356
+ GREAT_EXPECTATIONS =
357
+ T.let(
358
+ :greatExpectations,
359
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
360
+ )
361
+ GROUP_BY_COLUMN_STATS_CHECK =
362
+ T.let(
363
+ :groupByColumnStatsCheck,
364
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
365
+ )
366
+ ILL_FORMED_ROW_COUNT =
367
+ T.let(
368
+ :illFormedRowCount,
369
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
370
+ )
371
+ IS_CODE =
372
+ T.let(
373
+ :isCode,
374
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
375
+ )
376
+ IS_JSON =
377
+ T.let(
378
+ :isJson,
379
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
380
+ )
381
+ LLM_RUBRIC_THRESHOLD_V2 =
382
+ T.let(
383
+ :llmRubricThresholdV2,
384
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
385
+ )
386
+ LABEL_DRIFT =
387
+ T.let(
388
+ :labelDrift,
389
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
390
+ )
391
+ METRIC_THRESHOLD =
392
+ T.let(
393
+ :metricThreshold,
394
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
395
+ )
396
+ NEW_CATEGORY_COUNT =
397
+ T.let(
398
+ :newCategoryCount,
399
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
400
+ )
401
+ NEW_LABEL_COUNT =
402
+ T.let(
403
+ :newLabelCount,
404
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
405
+ )
406
+ NULL_ROW_COUNT =
407
+ T.let(
408
+ :nullRowCount,
409
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
410
+ )
411
+ ROW_COUNT =
412
+ T.let(
413
+ :rowCount,
414
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
415
+ )
416
+ PP_SCORE_VALUE_VALIDATION =
417
+ T.let(
418
+ :ppScoreValueValidation,
419
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
420
+ )
421
+ QUASI_CONSTANT_FEATURE =
422
+ T.let(
423
+ :quasiConstantFeature,
424
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
425
+ )
426
+ QUASI_CONSTANT_FEATURE_COUNT =
427
+ T.let(
428
+ :quasiConstantFeatureCount,
429
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
430
+ )
431
+ SQL_QUERY =
432
+ T.let(
433
+ :sqlQuery,
434
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
435
+ )
436
+ DTYPE_VALIDATION =
437
+ T.let(
438
+ :dtypeValidation,
439
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
440
+ )
441
+ SENTENCE_LENGTH =
442
+ T.let(
443
+ :sentenceLength,
444
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
445
+ )
446
+ SIZE_RATIO =
447
+ T.let(
448
+ :sizeRatio,
449
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
450
+ )
451
+ SPECIAL_CHARACTERS_RATIO =
452
+ T.let(
453
+ :specialCharactersRatio,
454
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
455
+ )
456
+ STRING_VALIDATION =
457
+ T.let(
458
+ :stringValidation,
459
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
460
+ )
461
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
462
+ T.let(
463
+ :trainValLeakageRowCount,
464
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
465
+ )
466
+
467
+ sig do
468
+ override.returns(
469
+ T::Array[
470
+ Openlayer::Models::Projects::TestCreateResponse::Subtype::TaggedSymbol
471
+ ]
472
+ )
473
+ end
474
+ def self.values
475
+ end
476
+ end
477
+
478
+ class Threshold < Openlayer::Internal::Type::BaseModel
479
+ OrHash =
480
+ T.type_alias do
481
+ T.any(
482
+ Openlayer::Models::Projects::TestCreateResponse::Threshold,
483
+ Openlayer::Internal::AnyHash
484
+ )
485
+ end
486
+
487
+ # The insight name to be evaluated.
488
+ sig do
489
+ returns(
490
+ T.nilable(
491
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
492
+ )
493
+ )
494
+ end
495
+ attr_reader :insight_name
496
+
497
+ sig do
498
+ params(
499
+ insight_name:
500
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::OrSymbol
501
+ ).void
502
+ end
503
+ attr_writer :insight_name
504
+
505
+ # The insight parameters. Required only for some test subtypes. For example, for
506
+ # tests that require a column name, the insight parameters will be [{'name':
507
+ # 'column_name', 'value': 'Age'}]
508
+ sig do
509
+ returns(
510
+ T.nilable(
511
+ T::Array[
512
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightParameter
513
+ ]
514
+ )
515
+ )
516
+ end
517
+ attr_accessor :insight_parameters
518
+
519
+ # The measurement to be evaluated.
520
+ sig { returns(T.nilable(String)) }
521
+ attr_reader :measurement
522
+
523
+ sig { params(measurement: String).void }
524
+ attr_writer :measurement
525
+
526
+ # The operator to be used for the evaluation.
527
+ sig do
528
+ returns(
529
+ T.nilable(
530
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
531
+ )
532
+ )
533
+ end
534
+ attr_reader :operator
535
+
536
+ sig do
537
+ params(
538
+ operator:
539
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::OrSymbol
540
+ ).void
541
+ end
542
+ attr_writer :operator
543
+
544
+ # Whether to use automatic anomaly detection or manual thresholds
545
+ sig do
546
+ returns(
547
+ T.nilable(
548
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::TaggedSymbol
549
+ )
550
+ )
551
+ end
552
+ attr_reader :threshold_mode
553
+
554
+ sig do
555
+ params(
556
+ threshold_mode:
557
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::OrSymbol
558
+ ).void
559
+ end
560
+ attr_writer :threshold_mode
561
+
562
+ # The value to be compared.
563
+ sig do
564
+ returns(
565
+ T.nilable(
566
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Value::Variants
567
+ )
568
+ )
569
+ end
570
+ attr_reader :value
571
+
572
+ sig do
573
+ params(
574
+ value:
575
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Value::Variants
576
+ ).void
577
+ end
578
+ attr_writer :value
579
+
580
+ sig do
581
+ params(
582
+ insight_name:
583
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::OrSymbol,
584
+ insight_parameters:
585
+ T.nilable(
586
+ T::Array[
587
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightParameter::OrHash
588
+ ]
589
+ ),
590
+ measurement: String,
591
+ operator:
592
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::OrSymbol,
593
+ threshold_mode:
594
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::OrSymbol,
595
+ value:
596
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Value::Variants
597
+ ).returns(T.attached_class)
598
+ end
599
+ def self.new(
600
+ # The insight name to be evaluated.
601
+ insight_name: nil,
602
+ # The insight parameters. Required only for some test subtypes. For example, for
603
+ # tests that require a column name, the insight parameters will be [{'name':
604
+ # 'column_name', 'value': 'Age'}]
605
+ insight_parameters: nil,
606
+ # The measurement to be evaluated.
607
+ measurement: nil,
608
+ # The operator to be used for the evaluation.
609
+ operator: nil,
610
+ # Whether to use automatic anomaly detection or manual thresholds
611
+ threshold_mode: nil,
612
+ # The value to be compared.
613
+ value: nil
614
+ )
615
+ end
616
+
617
+ sig do
618
+ override.returns(
619
+ {
620
+ insight_name:
621
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol,
622
+ insight_parameters:
623
+ T.nilable(
624
+ T::Array[
625
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightParameter
626
+ ]
627
+ ),
628
+ measurement: String,
629
+ operator:
630
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol,
631
+ threshold_mode:
632
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::TaggedSymbol,
633
+ value:
634
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Value::Variants
635
+ }
636
+ )
637
+ end
638
+ def to_hash
639
+ end
640
+
641
+ # The insight name to be evaluated.
642
+ module InsightName
643
+ extend Openlayer::Internal::Type::Enum
644
+
645
+ TaggedSymbol =
646
+ T.type_alias do
647
+ T.all(
648
+ Symbol,
649
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName
650
+ )
651
+ end
652
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
653
+
654
+ CHARACTER_LENGTH =
655
+ T.let(
656
+ :characterLength,
657
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
658
+ )
659
+ CLASS_IMBALANCE =
660
+ T.let(
661
+ :classImbalance,
662
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
663
+ )
664
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
665
+ T.let(
666
+ :expectColumnAToBeInColumnB,
667
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
668
+ )
669
+ COLUMN_AVERAGE =
670
+ T.let(
671
+ :columnAverage,
672
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
673
+ )
674
+ COLUMN_DRIFT =
675
+ T.let(
676
+ :columnDrift,
677
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
678
+ )
679
+ COLUMN_VALUES_MATCH =
680
+ T.let(
681
+ :columnValuesMatch,
682
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
683
+ )
684
+ CONFIDENCE_DISTRIBUTION =
685
+ T.let(
686
+ :confidenceDistribution,
687
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
688
+ )
689
+ CONFLICTING_LABEL_ROW_COUNT =
690
+ T.let(
691
+ :conflictingLabelRowCount,
692
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
693
+ )
694
+ CONTAINS_PII =
695
+ T.let(
696
+ :containsPii,
697
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
698
+ )
699
+ CONTAINS_VALID_URL =
700
+ T.let(
701
+ :containsValidUrl,
702
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
703
+ )
704
+ CORRELATED_FEATURES =
705
+ T.let(
706
+ :correlatedFeatures,
707
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
708
+ )
709
+ CUSTOM_METRIC =
710
+ T.let(
711
+ :customMetric,
712
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
713
+ )
714
+ DUPLICATE_ROW_COUNT =
715
+ T.let(
716
+ :duplicateRowCount,
717
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
718
+ )
719
+ EMPTY_FEATURES =
720
+ T.let(
721
+ :emptyFeatures,
722
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
723
+ )
724
+ FEATURE_DRIFT =
725
+ T.let(
726
+ :featureDrift,
727
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
728
+ )
729
+ FEATURE_PROFILE =
730
+ T.let(
731
+ :featureProfile,
732
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
733
+ )
734
+ GREAT_EXPECTATIONS =
735
+ T.let(
736
+ :greatExpectations,
737
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
738
+ )
739
+ GROUP_BY_COLUMN_STATS_CHECK =
740
+ T.let(
741
+ :groupByColumnStatsCheck,
742
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
743
+ )
744
+ ILL_FORMED_ROW_COUNT =
745
+ T.let(
746
+ :illFormedRowCount,
747
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
748
+ )
749
+ IS_CODE =
750
+ T.let(
751
+ :isCode,
752
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
753
+ )
754
+ IS_JSON =
755
+ T.let(
756
+ :isJson,
757
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
758
+ )
759
+ LLM_RUBRIC_V2 =
760
+ T.let(
761
+ :llmRubricV2,
762
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
763
+ )
764
+ LABEL_DRIFT =
765
+ T.let(
766
+ :labelDrift,
767
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
768
+ )
769
+ METRICS =
770
+ T.let(
771
+ :metrics,
772
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
773
+ )
774
+ NEW_CATEGORIES =
775
+ T.let(
776
+ :newCategories,
777
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
778
+ )
779
+ NEW_LABELS =
780
+ T.let(
781
+ :newLabels,
782
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
783
+ )
784
+ NULL_ROW_COUNT =
785
+ T.let(
786
+ :nullRowCount,
787
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
788
+ )
789
+ PP_SCORE =
790
+ T.let(
791
+ :ppScore,
792
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
793
+ )
794
+ QUASI_CONSTANT_FEATURES =
795
+ T.let(
796
+ :quasiConstantFeatures,
797
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
798
+ )
799
+ SENTENCE_LENGTH =
800
+ T.let(
801
+ :sentenceLength,
802
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
803
+ )
804
+ SIZE_RATIO =
805
+ T.let(
806
+ :sizeRatio,
807
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
808
+ )
809
+ SPECIAL_CHARACTERS =
810
+ T.let(
811
+ :specialCharacters,
812
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
813
+ )
814
+ STRING_VALIDATION =
815
+ T.let(
816
+ :stringValidation,
817
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
818
+ )
819
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
820
+ T.let(
821
+ :trainValLeakageRowCount,
822
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
823
+ )
824
+
825
+ sig do
826
+ override.returns(
827
+ T::Array[
828
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightName::TaggedSymbol
829
+ ]
830
+ )
831
+ end
832
+ def self.values
833
+ end
834
+ end
835
+
836
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
837
+ OrHash =
838
+ T.type_alias do
839
+ T.any(
840
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::InsightParameter,
841
+ Openlayer::Internal::AnyHash
842
+ )
843
+ end
844
+
845
+ # The name of the insight filter.
846
+ sig { returns(String) }
847
+ attr_accessor :name
848
+
849
+ sig { returns(T.anything) }
850
+ attr_accessor :value
851
+
852
+ sig do
853
+ params(name: String, value: T.anything).returns(T.attached_class)
854
+ end
855
+ def self.new(
856
+ # The name of the insight filter.
857
+ name:,
858
+ value:
859
+ )
860
+ end
861
+
862
+ sig { override.returns({ name: String, value: T.anything }) }
863
+ def to_hash
864
+ end
865
+ end
866
+
867
+ # The operator to be used for the evaluation.
868
+ module Operator
869
+ extend Openlayer::Internal::Type::Enum
870
+
871
+ TaggedSymbol =
872
+ T.type_alias do
873
+ T.all(
874
+ Symbol,
875
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator
876
+ )
877
+ end
878
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
879
+
880
+ IS =
881
+ T.let(
882
+ :is,
883
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
884
+ )
885
+ GREATER =
886
+ T.let(
887
+ :">",
888
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
889
+ )
890
+ GREATER_OR_EQUALS =
891
+ T.let(
892
+ :">=",
893
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
894
+ )
895
+ LESS =
896
+ T.let(
897
+ :"<",
898
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
899
+ )
900
+ LESS_OR_EQUALS =
901
+ T.let(
902
+ :"<=",
903
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
904
+ )
905
+ NOT_EQUALS =
906
+ T.let(
907
+ :"!=",
908
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
909
+ )
910
+
911
+ sig do
912
+ override.returns(
913
+ T::Array[
914
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Operator::TaggedSymbol
915
+ ]
916
+ )
917
+ end
918
+ def self.values
919
+ end
920
+ end
921
+
922
+ # Whether to use automatic anomaly detection or manual thresholds
923
+ module ThresholdMode
924
+ extend Openlayer::Internal::Type::Enum
925
+
926
+ TaggedSymbol =
927
+ T.type_alias do
928
+ T.all(
929
+ Symbol,
930
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode
931
+ )
932
+ end
933
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
934
+
935
+ AUTOMATIC =
936
+ T.let(
937
+ :automatic,
938
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::TaggedSymbol
939
+ )
940
+ MANUAL =
941
+ T.let(
942
+ :manual,
943
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::TaggedSymbol
944
+ )
945
+
946
+ sig do
947
+ override.returns(
948
+ T::Array[
949
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::ThresholdMode::TaggedSymbol
950
+ ]
951
+ )
952
+ end
953
+ def self.values
954
+ end
955
+ end
956
+
957
+ # The value to be compared.
958
+ module Value
959
+ extend Openlayer::Internal::Type::Union
960
+
961
+ Variants =
962
+ T.type_alias do
963
+ T.any(Float, T::Boolean, String, T::Array[String])
964
+ end
965
+
966
+ sig do
967
+ override.returns(
968
+ T::Array[
969
+ Openlayer::Models::Projects::TestCreateResponse::Threshold::Value::Variants
970
+ ]
971
+ )
972
+ end
973
+ def self.variants
974
+ end
975
+
976
+ StringArray =
977
+ T.let(
978
+ Openlayer::Internal::Type::ArrayOf[String],
979
+ Openlayer::Internal::Type::Converter
980
+ )
981
+ end
982
+ end
983
+
984
+ # The test type.
985
+ module Type
986
+ extend Openlayer::Internal::Type::Enum
987
+
988
+ TaggedSymbol =
989
+ T.type_alias do
990
+ T.all(
991
+ Symbol,
992
+ Openlayer::Models::Projects::TestCreateResponse::Type
993
+ )
994
+ end
995
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
996
+
997
+ INTEGRITY =
998
+ T.let(
999
+ :integrity,
1000
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol
1001
+ )
1002
+ CONSISTENCY =
1003
+ T.let(
1004
+ :consistency,
1005
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol
1006
+ )
1007
+ PERFORMANCE =
1008
+ T.let(
1009
+ :performance,
1010
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol
1011
+ )
1012
+
1013
+ sig do
1014
+ override.returns(
1015
+ T::Array[
1016
+ Openlayer::Models::Projects::TestCreateResponse::Type::TaggedSymbol
1017
+ ]
1018
+ )
1019
+ end
1020
+ def self.values
1021
+ end
1022
+ end
1023
+ end
1024
+ end
1025
+ end
1026
+ end