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