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,262 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ # @see Openlayer::Resources::Projects::Tests#update
7
+ class TestUpdateParams < Openlayer::Internal::Type::BaseModel
8
+ extend Openlayer::Internal::Type::RequestParameters::Converter
9
+ include Openlayer::Internal::Type::RequestParameters
10
+
11
+ # @!attribute payloads
12
+ #
13
+ # @return [Array<Openlayer::Models::Projects::TestUpdateParams::Payload>]
14
+ required :payloads,
15
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Projects::TestUpdateParams::Payload] }
16
+
17
+ # @!method initialize(payloads:, request_options: {})
18
+ # @param payloads [Array<Openlayer::Models::Projects::TestUpdateParams::Payload>]
19
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}]
20
+
21
+ class Payload < Openlayer::Internal::Type::BaseModel
22
+ # @!attribute id
23
+ #
24
+ # @return [String]
25
+ required :id, String
26
+
27
+ # @!attribute archived
28
+ # Whether the test is archived.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :archived, Openlayer::Internal::Type::Boolean
32
+
33
+ # @!attribute description
34
+ # The test description.
35
+ #
36
+ # @return [Object, nil]
37
+ optional :description, Openlayer::Internal::Type::Unknown, nil?: true
38
+
39
+ # @!attribute name
40
+ # The test name.
41
+ #
42
+ # @return [String, nil]
43
+ optional :name, String
44
+
45
+ # @!attribute suggested
46
+ #
47
+ # @return [Boolean, Openlayer::Models::Projects::TestUpdateParams::Payload::Suggested, nil]
48
+ optional :suggested, enum: -> { Openlayer::Projects::TestUpdateParams::Payload::Suggested }
49
+
50
+ # @!attribute thresholds
51
+ #
52
+ # @return [Array<Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold>, nil]
53
+ optional :thresholds,
54
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Projects::TestUpdateParams::Payload::Threshold] }
55
+
56
+ # @!method initialize(id:, archived: nil, description: nil, name: nil, suggested: nil, thresholds: nil)
57
+ # @param id [String]
58
+ #
59
+ # @param archived [Boolean] Whether the test is archived.
60
+ #
61
+ # @param description [Object, nil] The test description.
62
+ #
63
+ # @param name [String] The test name.
64
+ #
65
+ # @param suggested [Boolean, Openlayer::Models::Projects::TestUpdateParams::Payload::Suggested]
66
+ #
67
+ # @param thresholds [Array<Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold>]
68
+
69
+ # @see Openlayer::Models::Projects::TestUpdateParams::Payload#suggested
70
+ module Suggested
71
+ extend Openlayer::Internal::Type::Enum
72
+
73
+ FALSE = false
74
+
75
+ # @!method self.values
76
+ # @return [Array<Boolean>]
77
+ end
78
+
79
+ class Threshold < Openlayer::Internal::Type::BaseModel
80
+ # @!attribute insight_name
81
+ # The insight name to be evaluated.
82
+ #
83
+ # @return [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::InsightName, nil]
84
+ optional :insight_name,
85
+ enum: -> { Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightName },
86
+ api_name: :insightName
87
+
88
+ # @!attribute insight_parameters
89
+ # The insight parameters. Required only for some test subtypes. For example, for
90
+ # tests that require a column name, the insight parameters will be [{'name':
91
+ # 'column_name', 'value': 'Age'}]
92
+ #
93
+ # @return [Array<Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::InsightParameter>, nil]
94
+ optional :insight_parameters,
95
+ -> {
96
+ Openlayer::Internal::Type::ArrayOf[Openlayer::Projects::TestUpdateParams::Payload::Threshold::InsightParameter]
97
+ },
98
+ api_name: :insightParameters,
99
+ nil?: true
100
+
101
+ # @!attribute measurement
102
+ # The measurement to be evaluated.
103
+ #
104
+ # @return [String, nil]
105
+ optional :measurement, String
106
+
107
+ # @!attribute operator
108
+ # The operator to be used for the evaluation.
109
+ #
110
+ # @return [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::Operator, nil]
111
+ optional :operator, enum: -> { Openlayer::Projects::TestUpdateParams::Payload::Threshold::Operator }
112
+
113
+ # @!attribute threshold_mode
114
+ # Whether to use automatic anomaly detection or manual thresholds
115
+ #
116
+ # @return [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode, nil]
117
+ optional :threshold_mode,
118
+ enum: -> { Openlayer::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode },
119
+ api_name: :thresholdMode
120
+
121
+ # @!attribute value
122
+ # The value to be compared.
123
+ #
124
+ # @return [Float, Boolean, String, Array<String>, nil]
125
+ optional :value, union: -> { Openlayer::Projects::TestUpdateParams::Payload::Threshold::Value }
126
+
127
+ # @!method initialize(insight_name: nil, insight_parameters: nil, measurement: nil, operator: nil, threshold_mode: nil, value: nil)
128
+ # Some parameter documentations has been truncated, see
129
+ # {Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold} for more
130
+ # details.
131
+ #
132
+ # @param insight_name [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::InsightName] The insight name to be evaluated.
133
+ #
134
+ # @param insight_parameters [Array<Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::InsightParameter>, nil] The insight parameters. Required only for some test subtypes. For example, for t
135
+ #
136
+ # @param measurement [String] The measurement to be evaluated.
137
+ #
138
+ # @param operator [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::Operator] The operator to be used for the evaluation.
139
+ #
140
+ # @param threshold_mode [Symbol, Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::ThresholdMode] Whether to use automatic anomaly detection or manual thresholds
141
+ #
142
+ # @param value [Float, Boolean, String, Array<String>] The value to be compared.
143
+
144
+ # The insight name to be evaluated.
145
+ #
146
+ # @see Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold#insight_name
147
+ module InsightName
148
+ extend Openlayer::Internal::Type::Enum
149
+
150
+ CHARACTER_LENGTH = :characterLength
151
+ CLASS_IMBALANCE = :classImbalance
152
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
153
+ COLUMN_AVERAGE = :columnAverage
154
+ COLUMN_DRIFT = :columnDrift
155
+ COLUMN_VALUES_MATCH = :columnValuesMatch
156
+ CONFIDENCE_DISTRIBUTION = :confidenceDistribution
157
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
158
+ CONTAINS_PII = :containsPii
159
+ CONTAINS_VALID_URL = :containsValidUrl
160
+ CORRELATED_FEATURES = :correlatedFeatures
161
+ CUSTOM_METRIC = :customMetric
162
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
163
+ EMPTY_FEATURES = :emptyFeatures
164
+ FEATURE_DRIFT = :featureDrift
165
+ FEATURE_PROFILE = :featureProfile
166
+ GREAT_EXPECTATIONS = :greatExpectations
167
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
168
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
169
+ IS_CODE = :isCode
170
+ IS_JSON = :isJson
171
+ LLM_RUBRIC_V2 = :llmRubricV2
172
+ LABEL_DRIFT = :labelDrift
173
+ METRICS = :metrics
174
+ NEW_CATEGORIES = :newCategories
175
+ NEW_LABELS = :newLabels
176
+ NULL_ROW_COUNT = :nullRowCount
177
+ PP_SCORE = :ppScore
178
+ QUASI_CONSTANT_FEATURES = :quasiConstantFeatures
179
+ SENTENCE_LENGTH = :sentenceLength
180
+ SIZE_RATIO = :sizeRatio
181
+ SPECIAL_CHARACTERS = :specialCharacters
182
+ STRING_VALIDATION = :stringValidation
183
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
184
+
185
+ # @!method self.values
186
+ # @return [Array<Symbol>]
187
+ end
188
+
189
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
190
+ # @!attribute name
191
+ # The name of the insight filter.
192
+ #
193
+ # @return [String]
194
+ required :name, String
195
+
196
+ # @!attribute value
197
+ #
198
+ # @return [Object]
199
+ required :value, Openlayer::Internal::Type::Unknown
200
+
201
+ # @!method initialize(name:, value:)
202
+ # @param name [String] The name of the insight filter.
203
+ #
204
+ # @param value [Object]
205
+ end
206
+
207
+ # The operator to be used for the evaluation.
208
+ #
209
+ # @see Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold#operator
210
+ module Operator
211
+ extend Openlayer::Internal::Type::Enum
212
+
213
+ IS = :is
214
+ GREATER = :>
215
+ GREATER_OR_EQUALS = :">="
216
+ LESS = :<
217
+ LESS_OR_EQUALS = :"<="
218
+ NOT_EQUALS = :"!="
219
+
220
+ # @!method self.values
221
+ # @return [Array<Symbol>]
222
+ end
223
+
224
+ # Whether to use automatic anomaly detection or manual thresholds
225
+ #
226
+ # @see Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold#threshold_mode
227
+ module ThresholdMode
228
+ extend Openlayer::Internal::Type::Enum
229
+
230
+ AUTOMATIC = :automatic
231
+ MANUAL = :manual
232
+
233
+ # @!method self.values
234
+ # @return [Array<Symbol>]
235
+ end
236
+
237
+ # The value to be compared.
238
+ #
239
+ # @see Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold#value
240
+ module Value
241
+ extend Openlayer::Internal::Type::Union
242
+
243
+ variant Float
244
+
245
+ variant Openlayer::Internal::Type::Boolean
246
+
247
+ variant String
248
+
249
+ variant -> { Openlayer::Models::Projects::TestUpdateParams::Payload::Threshold::Value::StringArray }
250
+
251
+ # @!method self.variants
252
+ # @return [Array(Float, Boolean, String, Array<String>)]
253
+
254
+ # @type [Openlayer::Internal::Type::Converter]
255
+ StringArray = Openlayer::Internal::Type::ArrayOf[String]
256
+ end
257
+ end
258
+ end
259
+ end
260
+ end
261
+ end
262
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ # @see Openlayer::Resources::Projects::Tests#update
7
+ class TestUpdateResponse < Openlayer::Internal::Type::BaseModel
8
+ # @!attribute task_result_id
9
+ #
10
+ # @return [String, nil]
11
+ optional :task_result_id, String, api_name: :taskResultId
12
+
13
+ # @!attribute task_result_url
14
+ #
15
+ # @return [String, nil]
16
+ optional :task_result_url, String, api_name: :taskResultUrl
17
+
18
+ # @!method initialize(task_result_id: nil, task_result_url: nil)
19
+ # @param task_result_id [String]
20
+ # @param task_result_url [String]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Storage
6
+ # @see Openlayer::Resources::Storage::PresignedURL#create
7
+ class PresignedURLCreateParams < Openlayer::Internal::Type::BaseModel
8
+ extend Openlayer::Internal::Type::RequestParameters::Converter
9
+ include Openlayer::Internal::Type::RequestParameters
10
+
11
+ # @!attribute object_name
12
+ # The name of the object.
13
+ #
14
+ # @return [String]
15
+ required :object_name, String
16
+
17
+ # @!method initialize(object_name:, request_options: {})
18
+ # @param object_name [String] The name of the object.
19
+ #
20
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Storage
6
+ # @see Openlayer::Resources::Storage::PresignedURL#create
7
+ class PresignedURLCreateResponse < Openlayer::Internal::Type::BaseModel
8
+ # @!attribute storage_uri
9
+ # The storage URI to send back to the backend after the upload was completed.
10
+ #
11
+ # @return [String]
12
+ required :storage_uri, String, api_name: :storageUri
13
+
14
+ # @!attribute url
15
+ # The presigned url.
16
+ #
17
+ # @return [String]
18
+ required :url, String
19
+
20
+ # @!attribute fields
21
+ # Fields to include in the body of the upload. Only needed by s3
22
+ #
23
+ # @return [Object, nil]
24
+ optional :fields, Openlayer::Internal::Type::Unknown
25
+
26
+ # @!method initialize(storage_uri:, url:, fields: nil)
27
+ # @param storage_uri [String] The storage URI to send back to the backend after the upload was completed.
28
+ #
29
+ # @param url [String] The presigned url.
30
+ #
31
+ # @param fields [Object] Fields to include in the body of the upload. Only needed by s3
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ [Openlayer::Internal::Type::BaseModel, *Openlayer::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Openlayer::Internal::AnyHash) } }
6
+ end
7
+
8
+ Openlayer::Internal::Util.walk_namespaces(Openlayer::Models).each do |mod|
9
+ case mod
10
+ in Openlayer::Internal::Type::Enum | Openlayer::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ Openlayer::Internal::Util.walk_namespaces(Openlayer::Models)
33
+ .lazy
34
+ .grep(Openlayer::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ CommitRetrieveParams = Openlayer::Models::CommitRetrieveParams
43
+
44
+ Commits = Openlayer::Models::Commits
45
+
46
+ InferencePipelineDeleteParams = Openlayer::Models::InferencePipelineDeleteParams
47
+
48
+ InferencePipelineRetrieveParams = Openlayer::Models::InferencePipelineRetrieveParams
49
+
50
+ InferencePipelines = Openlayer::Models::InferencePipelines
51
+
52
+ InferencePipelineUpdateParams = Openlayer::Models::InferencePipelineUpdateParams
53
+
54
+ ProjectCreateParams = Openlayer::Models::ProjectCreateParams
55
+
56
+ ProjectListParams = Openlayer::Models::ProjectListParams
57
+
58
+ Projects = Openlayer::Models::Projects
59
+
60
+ Storage = Openlayer::Models::Storage
61
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Openlayer::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [Openlayer::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in Openlayer::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, Openlayer::Internal::Type::HashOf[Openlayer::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, Openlayer::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, Openlayer::Internal::Type::HashOf[Openlayer::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(Openlayer::RequestOptions, Openlayer::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Commits
6
+ class TestResults
7
+ # Some parameter documentations has been truncated, see
8
+ # {Openlayer::Models::Commits::TestResultListParams} for more details.
9
+ #
10
+ # List the test results for a project commit (project version).
11
+ #
12
+ # @overload list(project_version_id, include_archived: nil, page: nil, per_page: nil, status: nil, type: nil, request_options: {})
13
+ #
14
+ # @param project_version_id [String] The project version (commit) id.
15
+ #
16
+ # @param include_archived [Boolean] Filter for archived tests.
17
+ #
18
+ # @param page [Integer] The page to return in a paginated query.
19
+ #
20
+ # @param per_page [Integer] Maximum number of items to return per page.
21
+ #
22
+ # @param status [Symbol, Openlayer::Models::Commits::TestResultListParams::Status] Filter list of test results by status. Available statuses are `running`, `passin
23
+ #
24
+ # @param type [Symbol, Openlayer::Models::Commits::TestResultListParams::Type] Filter objects by test type. Available types are `integrity`, `consistency`, `pe
25
+ #
26
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
27
+ #
28
+ # @return [Openlayer::Models::Commits::TestResultListResponse]
29
+ #
30
+ # @see Openlayer::Models::Commits::TestResultListParams
31
+ def list(project_version_id, params = {})
32
+ parsed, options = Openlayer::Commits::TestResultListParams.dump_request(params)
33
+ @client.request(
34
+ method: :get,
35
+ path: ["versions/%1$s/results", project_version_id],
36
+ query: parsed.transform_keys(include_archived: "includeArchived", per_page: "perPage"),
37
+ model: Openlayer::Models::Commits::TestResultListResponse,
38
+ options: options
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ #
44
+ # @param client [Openlayer::Client]
45
+ def initialize(client:)
46
+ @client = client
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Commits
6
+ # @return [Openlayer::Resources::Commits::TestResults]
7
+ attr_reader :test_results
8
+
9
+ # Retrieve a project version (commit) by its id.
10
+ #
11
+ # @overload retrieve(project_version_id, request_options: {})
12
+ #
13
+ # @param project_version_id [String] The project version (commit) id.
14
+ #
15
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Openlayer::Models::CommitRetrieveResponse]
18
+ #
19
+ # @see Openlayer::Models::CommitRetrieveParams
20
+ def retrieve(project_version_id, params = {})
21
+ @client.request(
22
+ method: :get,
23
+ path: ["versions/%1$s", project_version_id],
24
+ model: Openlayer::Models::CommitRetrieveResponse,
25
+ options: params[:request_options]
26
+ )
27
+ end
28
+
29
+ # @api private
30
+ #
31
+ # @param client [Openlayer::Client]
32
+ def initialize(client:)
33
+ @client = client
34
+ @test_results = Openlayer::Resources::Commits::TestResults.new(client: client)
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class InferencePipelines
6
+ class Data
7
+ # Some parameter documentations has been truncated, see
8
+ # {Openlayer::Models::InferencePipelines::DataStreamParams} for more details.
9
+ #
10
+ # Publish an inference data point to an inference pipeline.
11
+ #
12
+ # @overload stream(inference_pipeline_id, config:, rows:, request_options: {})
13
+ #
14
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
15
+ #
16
+ # @param config [Openlayer::Models::InferencePipelines::DataStreamParams::Config::LlmData, Openlayer::Models::InferencePipelines::DataStreamParams::Config::TabularClassificationData, Openlayer::Models::InferencePipelines::DataStreamParams::Config::TabularRegressionData, Openlayer::Models::InferencePipelines::DataStreamParams::Config::TextClassificationData] Configuration for the data stream. Depends on your \*\*Openlayer project task
17
+ # type
18
+ #
19
+ # @param rows [Array<Hash{Symbol=>Object}>] A list of inference data points with inputs and outputs
20
+ #
21
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Openlayer::Models::InferencePipelines::DataStreamResponse]
24
+ #
25
+ # @see Openlayer::Models::InferencePipelines::DataStreamParams
26
+ def stream(inference_pipeline_id, params)
27
+ parsed, options = Openlayer::InferencePipelines::DataStreamParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: ["inference-pipelines/%1$s/data-stream", inference_pipeline_id],
31
+ body: parsed,
32
+ model: Openlayer::Models::InferencePipelines::DataStreamResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # @api private
38
+ #
39
+ # @param client [Openlayer::Client]
40
+ def initialize(client:)
41
+ @client = client
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class InferencePipelines
6
+ class Rows
7
+ # Update an inference data point in an inference pipeline.
8
+ #
9
+ # @overload update(inference_pipeline_id, inference_id:, row:, config: nil, request_options: {})
10
+ #
11
+ # @param inference_pipeline_id [String] Path param: The inference pipeline id (a UUID).
12
+ #
13
+ # @param inference_id [String] Query param: Specify the inference id as a query param.
14
+ #
15
+ # @param row [Object] Body param:
16
+ #
17
+ # @param config [Openlayer::Models::InferencePipelines::RowUpdateParams::Config, nil] Body param:
18
+ #
19
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [Openlayer::Models::InferencePipelines::RowUpdateResponse]
22
+ #
23
+ # @see Openlayer::Models::InferencePipelines::RowUpdateParams
24
+ def update(inference_pipeline_id, params)
25
+ parsed, options = Openlayer::InferencePipelines::RowUpdateParams.dump_request(params)
26
+ query_params = [:inference_id]
27
+ @client.request(
28
+ method: :put,
29
+ path: ["inference-pipelines/%1$s/rows", inference_pipeline_id],
30
+ query: parsed.slice(*query_params).transform_keys(inference_id: "inferenceId"),
31
+ body: parsed.except(*query_params),
32
+ model: Openlayer::Models::InferencePipelines::RowUpdateResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # @api private
38
+ #
39
+ # @param client [Openlayer::Client]
40
+ def initialize(client:)
41
+ @client = client
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end