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