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,367 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ # @see Openlayer::Resources::Projects::Tests#create
7
+ class TestCreateParams < Openlayer::Internal::Type::BaseModel
8
+ extend Openlayer::Internal::Type::RequestParameters::Converter
9
+ include Openlayer::Internal::Type::RequestParameters
10
+
11
+ # @!attribute description
12
+ # The test description.
13
+ #
14
+ # @return [Object, nil]
15
+ required :description, Openlayer::Internal::Type::Unknown, nil?: true
16
+
17
+ # @!attribute name
18
+ # The test name.
19
+ #
20
+ # @return [String]
21
+ required :name, String
22
+
23
+ # @!attribute subtype
24
+ # The test subtype.
25
+ #
26
+ # @return [Symbol, Openlayer::Models::Projects::TestCreateParams::Subtype]
27
+ required :subtype, enum: -> { Openlayer::Projects::TestCreateParams::Subtype }
28
+
29
+ # @!attribute thresholds
30
+ #
31
+ # @return [Array<Openlayer::Models::Projects::TestCreateParams::Threshold>]
32
+ required :thresholds,
33
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Projects::TestCreateParams::Threshold] }
34
+
35
+ # @!attribute type
36
+ # The test type.
37
+ #
38
+ # @return [Symbol, Openlayer::Models::Projects::TestCreateParams::Type]
39
+ required :type, enum: -> { Openlayer::Projects::TestCreateParams::Type }
40
+
41
+ # @!attribute archived
42
+ # Whether the test is archived.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :archived, Openlayer::Internal::Type::Boolean
46
+
47
+ # @!attribute delay_window
48
+ # The delay window in seconds. Only applies to tests that use production data.
49
+ #
50
+ # @return [Float, nil]
51
+ optional :delay_window, Float, api_name: :delayWindow, nil?: true
52
+
53
+ # @!attribute evaluation_window
54
+ # The evaluation window in seconds. Only applies to tests that use production
55
+ # data.
56
+ #
57
+ # @return [Float, nil]
58
+ optional :evaluation_window, Float, api_name: :evaluationWindow, nil?: true
59
+
60
+ # @!attribute uses_ml_model
61
+ # Whether the test uses an ML model.
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :uses_ml_model, Openlayer::Internal::Type::Boolean, api_name: :usesMlModel
65
+
66
+ # @!attribute uses_production_data
67
+ # Whether the test uses production data (monitoring mode only).
68
+ #
69
+ # @return [Boolean, nil]
70
+ optional :uses_production_data, Openlayer::Internal::Type::Boolean, api_name: :usesProductionData
71
+
72
+ # @!attribute uses_reference_dataset
73
+ # Whether the test uses a reference dataset (monitoring mode only).
74
+ #
75
+ # @return [Boolean, nil]
76
+ optional :uses_reference_dataset, Openlayer::Internal::Type::Boolean, api_name: :usesReferenceDataset
77
+
78
+ # @!attribute uses_training_dataset
79
+ # Whether the test uses a training dataset.
80
+ #
81
+ # @return [Boolean, nil]
82
+ optional :uses_training_dataset, Openlayer::Internal::Type::Boolean, api_name: :usesTrainingDataset
83
+
84
+ # @!attribute uses_validation_dataset
85
+ # Whether the test uses a validation dataset.
86
+ #
87
+ # @return [Boolean, nil]
88
+ optional :uses_validation_dataset,
89
+ Openlayer::Internal::Type::Boolean,
90
+ api_name: :usesValidationDataset
91
+
92
+ # @!method initialize(description:, name:, subtype:, thresholds:, type:, archived: nil, delay_window: nil, evaluation_window: nil, uses_ml_model: nil, uses_production_data: nil, uses_reference_dataset: nil, uses_training_dataset: nil, uses_validation_dataset: nil, request_options: {})
93
+ # Some parameter documentations has been truncated, see
94
+ # {Openlayer::Models::Projects::TestCreateParams} for more details.
95
+ #
96
+ # @param description [Object, nil] The test description.
97
+ #
98
+ # @param name [String] The test name.
99
+ #
100
+ # @param subtype [Symbol, Openlayer::Models::Projects::TestCreateParams::Subtype] The test subtype.
101
+ #
102
+ # @param thresholds [Array<Openlayer::Models::Projects::TestCreateParams::Threshold>]
103
+ #
104
+ # @param type [Symbol, Openlayer::Models::Projects::TestCreateParams::Type] The test type.
105
+ #
106
+ # @param archived [Boolean] Whether the test is archived.
107
+ #
108
+ # @param delay_window [Float, nil] The delay window in seconds. Only applies to tests that use production data.
109
+ #
110
+ # @param evaluation_window [Float, nil] The evaluation window in seconds. Only applies to tests that use production data
111
+ #
112
+ # @param uses_ml_model [Boolean] Whether the test uses an ML model.
113
+ #
114
+ # @param uses_production_data [Boolean] Whether the test uses production data (monitoring mode only).
115
+ #
116
+ # @param uses_reference_dataset [Boolean] Whether the test uses a reference dataset (monitoring mode only).
117
+ #
118
+ # @param uses_training_dataset [Boolean] Whether the test uses a training dataset.
119
+ #
120
+ # @param uses_validation_dataset [Boolean] Whether the test uses a validation dataset.
121
+ #
122
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}]
123
+
124
+ # The test subtype.
125
+ module Subtype
126
+ extend Openlayer::Internal::Type::Enum
127
+
128
+ ANOMALOUS_COLUMN_COUNT = :anomalousColumnCount
129
+ CHARACTER_LENGTH = :characterLength
130
+ CLASS_IMBALANCE_RATIO = :classImbalanceRatio
131
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
132
+ COLUMN_AVERAGE = :columnAverage
133
+ COLUMN_DRIFT = :columnDrift
134
+ COLUMN_STATISTIC = :columnStatistic
135
+ COLUMN_VALUES_MATCH = :columnValuesMatch
136
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
137
+ CONTAINS_PII = :containsPii
138
+ CONTAINS_VALID_URL = :containsValidUrl
139
+ CORRELATED_FEATURE_COUNT = :correlatedFeatureCount
140
+ CUSTOM_METRIC_THRESHOLD = :customMetricThreshold
141
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
142
+ EMPTY_FEATURE = :emptyFeature
143
+ EMPTY_FEATURE_COUNT = :emptyFeatureCount
144
+ DRIFTED_FEATURE_COUNT = :driftedFeatureCount
145
+ FEATURE_MISSING_VALUES = :featureMissingValues
146
+ FEATURE_VALUE_VALIDATION = :featureValueValidation
147
+ GREAT_EXPECTATIONS = :greatExpectations
148
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
149
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
150
+ IS_CODE = :isCode
151
+ IS_JSON = :isJson
152
+ LLM_RUBRIC_THRESHOLD_V2 = :llmRubricThresholdV2
153
+ LABEL_DRIFT = :labelDrift
154
+ METRIC_THRESHOLD = :metricThreshold
155
+ NEW_CATEGORY_COUNT = :newCategoryCount
156
+ NEW_LABEL_COUNT = :newLabelCount
157
+ NULL_ROW_COUNT = :nullRowCount
158
+ ROW_COUNT = :rowCount
159
+ PP_SCORE_VALUE_VALIDATION = :ppScoreValueValidation
160
+ QUASI_CONSTANT_FEATURE = :quasiConstantFeature
161
+ QUASI_CONSTANT_FEATURE_COUNT = :quasiConstantFeatureCount
162
+ SQL_QUERY = :sqlQuery
163
+ DTYPE_VALIDATION = :dtypeValidation
164
+ SENTENCE_LENGTH = :sentenceLength
165
+ SIZE_RATIO = :sizeRatio
166
+ SPECIAL_CHARACTERS_RATIO = :specialCharactersRatio
167
+ STRING_VALIDATION = :stringValidation
168
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
169
+
170
+ # @!method self.values
171
+ # @return [Array<Symbol>]
172
+ end
173
+
174
+ class Threshold < Openlayer::Internal::Type::BaseModel
175
+ # @!attribute insight_name
176
+ # The insight name to be evaluated.
177
+ #
178
+ # @return [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::InsightName, nil]
179
+ optional :insight_name,
180
+ enum: -> { Openlayer::Projects::TestCreateParams::Threshold::InsightName },
181
+ api_name: :insightName
182
+
183
+ # @!attribute insight_parameters
184
+ # The insight parameters. Required only for some test subtypes. For example, for
185
+ # tests that require a column name, the insight parameters will be [{'name':
186
+ # 'column_name', 'value': 'Age'}]
187
+ #
188
+ # @return [Array<Openlayer::Models::Projects::TestCreateParams::Threshold::InsightParameter>, nil]
189
+ optional :insight_parameters,
190
+ -> {
191
+ Openlayer::Internal::Type::ArrayOf[Openlayer::Projects::TestCreateParams::Threshold::InsightParameter]
192
+ },
193
+ api_name: :insightParameters,
194
+ nil?: true
195
+
196
+ # @!attribute measurement
197
+ # The measurement to be evaluated.
198
+ #
199
+ # @return [String, nil]
200
+ optional :measurement, String
201
+
202
+ # @!attribute operator
203
+ # The operator to be used for the evaluation.
204
+ #
205
+ # @return [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::Operator, nil]
206
+ optional :operator, enum: -> { Openlayer::Projects::TestCreateParams::Threshold::Operator }
207
+
208
+ # @!attribute threshold_mode
209
+ # Whether to use automatic anomaly detection or manual thresholds
210
+ #
211
+ # @return [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::ThresholdMode, nil]
212
+ optional :threshold_mode,
213
+ enum: -> { Openlayer::Projects::TestCreateParams::Threshold::ThresholdMode },
214
+ api_name: :thresholdMode
215
+
216
+ # @!attribute value
217
+ # The value to be compared.
218
+ #
219
+ # @return [Float, Boolean, String, Array<String>, nil]
220
+ optional :value, union: -> { Openlayer::Projects::TestCreateParams::Threshold::Value }
221
+
222
+ # @!method initialize(insight_name: nil, insight_parameters: nil, measurement: nil, operator: nil, threshold_mode: nil, value: nil)
223
+ # Some parameter documentations has been truncated, see
224
+ # {Openlayer::Models::Projects::TestCreateParams::Threshold} for more details.
225
+ #
226
+ # @param insight_name [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::InsightName] The insight name to be evaluated.
227
+ #
228
+ # @param insight_parameters [Array<Openlayer::Models::Projects::TestCreateParams::Threshold::InsightParameter>, nil] The insight parameters. Required only for some test subtypes. For example, for t
229
+ #
230
+ # @param measurement [String] The measurement to be evaluated.
231
+ #
232
+ # @param operator [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::Operator] The operator to be used for the evaluation.
233
+ #
234
+ # @param threshold_mode [Symbol, Openlayer::Models::Projects::TestCreateParams::Threshold::ThresholdMode] Whether to use automatic anomaly detection or manual thresholds
235
+ #
236
+ # @param value [Float, Boolean, String, Array<String>] The value to be compared.
237
+
238
+ # The insight name to be evaluated.
239
+ #
240
+ # @see Openlayer::Models::Projects::TestCreateParams::Threshold#insight_name
241
+ module InsightName
242
+ extend Openlayer::Internal::Type::Enum
243
+
244
+ CHARACTER_LENGTH = :characterLength
245
+ CLASS_IMBALANCE = :classImbalance
246
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
247
+ COLUMN_AVERAGE = :columnAverage
248
+ COLUMN_DRIFT = :columnDrift
249
+ COLUMN_VALUES_MATCH = :columnValuesMatch
250
+ CONFIDENCE_DISTRIBUTION = :confidenceDistribution
251
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
252
+ CONTAINS_PII = :containsPii
253
+ CONTAINS_VALID_URL = :containsValidUrl
254
+ CORRELATED_FEATURES = :correlatedFeatures
255
+ CUSTOM_METRIC = :customMetric
256
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
257
+ EMPTY_FEATURES = :emptyFeatures
258
+ FEATURE_DRIFT = :featureDrift
259
+ FEATURE_PROFILE = :featureProfile
260
+ GREAT_EXPECTATIONS = :greatExpectations
261
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
262
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
263
+ IS_CODE = :isCode
264
+ IS_JSON = :isJson
265
+ LLM_RUBRIC_V2 = :llmRubricV2
266
+ LABEL_DRIFT = :labelDrift
267
+ METRICS = :metrics
268
+ NEW_CATEGORIES = :newCategories
269
+ NEW_LABELS = :newLabels
270
+ NULL_ROW_COUNT = :nullRowCount
271
+ PP_SCORE = :ppScore
272
+ QUASI_CONSTANT_FEATURES = :quasiConstantFeatures
273
+ SENTENCE_LENGTH = :sentenceLength
274
+ SIZE_RATIO = :sizeRatio
275
+ SPECIAL_CHARACTERS = :specialCharacters
276
+ STRING_VALIDATION = :stringValidation
277
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
278
+
279
+ # @!method self.values
280
+ # @return [Array<Symbol>]
281
+ end
282
+
283
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
284
+ # @!attribute name
285
+ # The name of the insight filter.
286
+ #
287
+ # @return [String]
288
+ required :name, String
289
+
290
+ # @!attribute value
291
+ #
292
+ # @return [Object]
293
+ required :value, Openlayer::Internal::Type::Unknown
294
+
295
+ # @!method initialize(name:, value:)
296
+ # @param name [String] The name of the insight filter.
297
+ #
298
+ # @param value [Object]
299
+ end
300
+
301
+ # The operator to be used for the evaluation.
302
+ #
303
+ # @see Openlayer::Models::Projects::TestCreateParams::Threshold#operator
304
+ module Operator
305
+ extend Openlayer::Internal::Type::Enum
306
+
307
+ IS = :is
308
+ GREATER = :>
309
+ GREATER_OR_EQUALS = :">="
310
+ LESS = :<
311
+ LESS_OR_EQUALS = :"<="
312
+ NOT_EQUALS = :"!="
313
+
314
+ # @!method self.values
315
+ # @return [Array<Symbol>]
316
+ end
317
+
318
+ # Whether to use automatic anomaly detection or manual thresholds
319
+ #
320
+ # @see Openlayer::Models::Projects::TestCreateParams::Threshold#threshold_mode
321
+ module ThresholdMode
322
+ extend Openlayer::Internal::Type::Enum
323
+
324
+ AUTOMATIC = :automatic
325
+ MANUAL = :manual
326
+
327
+ # @!method self.values
328
+ # @return [Array<Symbol>]
329
+ end
330
+
331
+ # The value to be compared.
332
+ #
333
+ # @see Openlayer::Models::Projects::TestCreateParams::Threshold#value
334
+ module Value
335
+ extend Openlayer::Internal::Type::Union
336
+
337
+ variant Float
338
+
339
+ variant Openlayer::Internal::Type::Boolean
340
+
341
+ variant String
342
+
343
+ variant -> { Openlayer::Models::Projects::TestCreateParams::Threshold::Value::StringArray }
344
+
345
+ # @!method self.variants
346
+ # @return [Array(Float, Boolean, String, Array<String>)]
347
+
348
+ # @type [Openlayer::Internal::Type::Converter]
349
+ StringArray = Openlayer::Internal::Type::ArrayOf[String]
350
+ end
351
+ end
352
+
353
+ # The test type.
354
+ module Type
355
+ extend Openlayer::Internal::Type::Enum
356
+
357
+ INTEGRITY = :integrity
358
+ CONSISTENCY = :consistency
359
+ PERFORMANCE = :performance
360
+
361
+ # @!method self.values
362
+ # @return [Array<Symbol>]
363
+ end
364
+ end
365
+ end
366
+ end
367
+ end