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,1258 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ class TestResultListResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::InferencePipelines::TestResultListResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T::Array[
18
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item
19
+ ]
20
+ )
21
+ end
22
+ attr_accessor :items
23
+
24
+ sig do
25
+ params(
26
+ items:
27
+ T::Array[
28
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::OrHash
29
+ ]
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(items:)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ items:
39
+ T::Array[
40
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item
41
+ ]
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+
48
+ class Item < Openlayer::Internal::Type::BaseModel
49
+ OrHash =
50
+ T.type_alias do
51
+ T.any(
52
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item,
53
+ Openlayer::Internal::AnyHash
54
+ )
55
+ end
56
+
57
+ # The status of the test.
58
+ sig do
59
+ returns(
60
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
61
+ )
62
+ end
63
+ attr_accessor :status
64
+
65
+ # The status message.
66
+ sig { returns(T.nilable(String)) }
67
+ attr_accessor :status_message
68
+
69
+ sig do
70
+ returns(
71
+ T.nilable(
72
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal
73
+ )
74
+ )
75
+ end
76
+ attr_reader :goal
77
+
78
+ sig do
79
+ params(
80
+ goal:
81
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::OrHash
82
+ ).void
83
+ end
84
+ attr_writer :goal
85
+
86
+ # Project version (commit) id.
87
+ sig { returns(String) }
88
+ attr_accessor :id
89
+
90
+ # The creation date.
91
+ sig { returns(Time) }
92
+ attr_accessor :date_created
93
+
94
+ # The data end date.
95
+ sig { returns(T.nilable(Time)) }
96
+ attr_accessor :date_data_ends
97
+
98
+ # The data start date.
99
+ sig { returns(T.nilable(Time)) }
100
+ attr_accessor :date_data_starts
101
+
102
+ # The last updated date.
103
+ sig { returns(Time) }
104
+ attr_accessor :date_updated
105
+
106
+ # The inference pipeline id.
107
+ sig { returns(T.nilable(String)) }
108
+ attr_accessor :inference_pipeline_id
109
+
110
+ # The project version (commit) id.
111
+ sig { returns(T.nilable(String)) }
112
+ attr_accessor :project_version_id
113
+
114
+ # The test id.
115
+ sig { returns(T.nilable(String)) }
116
+ attr_accessor :goal_id
117
+
118
+ sig do
119
+ params(
120
+ id: String,
121
+ date_created: Time,
122
+ date_data_ends: T.nilable(Time),
123
+ date_data_starts: T.nilable(Time),
124
+ date_updated: Time,
125
+ inference_pipeline_id: T.nilable(String),
126
+ project_version_id: T.nilable(String),
127
+ status:
128
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::OrSymbol,
129
+ status_message: T.nilable(String),
130
+ goal:
131
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::OrHash,
132
+ goal_id: T.nilable(String)
133
+ ).returns(T.attached_class)
134
+ end
135
+ def self.new(
136
+ # Project version (commit) id.
137
+ id:,
138
+ # The creation date.
139
+ date_created:,
140
+ # The data end date.
141
+ date_data_ends:,
142
+ # The data start date.
143
+ date_data_starts:,
144
+ # The last updated date.
145
+ date_updated:,
146
+ # The inference pipeline id.
147
+ inference_pipeline_id:,
148
+ # The project version (commit) id.
149
+ project_version_id:,
150
+ # The status of the test.
151
+ status:,
152
+ # The status message.
153
+ status_message:,
154
+ goal: nil,
155
+ # The test id.
156
+ goal_id: nil
157
+ )
158
+ end
159
+
160
+ sig do
161
+ override.returns(
162
+ {
163
+ id: String,
164
+ date_created: Time,
165
+ date_data_ends: T.nilable(Time),
166
+ date_data_starts: T.nilable(Time),
167
+ date_updated: Time,
168
+ inference_pipeline_id: T.nilable(String),
169
+ project_version_id: T.nilable(String),
170
+ status:
171
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol,
172
+ status_message: T.nilable(String),
173
+ goal:
174
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal,
175
+ goal_id: T.nilable(String)
176
+ }
177
+ )
178
+ end
179
+ def to_hash
180
+ end
181
+
182
+ # The status of the test.
183
+ module Status
184
+ extend Openlayer::Internal::Type::Enum
185
+
186
+ TaggedSymbol =
187
+ T.type_alias do
188
+ T.all(
189
+ Symbol,
190
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status
191
+ )
192
+ end
193
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
194
+
195
+ RUNNING =
196
+ T.let(
197
+ :running,
198
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
199
+ )
200
+ PASSING =
201
+ T.let(
202
+ :passing,
203
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
204
+ )
205
+ FAILING =
206
+ T.let(
207
+ :failing,
208
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
209
+ )
210
+ SKIPPED =
211
+ T.let(
212
+ :skipped,
213
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
214
+ )
215
+ ERROR =
216
+ T.let(
217
+ :error,
218
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
219
+ )
220
+
221
+ sig do
222
+ override.returns(
223
+ T::Array[
224
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Status::TaggedSymbol
225
+ ]
226
+ )
227
+ end
228
+ def self.values
229
+ end
230
+ end
231
+
232
+ class Goal < Openlayer::Internal::Type::BaseModel
233
+ OrHash =
234
+ T.type_alias do
235
+ T.any(
236
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal,
237
+ Openlayer::Internal::AnyHash
238
+ )
239
+ end
240
+
241
+ # The test description.
242
+ sig { returns(T.nilable(T.anything)) }
243
+ attr_accessor :description
244
+
245
+ # The test name.
246
+ sig { returns(String) }
247
+ attr_accessor :name
248
+
249
+ # The test subtype.
250
+ sig do
251
+ returns(
252
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
253
+ )
254
+ end
255
+ attr_accessor :subtype
256
+
257
+ sig do
258
+ returns(
259
+ T::Array[
260
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold
261
+ ]
262
+ )
263
+ end
264
+ attr_accessor :thresholds
265
+
266
+ # The test type.
267
+ sig do
268
+ returns(
269
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol
270
+ )
271
+ end
272
+ attr_accessor :type
273
+
274
+ # Whether the test is archived.
275
+ sig { returns(T.nilable(T::Boolean)) }
276
+ attr_reader :archived
277
+
278
+ sig { params(archived: T::Boolean).void }
279
+ attr_writer :archived
280
+
281
+ # The delay window in seconds. Only applies to tests that use production data.
282
+ sig { returns(T.nilable(Float)) }
283
+ attr_accessor :delay_window
284
+
285
+ # The evaluation window in seconds. Only applies to tests that use production
286
+ # data.
287
+ sig { returns(T.nilable(Float)) }
288
+ attr_accessor :evaluation_window
289
+
290
+ # Whether the test uses an ML model.
291
+ sig { returns(T.nilable(T::Boolean)) }
292
+ attr_reader :uses_ml_model
293
+
294
+ sig { params(uses_ml_model: T::Boolean).void }
295
+ attr_writer :uses_ml_model
296
+
297
+ # Whether the test uses production data (monitoring mode only).
298
+ sig { returns(T.nilable(T::Boolean)) }
299
+ attr_reader :uses_production_data
300
+
301
+ sig { params(uses_production_data: T::Boolean).void }
302
+ attr_writer :uses_production_data
303
+
304
+ # Whether the test uses a reference dataset (monitoring mode only).
305
+ sig { returns(T.nilable(T::Boolean)) }
306
+ attr_reader :uses_reference_dataset
307
+
308
+ sig { params(uses_reference_dataset: T::Boolean).void }
309
+ attr_writer :uses_reference_dataset
310
+
311
+ # Whether the test uses a training dataset.
312
+ sig { returns(T.nilable(T::Boolean)) }
313
+ attr_reader :uses_training_dataset
314
+
315
+ sig { params(uses_training_dataset: T::Boolean).void }
316
+ attr_writer :uses_training_dataset
317
+
318
+ # Whether the test uses a validation dataset.
319
+ sig { returns(T.nilable(T::Boolean)) }
320
+ attr_reader :uses_validation_dataset
321
+
322
+ sig { params(uses_validation_dataset: T::Boolean).void }
323
+ attr_writer :uses_validation_dataset
324
+
325
+ # The test id.
326
+ sig { returns(String) }
327
+ attr_accessor :id
328
+
329
+ # The number of comments on the test.
330
+ sig { returns(Integer) }
331
+ attr_accessor :comment_count
332
+
333
+ # The test creator id.
334
+ sig { returns(T.nilable(String)) }
335
+ attr_accessor :creator_id
336
+
337
+ # The date the test was archived.
338
+ sig { returns(T.nilable(Time)) }
339
+ attr_accessor :date_archived
340
+
341
+ # The creation date.
342
+ sig { returns(Time) }
343
+ attr_accessor :date_created
344
+
345
+ # The last updated date.
346
+ sig { returns(Time) }
347
+ attr_accessor :date_updated
348
+
349
+ # The test number.
350
+ sig { returns(Integer) }
351
+ attr_accessor :number
352
+
353
+ # The project version (commit) id where the test was created.
354
+ sig { returns(T.nilable(String)) }
355
+ attr_accessor :origin_project_version_id
356
+
357
+ # Whether the test is suggested or user-created.
358
+ sig { returns(T::Boolean) }
359
+ attr_accessor :suggested
360
+
361
+ sig do
362
+ params(
363
+ id: String,
364
+ comment_count: Integer,
365
+ creator_id: T.nilable(String),
366
+ date_archived: T.nilable(Time),
367
+ date_created: Time,
368
+ date_updated: Time,
369
+ description: T.nilable(T.anything),
370
+ name: String,
371
+ number: Integer,
372
+ origin_project_version_id: T.nilable(String),
373
+ subtype:
374
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::OrSymbol,
375
+ suggested: T::Boolean,
376
+ thresholds:
377
+ T::Array[
378
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::OrHash
379
+ ],
380
+ type:
381
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::OrSymbol,
382
+ archived: T::Boolean,
383
+ delay_window: T.nilable(Float),
384
+ evaluation_window: T.nilable(Float),
385
+ uses_ml_model: T::Boolean,
386
+ uses_production_data: T::Boolean,
387
+ uses_reference_dataset: T::Boolean,
388
+ uses_training_dataset: T::Boolean,
389
+ uses_validation_dataset: T::Boolean
390
+ ).returns(T.attached_class)
391
+ end
392
+ def self.new(
393
+ # The test id.
394
+ id:,
395
+ # The number of comments on the test.
396
+ comment_count:,
397
+ # The test creator id.
398
+ creator_id:,
399
+ # The date the test was archived.
400
+ date_archived:,
401
+ # The creation date.
402
+ date_created:,
403
+ # The last updated date.
404
+ date_updated:,
405
+ # The test description.
406
+ description:,
407
+ # The test name.
408
+ name:,
409
+ # The test number.
410
+ number:,
411
+ # The project version (commit) id where the test was created.
412
+ origin_project_version_id:,
413
+ # The test subtype.
414
+ subtype:,
415
+ # Whether the test is suggested or user-created.
416
+ suggested:,
417
+ thresholds:,
418
+ # The test type.
419
+ type:,
420
+ # Whether the test is archived.
421
+ archived: nil,
422
+ # The delay window in seconds. Only applies to tests that use production data.
423
+ delay_window: nil,
424
+ # The evaluation window in seconds. Only applies to tests that use production
425
+ # data.
426
+ evaluation_window: nil,
427
+ # Whether the test uses an ML model.
428
+ uses_ml_model: nil,
429
+ # Whether the test uses production data (monitoring mode only).
430
+ uses_production_data: nil,
431
+ # Whether the test uses a reference dataset (monitoring mode only).
432
+ uses_reference_dataset: nil,
433
+ # Whether the test uses a training dataset.
434
+ uses_training_dataset: nil,
435
+ # Whether the test uses a validation dataset.
436
+ uses_validation_dataset: nil
437
+ )
438
+ end
439
+
440
+ sig do
441
+ override.returns(
442
+ {
443
+ id: String,
444
+ comment_count: Integer,
445
+ creator_id: T.nilable(String),
446
+ date_archived: T.nilable(Time),
447
+ date_created: Time,
448
+ date_updated: Time,
449
+ description: T.nilable(T.anything),
450
+ name: String,
451
+ number: Integer,
452
+ origin_project_version_id: T.nilable(String),
453
+ subtype:
454
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol,
455
+ suggested: T::Boolean,
456
+ thresholds:
457
+ T::Array[
458
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold
459
+ ],
460
+ type:
461
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol,
462
+ archived: T::Boolean,
463
+ delay_window: T.nilable(Float),
464
+ evaluation_window: T.nilable(Float),
465
+ uses_ml_model: T::Boolean,
466
+ uses_production_data: T::Boolean,
467
+ uses_reference_dataset: T::Boolean,
468
+ uses_training_dataset: T::Boolean,
469
+ uses_validation_dataset: T::Boolean
470
+ }
471
+ )
472
+ end
473
+ def to_hash
474
+ end
475
+
476
+ # The test subtype.
477
+ module Subtype
478
+ extend Openlayer::Internal::Type::Enum
479
+
480
+ TaggedSymbol =
481
+ T.type_alias do
482
+ T.all(
483
+ Symbol,
484
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype
485
+ )
486
+ end
487
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
488
+
489
+ ANOMALOUS_COLUMN_COUNT =
490
+ T.let(
491
+ :anomalousColumnCount,
492
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
493
+ )
494
+ CHARACTER_LENGTH =
495
+ T.let(
496
+ :characterLength,
497
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
498
+ )
499
+ CLASS_IMBALANCE_RATIO =
500
+ T.let(
501
+ :classImbalanceRatio,
502
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
503
+ )
504
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
505
+ T.let(
506
+ :expectColumnAToBeInColumnB,
507
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
508
+ )
509
+ COLUMN_AVERAGE =
510
+ T.let(
511
+ :columnAverage,
512
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
513
+ )
514
+ COLUMN_DRIFT =
515
+ T.let(
516
+ :columnDrift,
517
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
518
+ )
519
+ COLUMN_STATISTIC =
520
+ T.let(
521
+ :columnStatistic,
522
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
523
+ )
524
+ COLUMN_VALUES_MATCH =
525
+ T.let(
526
+ :columnValuesMatch,
527
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
528
+ )
529
+ CONFLICTING_LABEL_ROW_COUNT =
530
+ T.let(
531
+ :conflictingLabelRowCount,
532
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
533
+ )
534
+ CONTAINS_PII =
535
+ T.let(
536
+ :containsPii,
537
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
538
+ )
539
+ CONTAINS_VALID_URL =
540
+ T.let(
541
+ :containsValidUrl,
542
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
543
+ )
544
+ CORRELATED_FEATURE_COUNT =
545
+ T.let(
546
+ :correlatedFeatureCount,
547
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
548
+ )
549
+ CUSTOM_METRIC_THRESHOLD =
550
+ T.let(
551
+ :customMetricThreshold,
552
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
553
+ )
554
+ DUPLICATE_ROW_COUNT =
555
+ T.let(
556
+ :duplicateRowCount,
557
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
558
+ )
559
+ EMPTY_FEATURE =
560
+ T.let(
561
+ :emptyFeature,
562
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
563
+ )
564
+ EMPTY_FEATURE_COUNT =
565
+ T.let(
566
+ :emptyFeatureCount,
567
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
568
+ )
569
+ DRIFTED_FEATURE_COUNT =
570
+ T.let(
571
+ :driftedFeatureCount,
572
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
573
+ )
574
+ FEATURE_MISSING_VALUES =
575
+ T.let(
576
+ :featureMissingValues,
577
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
578
+ )
579
+ FEATURE_VALUE_VALIDATION =
580
+ T.let(
581
+ :featureValueValidation,
582
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
583
+ )
584
+ GREAT_EXPECTATIONS =
585
+ T.let(
586
+ :greatExpectations,
587
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
588
+ )
589
+ GROUP_BY_COLUMN_STATS_CHECK =
590
+ T.let(
591
+ :groupByColumnStatsCheck,
592
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
593
+ )
594
+ ILL_FORMED_ROW_COUNT =
595
+ T.let(
596
+ :illFormedRowCount,
597
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
598
+ )
599
+ IS_CODE =
600
+ T.let(
601
+ :isCode,
602
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
603
+ )
604
+ IS_JSON =
605
+ T.let(
606
+ :isJson,
607
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
608
+ )
609
+ LLM_RUBRIC_THRESHOLD_V2 =
610
+ T.let(
611
+ :llmRubricThresholdV2,
612
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
613
+ )
614
+ LABEL_DRIFT =
615
+ T.let(
616
+ :labelDrift,
617
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
618
+ )
619
+ METRIC_THRESHOLD =
620
+ T.let(
621
+ :metricThreshold,
622
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
623
+ )
624
+ NEW_CATEGORY_COUNT =
625
+ T.let(
626
+ :newCategoryCount,
627
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
628
+ )
629
+ NEW_LABEL_COUNT =
630
+ T.let(
631
+ :newLabelCount,
632
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
633
+ )
634
+ NULL_ROW_COUNT =
635
+ T.let(
636
+ :nullRowCount,
637
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
638
+ )
639
+ ROW_COUNT =
640
+ T.let(
641
+ :rowCount,
642
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
643
+ )
644
+ PP_SCORE_VALUE_VALIDATION =
645
+ T.let(
646
+ :ppScoreValueValidation,
647
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
648
+ )
649
+ QUASI_CONSTANT_FEATURE =
650
+ T.let(
651
+ :quasiConstantFeature,
652
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
653
+ )
654
+ QUASI_CONSTANT_FEATURE_COUNT =
655
+ T.let(
656
+ :quasiConstantFeatureCount,
657
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
658
+ )
659
+ SQL_QUERY =
660
+ T.let(
661
+ :sqlQuery,
662
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
663
+ )
664
+ DTYPE_VALIDATION =
665
+ T.let(
666
+ :dtypeValidation,
667
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
668
+ )
669
+ SENTENCE_LENGTH =
670
+ T.let(
671
+ :sentenceLength,
672
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
673
+ )
674
+ SIZE_RATIO =
675
+ T.let(
676
+ :sizeRatio,
677
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
678
+ )
679
+ SPECIAL_CHARACTERS_RATIO =
680
+ T.let(
681
+ :specialCharactersRatio,
682
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
683
+ )
684
+ STRING_VALIDATION =
685
+ T.let(
686
+ :stringValidation,
687
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
688
+ )
689
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
690
+ T.let(
691
+ :trainValLeakageRowCount,
692
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
693
+ )
694
+
695
+ sig do
696
+ override.returns(
697
+ T::Array[
698
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Subtype::TaggedSymbol
699
+ ]
700
+ )
701
+ end
702
+ def self.values
703
+ end
704
+ end
705
+
706
+ class Threshold < Openlayer::Internal::Type::BaseModel
707
+ OrHash =
708
+ T.type_alias do
709
+ T.any(
710
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold,
711
+ Openlayer::Internal::AnyHash
712
+ )
713
+ end
714
+
715
+ # The insight name to be evaluated.
716
+ sig do
717
+ returns(
718
+ T.nilable(
719
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
720
+ )
721
+ )
722
+ end
723
+ attr_reader :insight_name
724
+
725
+ sig do
726
+ params(
727
+ insight_name:
728
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::OrSymbol
729
+ ).void
730
+ end
731
+ attr_writer :insight_name
732
+
733
+ # The insight parameters. Required only for some test subtypes. For example, for
734
+ # tests that require a column name, the insight parameters will be [{'name':
735
+ # 'column_name', 'value': 'Age'}]
736
+ sig do
737
+ returns(
738
+ T.nilable(
739
+ T::Array[
740
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightParameter
741
+ ]
742
+ )
743
+ )
744
+ end
745
+ attr_accessor :insight_parameters
746
+
747
+ # The measurement to be evaluated.
748
+ sig { returns(T.nilable(String)) }
749
+ attr_reader :measurement
750
+
751
+ sig { params(measurement: String).void }
752
+ attr_writer :measurement
753
+
754
+ # The operator to be used for the evaluation.
755
+ sig do
756
+ returns(
757
+ T.nilable(
758
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
759
+ )
760
+ )
761
+ end
762
+ attr_reader :operator
763
+
764
+ sig do
765
+ params(
766
+ operator:
767
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::OrSymbol
768
+ ).void
769
+ end
770
+ attr_writer :operator
771
+
772
+ # Whether to use automatic anomaly detection or manual thresholds
773
+ sig do
774
+ returns(
775
+ T.nilable(
776
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
777
+ )
778
+ )
779
+ end
780
+ attr_reader :threshold_mode
781
+
782
+ sig do
783
+ params(
784
+ threshold_mode:
785
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::OrSymbol
786
+ ).void
787
+ end
788
+ attr_writer :threshold_mode
789
+
790
+ # The value to be compared.
791
+ sig do
792
+ returns(
793
+ T.nilable(
794
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Value::Variants
795
+ )
796
+ )
797
+ end
798
+ attr_reader :value
799
+
800
+ sig do
801
+ params(
802
+ value:
803
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Value::Variants
804
+ ).void
805
+ end
806
+ attr_writer :value
807
+
808
+ sig do
809
+ params(
810
+ insight_name:
811
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::OrSymbol,
812
+ insight_parameters:
813
+ T.nilable(
814
+ T::Array[
815
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightParameter::OrHash
816
+ ]
817
+ ),
818
+ measurement: String,
819
+ operator:
820
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::OrSymbol,
821
+ threshold_mode:
822
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::OrSymbol,
823
+ value:
824
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Value::Variants
825
+ ).returns(T.attached_class)
826
+ end
827
+ def self.new(
828
+ # The insight name to be evaluated.
829
+ insight_name: nil,
830
+ # The insight parameters. Required only for some test subtypes. For example, for
831
+ # tests that require a column name, the insight parameters will be [{'name':
832
+ # 'column_name', 'value': 'Age'}]
833
+ insight_parameters: nil,
834
+ # The measurement to be evaluated.
835
+ measurement: nil,
836
+ # The operator to be used for the evaluation.
837
+ operator: nil,
838
+ # Whether to use automatic anomaly detection or manual thresholds
839
+ threshold_mode: nil,
840
+ # The value to be compared.
841
+ value: nil
842
+ )
843
+ end
844
+
845
+ sig do
846
+ override.returns(
847
+ {
848
+ insight_name:
849
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol,
850
+ insight_parameters:
851
+ T.nilable(
852
+ T::Array[
853
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightParameter
854
+ ]
855
+ ),
856
+ measurement: String,
857
+ operator:
858
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol,
859
+ threshold_mode:
860
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol,
861
+ value:
862
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Value::Variants
863
+ }
864
+ )
865
+ end
866
+ def to_hash
867
+ end
868
+
869
+ # The insight name to be evaluated.
870
+ module InsightName
871
+ extend Openlayer::Internal::Type::Enum
872
+
873
+ TaggedSymbol =
874
+ T.type_alias do
875
+ T.all(
876
+ Symbol,
877
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName
878
+ )
879
+ end
880
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
881
+
882
+ CHARACTER_LENGTH =
883
+ T.let(
884
+ :characterLength,
885
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
886
+ )
887
+ CLASS_IMBALANCE =
888
+ T.let(
889
+ :classImbalance,
890
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
891
+ )
892
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
893
+ T.let(
894
+ :expectColumnAToBeInColumnB,
895
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
896
+ )
897
+ COLUMN_AVERAGE =
898
+ T.let(
899
+ :columnAverage,
900
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
901
+ )
902
+ COLUMN_DRIFT =
903
+ T.let(
904
+ :columnDrift,
905
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
906
+ )
907
+ COLUMN_VALUES_MATCH =
908
+ T.let(
909
+ :columnValuesMatch,
910
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
911
+ )
912
+ CONFIDENCE_DISTRIBUTION =
913
+ T.let(
914
+ :confidenceDistribution,
915
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
916
+ )
917
+ CONFLICTING_LABEL_ROW_COUNT =
918
+ T.let(
919
+ :conflictingLabelRowCount,
920
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
921
+ )
922
+ CONTAINS_PII =
923
+ T.let(
924
+ :containsPii,
925
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
926
+ )
927
+ CONTAINS_VALID_URL =
928
+ T.let(
929
+ :containsValidUrl,
930
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
931
+ )
932
+ CORRELATED_FEATURES =
933
+ T.let(
934
+ :correlatedFeatures,
935
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
936
+ )
937
+ CUSTOM_METRIC =
938
+ T.let(
939
+ :customMetric,
940
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
941
+ )
942
+ DUPLICATE_ROW_COUNT =
943
+ T.let(
944
+ :duplicateRowCount,
945
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
946
+ )
947
+ EMPTY_FEATURES =
948
+ T.let(
949
+ :emptyFeatures,
950
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
951
+ )
952
+ FEATURE_DRIFT =
953
+ T.let(
954
+ :featureDrift,
955
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
956
+ )
957
+ FEATURE_PROFILE =
958
+ T.let(
959
+ :featureProfile,
960
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
961
+ )
962
+ GREAT_EXPECTATIONS =
963
+ T.let(
964
+ :greatExpectations,
965
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
966
+ )
967
+ GROUP_BY_COLUMN_STATS_CHECK =
968
+ T.let(
969
+ :groupByColumnStatsCheck,
970
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
971
+ )
972
+ ILL_FORMED_ROW_COUNT =
973
+ T.let(
974
+ :illFormedRowCount,
975
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
976
+ )
977
+ IS_CODE =
978
+ T.let(
979
+ :isCode,
980
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
981
+ )
982
+ IS_JSON =
983
+ T.let(
984
+ :isJson,
985
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
986
+ )
987
+ LLM_RUBRIC_V2 =
988
+ T.let(
989
+ :llmRubricV2,
990
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
991
+ )
992
+ LABEL_DRIFT =
993
+ T.let(
994
+ :labelDrift,
995
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
996
+ )
997
+ METRICS =
998
+ T.let(
999
+ :metrics,
1000
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1001
+ )
1002
+ NEW_CATEGORIES =
1003
+ T.let(
1004
+ :newCategories,
1005
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1006
+ )
1007
+ NEW_LABELS =
1008
+ T.let(
1009
+ :newLabels,
1010
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1011
+ )
1012
+ NULL_ROW_COUNT =
1013
+ T.let(
1014
+ :nullRowCount,
1015
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1016
+ )
1017
+ PP_SCORE =
1018
+ T.let(
1019
+ :ppScore,
1020
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1021
+ )
1022
+ QUASI_CONSTANT_FEATURES =
1023
+ T.let(
1024
+ :quasiConstantFeatures,
1025
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1026
+ )
1027
+ SENTENCE_LENGTH =
1028
+ T.let(
1029
+ :sentenceLength,
1030
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1031
+ )
1032
+ SIZE_RATIO =
1033
+ T.let(
1034
+ :sizeRatio,
1035
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1036
+ )
1037
+ SPECIAL_CHARACTERS =
1038
+ T.let(
1039
+ :specialCharacters,
1040
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1041
+ )
1042
+ STRING_VALIDATION =
1043
+ T.let(
1044
+ :stringValidation,
1045
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1046
+ )
1047
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
1048
+ T.let(
1049
+ :trainValLeakageRowCount,
1050
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1051
+ )
1052
+
1053
+ sig do
1054
+ override.returns(
1055
+ T::Array[
1056
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1057
+ ]
1058
+ )
1059
+ end
1060
+ def self.values
1061
+ end
1062
+ end
1063
+
1064
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
1065
+ OrHash =
1066
+ T.type_alias do
1067
+ T.any(
1068
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::InsightParameter,
1069
+ Openlayer::Internal::AnyHash
1070
+ )
1071
+ end
1072
+
1073
+ # The name of the insight filter.
1074
+ sig { returns(String) }
1075
+ attr_accessor :name
1076
+
1077
+ sig { returns(T.anything) }
1078
+ attr_accessor :value
1079
+
1080
+ sig do
1081
+ params(name: String, value: T.anything).returns(
1082
+ T.attached_class
1083
+ )
1084
+ end
1085
+ def self.new(
1086
+ # The name of the insight filter.
1087
+ name:,
1088
+ value:
1089
+ )
1090
+ end
1091
+
1092
+ sig { override.returns({ name: String, value: T.anything }) }
1093
+ def to_hash
1094
+ end
1095
+ end
1096
+
1097
+ # The operator to be used for the evaluation.
1098
+ module Operator
1099
+ extend Openlayer::Internal::Type::Enum
1100
+
1101
+ TaggedSymbol =
1102
+ T.type_alias do
1103
+ T.all(
1104
+ Symbol,
1105
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator
1106
+ )
1107
+ end
1108
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1109
+
1110
+ IS =
1111
+ T.let(
1112
+ :is,
1113
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1114
+ )
1115
+ GREATER =
1116
+ T.let(
1117
+ :">",
1118
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1119
+ )
1120
+ GREATER_OR_EQUALS =
1121
+ T.let(
1122
+ :">=",
1123
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1124
+ )
1125
+ LESS =
1126
+ T.let(
1127
+ :"<",
1128
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1129
+ )
1130
+ LESS_OR_EQUALS =
1131
+ T.let(
1132
+ :"<=",
1133
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1134
+ )
1135
+ NOT_EQUALS =
1136
+ T.let(
1137
+ :"!=",
1138
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1139
+ )
1140
+
1141
+ sig do
1142
+ override.returns(
1143
+ T::Array[
1144
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1145
+ ]
1146
+ )
1147
+ end
1148
+ def self.values
1149
+ end
1150
+ end
1151
+
1152
+ # Whether to use automatic anomaly detection or manual thresholds
1153
+ module ThresholdMode
1154
+ extend Openlayer::Internal::Type::Enum
1155
+
1156
+ TaggedSymbol =
1157
+ T.type_alias do
1158
+ T.all(
1159
+ Symbol,
1160
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode
1161
+ )
1162
+ end
1163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1164
+
1165
+ AUTOMATIC =
1166
+ T.let(
1167
+ :automatic,
1168
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1169
+ )
1170
+ MANUAL =
1171
+ T.let(
1172
+ :manual,
1173
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1174
+ )
1175
+
1176
+ sig do
1177
+ override.returns(
1178
+ T::Array[
1179
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1180
+ ]
1181
+ )
1182
+ end
1183
+ def self.values
1184
+ end
1185
+ end
1186
+
1187
+ # The value to be compared.
1188
+ module Value
1189
+ extend Openlayer::Internal::Type::Union
1190
+
1191
+ Variants =
1192
+ T.type_alias do
1193
+ T.any(Float, T::Boolean, String, T::Array[String])
1194
+ end
1195
+
1196
+ sig do
1197
+ override.returns(
1198
+ T::Array[
1199
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Threshold::Value::Variants
1200
+ ]
1201
+ )
1202
+ end
1203
+ def self.variants
1204
+ end
1205
+
1206
+ StringArray =
1207
+ T.let(
1208
+ Openlayer::Internal::Type::ArrayOf[String],
1209
+ Openlayer::Internal::Type::Converter
1210
+ )
1211
+ end
1212
+ end
1213
+
1214
+ # The test type.
1215
+ module Type
1216
+ extend Openlayer::Internal::Type::Enum
1217
+
1218
+ TaggedSymbol =
1219
+ T.type_alias do
1220
+ T.all(
1221
+ Symbol,
1222
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type
1223
+ )
1224
+ end
1225
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1226
+
1227
+ INTEGRITY =
1228
+ T.let(
1229
+ :integrity,
1230
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol
1231
+ )
1232
+ CONSISTENCY =
1233
+ T.let(
1234
+ :consistency,
1235
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol
1236
+ )
1237
+ PERFORMANCE =
1238
+ T.let(
1239
+ :performance,
1240
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol
1241
+ )
1242
+
1243
+ sig do
1244
+ override.returns(
1245
+ T::Array[
1246
+ Openlayer::Models::InferencePipelines::TestResultListResponse::Item::Goal::Type::TaggedSymbol
1247
+ ]
1248
+ )
1249
+ end
1250
+ def self.values
1251
+ end
1252
+ end
1253
+ end
1254
+ end
1255
+ end
1256
+ end
1257
+ end
1258
+ end