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