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