openlayer 0.9.0 → 0.10.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/models/commits/test_result_list_response.rb +286 -1
  5. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +53 -53
  6. data/lib/openlayer/models/inference_pipeline_update_response.rb +53 -53
  7. data/lib/openlayer/models/inference_pipelines/test_result_list_response.rb +286 -1
  8. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +68 -68
  9. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +53 -53
  10. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +53 -53
  11. data/lib/openlayer/models/test_list_results_params.rb +78 -0
  12. data/lib/openlayer/models/test_list_results_response.rb +1676 -0
  13. data/lib/openlayer/models/workspaces/invite_list_response.rb +1 -43
  14. data/lib/openlayer/models.rb +2 -0
  15. data/lib/openlayer/resources/projects/inference_pipelines.rb +1 -1
  16. data/lib/openlayer/resources/tests.rb +45 -0
  17. data/lib/openlayer/version.rb +1 -1
  18. data/lib/openlayer.rb +2 -0
  19. data/rbi/openlayer/models/commits/test_result_list_response.rbi +589 -3
  20. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +78 -78
  21. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +78 -78
  22. data/rbi/openlayer/models/inference_pipelines/test_result_list_response.rbi +589 -3
  23. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +105 -105
  24. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +78 -78
  25. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +78 -78
  26. data/rbi/openlayer/models/test_list_results_params.rbi +117 -0
  27. data/rbi/openlayer/models/test_list_results_response.rbi +3650 -0
  28. data/rbi/openlayer/models/workspaces/invite_list_response.rbi +1 -74
  29. data/rbi/openlayer/models.rbi +2 -0
  30. data/rbi/openlayer/resources/projects/inference_pipelines.rbi +6 -6
  31. data/rbi/openlayer/resources/tests.rbi +38 -0
  32. data/sig/openlayer/models/commits/test_result_list_response.rbs +253 -3
  33. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +63 -63
  34. data/sig/openlayer/models/inference_pipeline_update_response.rbs +63 -63
  35. data/sig/openlayer/models/inference_pipelines/test_result_list_response.rbs +253 -3
  36. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +73 -73
  37. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +63 -63
  38. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +63 -63
  39. data/sig/openlayer/models/test_list_results_params.rbs +73 -0
  40. data/sig/openlayer/models/test_list_results_response.rbs +1539 -0
  41. data/sig/openlayer/models/workspaces/invite_list_response.rbs +0 -37
  42. data/sig/openlayer/models.rbs +2 -0
  43. data/sig/openlayer/resources/tests.rbs +13 -0
  44. metadata +8 -2
@@ -0,0 +1,1676 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ # @see Openlayer::Resources::Tests#list_results
6
+ class TestListResultsResponse < Openlayer::Internal::Type::BaseModel
7
+ # @!attribute items
8
+ #
9
+ # @return [Array<Openlayer::Models::TestListResultsResponse::Item>]
10
+ required :items,
11
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::Item] }
12
+
13
+ # @!attribute last_unskipped_result
14
+ #
15
+ # @return [Openlayer::Models::TestListResultsResponse::LastUnskippedResult, nil]
16
+ optional :last_unskipped_result,
17
+ -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult },
18
+ api_name: :lastUnskippedResult,
19
+ nil?: true
20
+
21
+ # @!method initialize(items:, last_unskipped_result: nil)
22
+ # @param items [Array<Openlayer::Models::TestListResultsResponse::Item>]
23
+ # @param last_unskipped_result [Openlayer::Models::TestListResultsResponse::LastUnskippedResult, nil]
24
+
25
+ class Item < Openlayer::Internal::Type::BaseModel
26
+ # @!attribute status
27
+ # The status of the test.
28
+ #
29
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Status]
30
+ required :status, enum: -> { Openlayer::Models::TestListResultsResponse::Item::Status }
31
+
32
+ # @!attribute status_message
33
+ # The status message.
34
+ #
35
+ # @return [String, nil]
36
+ required :status_message, String, api_name: :statusMessage, nil?: true
37
+
38
+ # @!attribute expected_values
39
+ #
40
+ # @return [Array<Openlayer::Models::TestListResultsResponse::Item::ExpectedValue>, nil]
41
+ optional :expected_values,
42
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::Item::ExpectedValue] },
43
+ api_name: :expectedValues
44
+
45
+ # @!attribute goal
46
+ #
47
+ # @return [Openlayer::Models::TestListResultsResponse::Item::Goal, nil]
48
+ optional :goal, -> { Openlayer::Models::TestListResultsResponse::Item::Goal }
49
+
50
+ # @!attribute rows
51
+ # The URL to the rows of the test result.
52
+ #
53
+ # @return [String, nil]
54
+ optional :rows, String
55
+
56
+ # @!attribute rows_body
57
+ # The body of the rows request.
58
+ #
59
+ # @return [Openlayer::Models::TestListResultsResponse::Item::RowsBody, nil]
60
+ optional :rows_body,
61
+ -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody },
62
+ api_name: :rowsBody,
63
+ nil?: true
64
+
65
+ response_only do
66
+ # @!attribute id
67
+ # Project version (commit) id.
68
+ #
69
+ # @return [String]
70
+ required :id, String
71
+
72
+ # @!attribute date_created
73
+ # The creation date.
74
+ #
75
+ # @return [Time]
76
+ required :date_created, Time, api_name: :dateCreated
77
+
78
+ # @!attribute date_data_ends
79
+ # The data end date.
80
+ #
81
+ # @return [Time, nil]
82
+ required :date_data_ends, Time, api_name: :dateDataEnds, nil?: true
83
+
84
+ # @!attribute date_data_starts
85
+ # The data start date.
86
+ #
87
+ # @return [Time, nil]
88
+ required :date_data_starts, Time, api_name: :dateDataStarts, nil?: true
89
+
90
+ # @!attribute date_updated
91
+ # The last updated date.
92
+ #
93
+ # @return [Time]
94
+ required :date_updated, Time, api_name: :dateUpdated
95
+
96
+ # @!attribute inference_pipeline_id
97
+ # The inference pipeline id.
98
+ #
99
+ # @return [String, nil]
100
+ required :inference_pipeline_id, String, api_name: :inferencePipelineId, nil?: true
101
+
102
+ # @!attribute project_version_id
103
+ # The project version (commit) id.
104
+ #
105
+ # @return [String, nil]
106
+ required :project_version_id, String, api_name: :projectVersionId, nil?: true
107
+
108
+ # @!attribute goal_id
109
+ # The test id.
110
+ #
111
+ # @return [String, nil]
112
+ optional :goal_id, String, api_name: :goalId, nil?: true
113
+ end
114
+
115
+ # @!method initialize(id:, date_created:, date_data_ends:, date_data_starts:, date_updated:, inference_pipeline_id:, project_version_id:, status:, status_message:, expected_values: nil, goal: nil, goal_id: nil, rows: nil, rows_body: nil)
116
+ # @param id [String] Project version (commit) id.
117
+ #
118
+ # @param date_created [Time] The creation date.
119
+ #
120
+ # @param date_data_ends [Time, nil] The data end date.
121
+ #
122
+ # @param date_data_starts [Time, nil] The data start date.
123
+ #
124
+ # @param date_updated [Time] The last updated date.
125
+ #
126
+ # @param inference_pipeline_id [String, nil] The inference pipeline id.
127
+ #
128
+ # @param project_version_id [String, nil] The project version (commit) id.
129
+ #
130
+ # @param status [Symbol, Openlayer::Models::TestListResultsResponse::Item::Status] The status of the test.
131
+ #
132
+ # @param status_message [String, nil] The status message.
133
+ #
134
+ # @param expected_values [Array<Openlayer::Models::TestListResultsResponse::Item::ExpectedValue>]
135
+ #
136
+ # @param goal [Openlayer::Models::TestListResultsResponse::Item::Goal]
137
+ #
138
+ # @param goal_id [String, nil] The test id.
139
+ #
140
+ # @param rows [String] The URL to the rows of the test result.
141
+ #
142
+ # @param rows_body [Openlayer::Models::TestListResultsResponse::Item::RowsBody, nil] The body of the rows request.
143
+
144
+ # The status of the test.
145
+ #
146
+ # @see Openlayer::Models::TestListResultsResponse::Item#status
147
+ module Status
148
+ extend Openlayer::Internal::Type::Enum
149
+
150
+ RUNNING = :running
151
+ PASSING = :passing
152
+ FAILING = :failing
153
+ SKIPPED = :skipped
154
+ ERROR = :error
155
+
156
+ # @!method self.values
157
+ # @return [Array<Symbol>]
158
+ end
159
+
160
+ class ExpectedValue < Openlayer::Internal::Type::BaseModel
161
+ # @!attribute lower_threshold
162
+ # the lower threshold for the expected value
163
+ #
164
+ # @return [Float, nil]
165
+ optional :lower_threshold, Float, api_name: :lowerThreshold, nil?: true
166
+
167
+ # @!attribute measurement
168
+ # One of the `measurement` values in the test's thresholds
169
+ #
170
+ # @return [String, nil]
171
+ optional :measurement, String
172
+
173
+ # @!attribute upper_threshold
174
+ # The upper threshold for the expected value
175
+ #
176
+ # @return [Float, nil]
177
+ optional :upper_threshold, Float, api_name: :upperThreshold, nil?: true
178
+
179
+ # @!method initialize(lower_threshold: nil, measurement: nil, upper_threshold: nil)
180
+ # @param lower_threshold [Float, nil] the lower threshold for the expected value
181
+ #
182
+ # @param measurement [String] One of the `measurement` values in the test's thresholds
183
+ #
184
+ # @param upper_threshold [Float, nil] The upper threshold for the expected value
185
+ end
186
+
187
+ # @see Openlayer::Models::TestListResultsResponse::Item#goal
188
+ class Goal < Openlayer::Internal::Type::BaseModel
189
+ # @!attribute description
190
+ # The test description.
191
+ #
192
+ # @return [Object, nil]
193
+ required :description, Openlayer::Internal::Type::Unknown, nil?: true
194
+
195
+ # @!attribute name
196
+ # The test name.
197
+ #
198
+ # @return [String]
199
+ required :name, String
200
+
201
+ # @!attribute subtype
202
+ # The test subtype.
203
+ #
204
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype]
205
+ required :subtype, enum: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype }
206
+
207
+ # @!attribute thresholds
208
+ #
209
+ # @return [Array<Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold>]
210
+ required :thresholds,
211
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold] }
212
+
213
+ # @!attribute type
214
+ # The test type.
215
+ #
216
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Type]
217
+ required :type, enum: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Type }
218
+
219
+ # @!attribute archived
220
+ # Whether the test is archived.
221
+ #
222
+ # @return [Boolean, nil]
223
+ optional :archived, Openlayer::Internal::Type::Boolean
224
+
225
+ # @!attribute delay_window
226
+ # The delay window in seconds. Only applies to tests that use production data.
227
+ #
228
+ # @return [Float, nil]
229
+ optional :delay_window, Float, api_name: :delayWindow, nil?: true
230
+
231
+ # @!attribute evaluation_window
232
+ # The evaluation window in seconds. Only applies to tests that use production
233
+ # data.
234
+ #
235
+ # @return [Float, nil]
236
+ optional :evaluation_window, Float, api_name: :evaluationWindow, nil?: true
237
+
238
+ # @!attribute uses_ml_model
239
+ # Whether the test uses an ML model.
240
+ #
241
+ # @return [Boolean, nil]
242
+ optional :uses_ml_model, Openlayer::Internal::Type::Boolean, api_name: :usesMlModel
243
+
244
+ # @!attribute uses_production_data
245
+ # Whether the test uses production data (monitoring mode only).
246
+ #
247
+ # @return [Boolean, nil]
248
+ optional :uses_production_data, Openlayer::Internal::Type::Boolean, api_name: :usesProductionData
249
+
250
+ # @!attribute uses_reference_dataset
251
+ # Whether the test uses a reference dataset (monitoring mode only).
252
+ #
253
+ # @return [Boolean, nil]
254
+ optional :uses_reference_dataset,
255
+ Openlayer::Internal::Type::Boolean,
256
+ api_name: :usesReferenceDataset
257
+
258
+ # @!attribute uses_training_dataset
259
+ # Whether the test uses a training dataset.
260
+ #
261
+ # @return [Boolean, nil]
262
+ optional :uses_training_dataset, Openlayer::Internal::Type::Boolean, api_name: :usesTrainingDataset
263
+
264
+ # @!attribute uses_validation_dataset
265
+ # Whether the test uses a validation dataset.
266
+ #
267
+ # @return [Boolean, nil]
268
+ optional :uses_validation_dataset,
269
+ Openlayer::Internal::Type::Boolean,
270
+ api_name: :usesValidationDataset
271
+
272
+ response_only do
273
+ # @!attribute id
274
+ # The test id.
275
+ #
276
+ # @return [String]
277
+ required :id, String
278
+
279
+ # @!attribute comment_count
280
+ # The number of comments on the test.
281
+ #
282
+ # @return [Integer]
283
+ required :comment_count, Integer, api_name: :commentCount
284
+
285
+ # @!attribute creator_id
286
+ # The test creator id.
287
+ #
288
+ # @return [String, nil]
289
+ required :creator_id, String, api_name: :creatorId, nil?: true
290
+
291
+ # @!attribute date_archived
292
+ # The date the test was archived.
293
+ #
294
+ # @return [Time, nil]
295
+ required :date_archived, Time, api_name: :dateArchived, nil?: true
296
+
297
+ # @!attribute date_created
298
+ # The creation date.
299
+ #
300
+ # @return [Time]
301
+ required :date_created, Time, api_name: :dateCreated
302
+
303
+ # @!attribute date_updated
304
+ # The last updated date.
305
+ #
306
+ # @return [Time]
307
+ required :date_updated, Time, api_name: :dateUpdated
308
+
309
+ # @!attribute number
310
+ # The test number.
311
+ #
312
+ # @return [Integer]
313
+ required :number, Integer
314
+
315
+ # @!attribute origin_project_version_id
316
+ # The project version (commit) id where the test was created.
317
+ #
318
+ # @return [String, nil]
319
+ required :origin_project_version_id, String, api_name: :originProjectVersionId, nil?: true
320
+
321
+ # @!attribute suggested
322
+ # Whether the test is suggested or user-created.
323
+ #
324
+ # @return [Boolean]
325
+ required :suggested, Openlayer::Internal::Type::Boolean
326
+ end
327
+
328
+ # @!method initialize(id:, comment_count:, creator_id:, date_archived:, date_created:, date_updated:, description:, name:, number:, origin_project_version_id:, subtype:, suggested:, thresholds:, type:, archived: nil, delay_window: nil, evaluation_window: nil, uses_ml_model: nil, uses_production_data: nil, uses_reference_dataset: nil, uses_training_dataset: nil, uses_validation_dataset: nil)
329
+ # Some parameter documentations has been truncated, see
330
+ # {Openlayer::Models::TestListResultsResponse::Item::Goal} for more details.
331
+ #
332
+ # @param id [String] The test id.
333
+ #
334
+ # @param comment_count [Integer] The number of comments on the test.
335
+ #
336
+ # @param creator_id [String, nil] The test creator id.
337
+ #
338
+ # @param date_archived [Time, nil] The date the test was archived.
339
+ #
340
+ # @param date_created [Time] The creation date.
341
+ #
342
+ # @param date_updated [Time] The last updated date.
343
+ #
344
+ # @param description [Object, nil] The test description.
345
+ #
346
+ # @param name [String] The test name.
347
+ #
348
+ # @param number [Integer] The test number.
349
+ #
350
+ # @param origin_project_version_id [String, nil] The project version (commit) id where the test was created.
351
+ #
352
+ # @param subtype [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype] The test subtype.
353
+ #
354
+ # @param suggested [Boolean] Whether the test is suggested or user-created.
355
+ #
356
+ # @param thresholds [Array<Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold>]
357
+ #
358
+ # @param type [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Type] The test type.
359
+ #
360
+ # @param archived [Boolean] Whether the test is archived.
361
+ #
362
+ # @param delay_window [Float, nil] The delay window in seconds. Only applies to tests that use production data.
363
+ #
364
+ # @param evaluation_window [Float, nil] The evaluation window in seconds. Only applies to tests that use production data
365
+ #
366
+ # @param uses_ml_model [Boolean] Whether the test uses an ML model.
367
+ #
368
+ # @param uses_production_data [Boolean] Whether the test uses production data (monitoring mode only).
369
+ #
370
+ # @param uses_reference_dataset [Boolean] Whether the test uses a reference dataset (monitoring mode only).
371
+ #
372
+ # @param uses_training_dataset [Boolean] Whether the test uses a training dataset.
373
+ #
374
+ # @param uses_validation_dataset [Boolean] Whether the test uses a validation dataset.
375
+
376
+ # The test subtype.
377
+ #
378
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal#subtype
379
+ module Subtype
380
+ extend Openlayer::Internal::Type::Enum
381
+
382
+ ANOMALOUS_COLUMN_COUNT = :anomalousColumnCount
383
+ CHARACTER_LENGTH = :characterLength
384
+ CLASS_IMBALANCE_RATIO = :classImbalanceRatio
385
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
386
+ COLUMN_AVERAGE = :columnAverage
387
+ COLUMN_DRIFT = :columnDrift
388
+ COLUMN_STATISTIC = :columnStatistic
389
+ COLUMN_VALUES_MATCH = :columnValuesMatch
390
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
391
+ CONTAINS_PII = :containsPii
392
+ CONTAINS_VALID_URL = :containsValidUrl
393
+ CORRELATED_FEATURE_COUNT = :correlatedFeatureCount
394
+ CUSTOM_METRIC_THRESHOLD = :customMetricThreshold
395
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
396
+ EMPTY_FEATURE = :emptyFeature
397
+ EMPTY_FEATURE_COUNT = :emptyFeatureCount
398
+ DRIFTED_FEATURE_COUNT = :driftedFeatureCount
399
+ FEATURE_MISSING_VALUES = :featureMissingValues
400
+ FEATURE_VALUE_VALIDATION = :featureValueValidation
401
+ GREAT_EXPECTATIONS = :greatExpectations
402
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
403
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
404
+ IS_CODE = :isCode
405
+ IS_JSON = :isJson
406
+ LLM_RUBRIC_THRESHOLD_V2 = :llmRubricThresholdV2
407
+ LABEL_DRIFT = :labelDrift
408
+ METRIC_THRESHOLD = :metricThreshold
409
+ NEW_CATEGORY_COUNT = :newCategoryCount
410
+ NEW_LABEL_COUNT = :newLabelCount
411
+ NULL_ROW_COUNT = :nullRowCount
412
+ ROW_COUNT = :rowCount
413
+ PP_SCORE_VALUE_VALIDATION = :ppScoreValueValidation
414
+ QUASI_CONSTANT_FEATURE = :quasiConstantFeature
415
+ QUASI_CONSTANT_FEATURE_COUNT = :quasiConstantFeatureCount
416
+ SQL_QUERY = :sqlQuery
417
+ DTYPE_VALIDATION = :dtypeValidation
418
+ SENTENCE_LENGTH = :sentenceLength
419
+ SIZE_RATIO = :sizeRatio
420
+ SPECIAL_CHARACTERS_RATIO = :specialCharactersRatio
421
+ STRING_VALIDATION = :stringValidation
422
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
423
+
424
+ # @!method self.values
425
+ # @return [Array<Symbol>]
426
+ end
427
+
428
+ class Threshold < Openlayer::Internal::Type::BaseModel
429
+ # @!attribute insight_name
430
+ # The insight name to be evaluated.
431
+ #
432
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName, nil]
433
+ optional :insight_name,
434
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName },
435
+ api_name: :insightName
436
+
437
+ # @!attribute insight_parameters
438
+ # The insight parameters. Required only for some test subtypes. For example, for
439
+ # tests that require a column name, the insight parameters will be [{'name':
440
+ # 'column_name', 'value': 'Age'}]
441
+ #
442
+ # @return [Array<Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter>, nil]
443
+ optional :insight_parameters,
444
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter] },
445
+ api_name: :insightParameters,
446
+ nil?: true
447
+
448
+ # @!attribute measurement
449
+ # The measurement to be evaluated.
450
+ #
451
+ # @return [String, nil]
452
+ optional :measurement, String
453
+
454
+ # @!attribute operator
455
+ # The operator to be used for the evaluation.
456
+ #
457
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator, nil]
458
+ optional :operator,
459
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator }
460
+
461
+ # @!attribute threshold_mode
462
+ # Whether to use automatic anomaly detection or manual thresholds
463
+ #
464
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode, nil]
465
+ optional :threshold_mode,
466
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode },
467
+ api_name: :thresholdMode
468
+
469
+ # @!attribute value
470
+ # The value to be compared.
471
+ #
472
+ # @return [Float, Boolean, String, Array<String>, nil]
473
+ optional :value, union: -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value }
474
+
475
+ # @!method initialize(insight_name: nil, insight_parameters: nil, measurement: nil, operator: nil, threshold_mode: nil, value: nil)
476
+ # Some parameter documentations has been truncated, see
477
+ # {Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold} for more
478
+ # details.
479
+ #
480
+ # @param insight_name [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName] The insight name to be evaluated.
481
+ #
482
+ # @param insight_parameters [Array<Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter>, nil] The insight parameters. Required only for some test subtypes. For example, for t
483
+ #
484
+ # @param measurement [String] The measurement to be evaluated.
485
+ #
486
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator] The operator to be used for the evaluation.
487
+ #
488
+ # @param threshold_mode [Symbol, Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode] Whether to use automatic anomaly detection or manual thresholds
489
+ #
490
+ # @param value [Float, Boolean, String, Array<String>] The value to be compared.
491
+
492
+ # The insight name to be evaluated.
493
+ #
494
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold#insight_name
495
+ module InsightName
496
+ extend Openlayer::Internal::Type::Enum
497
+
498
+ CHARACTER_LENGTH = :characterLength
499
+ CLASS_IMBALANCE = :classImbalance
500
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
501
+ COLUMN_AVERAGE = :columnAverage
502
+ COLUMN_DRIFT = :columnDrift
503
+ COLUMN_VALUES_MATCH = :columnValuesMatch
504
+ CONFIDENCE_DISTRIBUTION = :confidenceDistribution
505
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
506
+ CONTAINS_PII = :containsPii
507
+ CONTAINS_VALID_URL = :containsValidUrl
508
+ CORRELATED_FEATURES = :correlatedFeatures
509
+ CUSTOM_METRIC = :customMetric
510
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
511
+ EMPTY_FEATURES = :emptyFeatures
512
+ FEATURE_DRIFT = :featureDrift
513
+ FEATURE_PROFILE = :featureProfile
514
+ GREAT_EXPECTATIONS = :greatExpectations
515
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
516
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
517
+ IS_CODE = :isCode
518
+ IS_JSON = :isJson
519
+ LLM_RUBRIC_V2 = :llmRubricV2
520
+ LABEL_DRIFT = :labelDrift
521
+ METRICS = :metrics
522
+ NEW_CATEGORIES = :newCategories
523
+ NEW_LABELS = :newLabels
524
+ NULL_ROW_COUNT = :nullRowCount
525
+ PP_SCORE = :ppScore
526
+ QUASI_CONSTANT_FEATURES = :quasiConstantFeatures
527
+ SENTENCE_LENGTH = :sentenceLength
528
+ SIZE_RATIO = :sizeRatio
529
+ SPECIAL_CHARACTERS = :specialCharacters
530
+ STRING_VALIDATION = :stringValidation
531
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
532
+
533
+ # @!method self.values
534
+ # @return [Array<Symbol>]
535
+ end
536
+
537
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
538
+ # @!attribute name
539
+ # The name of the insight filter.
540
+ #
541
+ # @return [String]
542
+ required :name, String
543
+
544
+ # @!attribute value
545
+ #
546
+ # @return [Object]
547
+ required :value, Openlayer::Internal::Type::Unknown
548
+
549
+ # @!method initialize(name:, value:)
550
+ # @param name [String] The name of the insight filter.
551
+ #
552
+ # @param value [Object]
553
+ end
554
+
555
+ # The operator to be used for the evaluation.
556
+ #
557
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold#operator
558
+ module Operator
559
+ extend Openlayer::Internal::Type::Enum
560
+
561
+ IS = :is
562
+ GREATER = :>
563
+ GREATER_OR_EQUALS = :">="
564
+ LESS = :<
565
+ LESS_OR_EQUALS = :"<="
566
+ NOT_EQUALS = :"!="
567
+
568
+ # @!method self.values
569
+ # @return [Array<Symbol>]
570
+ end
571
+
572
+ # Whether to use automatic anomaly detection or manual thresholds
573
+ #
574
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold#threshold_mode
575
+ module ThresholdMode
576
+ extend Openlayer::Internal::Type::Enum
577
+
578
+ AUTOMATIC = :automatic
579
+ MANUAL = :manual
580
+
581
+ # @!method self.values
582
+ # @return [Array<Symbol>]
583
+ end
584
+
585
+ # The value to be compared.
586
+ #
587
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold#value
588
+ module Value
589
+ extend Openlayer::Internal::Type::Union
590
+
591
+ variant Float
592
+
593
+ variant Openlayer::Internal::Type::Boolean
594
+
595
+ variant String
596
+
597
+ variant -> { Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::StringArray }
598
+
599
+ # @!method self.variants
600
+ # @return [Array(Float, Boolean, String, Array<String>)]
601
+
602
+ # @type [Openlayer::Internal::Type::Converter]
603
+ StringArray = Openlayer::Internal::Type::ArrayOf[String]
604
+ end
605
+ end
606
+
607
+ # The test type.
608
+ #
609
+ # @see Openlayer::Models::TestListResultsResponse::Item::Goal#type
610
+ module Type
611
+ extend Openlayer::Internal::Type::Enum
612
+
613
+ INTEGRITY = :integrity
614
+ CONSISTENCY = :consistency
615
+ PERFORMANCE = :performance
616
+
617
+ # @!method self.values
618
+ # @return [Array<Symbol>]
619
+ end
620
+ end
621
+
622
+ # @see Openlayer::Models::TestListResultsResponse::Item#rows_body
623
+ class RowsBody < Openlayer::Internal::Type::BaseModel
624
+ # @!attribute column_filters
625
+ #
626
+ # @return [Array<Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter>, nil]
627
+ optional :column_filters,
628
+ -> { Openlayer::Internal::Type::ArrayOf[union: Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter] },
629
+ api_name: :columnFilters,
630
+ nil?: true
631
+
632
+ # @!attribute exclude_row_id_list
633
+ #
634
+ # @return [Array<Integer>, nil]
635
+ optional :exclude_row_id_list,
636
+ Openlayer::Internal::Type::ArrayOf[Integer],
637
+ api_name: :excludeRowIdList,
638
+ nil?: true
639
+
640
+ # @!attribute not_search_query_and
641
+ #
642
+ # @return [Array<String>, nil]
643
+ optional :not_search_query_and,
644
+ Openlayer::Internal::Type::ArrayOf[String],
645
+ api_name: :notSearchQueryAnd,
646
+ nil?: true
647
+
648
+ # @!attribute not_search_query_or
649
+ #
650
+ # @return [Array<String>, nil]
651
+ optional :not_search_query_or,
652
+ Openlayer::Internal::Type::ArrayOf[String],
653
+ api_name: :notSearchQueryOr,
654
+ nil?: true
655
+
656
+ # @!attribute row_id_list
657
+ #
658
+ # @return [Array<Integer>, nil]
659
+ optional :row_id_list, Openlayer::Internal::Type::ArrayOf[Integer], api_name: :rowIdList, nil?: true
660
+
661
+ # @!attribute search_query_and
662
+ #
663
+ # @return [Array<String>, nil]
664
+ optional :search_query_and,
665
+ Openlayer::Internal::Type::ArrayOf[String],
666
+ api_name: :searchQueryAnd,
667
+ nil?: true
668
+
669
+ # @!attribute search_query_or
670
+ #
671
+ # @return [Array<String>, nil]
672
+ optional :search_query_or,
673
+ Openlayer::Internal::Type::ArrayOf[String],
674
+ api_name: :searchQueryOr,
675
+ nil?: true
676
+
677
+ # @!method initialize(column_filters: nil, exclude_row_id_list: nil, not_search_query_and: nil, not_search_query_or: nil, row_id_list: nil, search_query_and: nil, search_query_or: nil)
678
+ # The body of the rows request.
679
+ #
680
+ # @param column_filters [Array<Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter>, nil]
681
+ # @param exclude_row_id_list [Array<Integer>, nil]
682
+ # @param not_search_query_and [Array<String>, nil]
683
+ # @param not_search_query_or [Array<String>, nil]
684
+ # @param row_id_list [Array<Integer>, nil]
685
+ # @param search_query_and [Array<String>, nil]
686
+ # @param search_query_or [Array<String>, nil]
687
+
688
+ module ColumnFilter
689
+ extend Openlayer::Internal::Type::Union
690
+
691
+ variant -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter }
692
+
693
+ variant -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter }
694
+
695
+ variant -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter }
696
+
697
+ class SetColumnFilter < Openlayer::Internal::Type::BaseModel
698
+ # @!attribute measurement
699
+ # The name of the column.
700
+ #
701
+ # @return [String]
702
+ required :measurement, String
703
+
704
+ # @!attribute operator
705
+ #
706
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator]
707
+ required :operator,
708
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator }
709
+
710
+ # @!attribute value
711
+ #
712
+ # @return [Array<String, Float>]
713
+ required :value,
714
+ -> { Openlayer::Internal::Type::ArrayOf[union: Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Value] }
715
+
716
+ # @!method initialize(measurement:, operator:, value:)
717
+ # @param measurement [String] The name of the column.
718
+ #
719
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator]
720
+ #
721
+ # @param value [Array<String, Float>]
722
+
723
+ # @see Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter#operator
724
+ module Operator
725
+ extend Openlayer::Internal::Type::Enum
726
+
727
+ CONTAINS_NONE = :contains_none
728
+ CONTAINS_ANY = :contains_any
729
+ CONTAINS_ALL = :contains_all
730
+ ONE_OF = :one_of
731
+ NONE_OF = :none_of
732
+
733
+ # @!method self.values
734
+ # @return [Array<Symbol>]
735
+ end
736
+
737
+ module Value
738
+ extend Openlayer::Internal::Type::Union
739
+
740
+ variant String
741
+
742
+ variant Float
743
+
744
+ # @!method self.variants
745
+ # @return [Array(String, Float)]
746
+ end
747
+ end
748
+
749
+ class NumericColumnFilter < Openlayer::Internal::Type::BaseModel
750
+ # @!attribute measurement
751
+ # The name of the column.
752
+ #
753
+ # @return [String]
754
+ required :measurement, String
755
+
756
+ # @!attribute operator
757
+ #
758
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator]
759
+ required :operator,
760
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator }
761
+
762
+ # @!attribute value
763
+ #
764
+ # @return [Float, nil]
765
+ required :value, Float, nil?: true
766
+
767
+ # @!method initialize(measurement:, operator:, value:)
768
+ # @param measurement [String] The name of the column.
769
+ #
770
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator]
771
+ #
772
+ # @param value [Float, nil]
773
+
774
+ # @see Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter#operator
775
+ module Operator
776
+ extend Openlayer::Internal::Type::Enum
777
+
778
+ GREATER = :>
779
+ GREATER_OR_EQUALS = :">="
780
+ IS = :is
781
+ LESS = :<
782
+ LESS_OR_EQUALS = :"<="
783
+ NOT_EQUALS = :"!="
784
+
785
+ # @!method self.values
786
+ # @return [Array<Symbol>]
787
+ end
788
+ end
789
+
790
+ class StringColumnFilter < Openlayer::Internal::Type::BaseModel
791
+ # @!attribute measurement
792
+ # The name of the column.
793
+ #
794
+ # @return [String]
795
+ required :measurement, String
796
+
797
+ # @!attribute operator
798
+ #
799
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator]
800
+ required :operator,
801
+ enum: -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator }
802
+
803
+ # @!attribute value
804
+ #
805
+ # @return [String, Boolean]
806
+ required :value,
807
+ union: -> { Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Value }
808
+
809
+ # @!method initialize(measurement:, operator:, value:)
810
+ # @param measurement [String] The name of the column.
811
+ #
812
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator]
813
+ #
814
+ # @param value [String, Boolean]
815
+
816
+ # @see Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter#operator
817
+ module Operator
818
+ extend Openlayer::Internal::Type::Enum
819
+
820
+ IS = :is
821
+ NOT_EQUALS = :"!="
822
+
823
+ # @!method self.values
824
+ # @return [Array<Symbol>]
825
+ end
826
+
827
+ # @see Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter#value
828
+ module Value
829
+ extend Openlayer::Internal::Type::Union
830
+
831
+ variant String
832
+
833
+ variant Openlayer::Internal::Type::Boolean
834
+
835
+ # @!method self.variants
836
+ # @return [Array(String, Boolean)]
837
+ end
838
+ end
839
+
840
+ # @!method self.variants
841
+ # @return [Array(Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter)]
842
+ end
843
+ end
844
+ end
845
+
846
+ # @see Openlayer::Models::TestListResultsResponse#last_unskipped_result
847
+ class LastUnskippedResult < Openlayer::Internal::Type::BaseModel
848
+ # @!attribute status
849
+ # The status of the test.
850
+ #
851
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status]
852
+ required :status, enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status }
853
+
854
+ # @!attribute status_message
855
+ # The status message.
856
+ #
857
+ # @return [String, nil]
858
+ required :status_message, String, api_name: :statusMessage, nil?: true
859
+
860
+ # @!attribute expected_values
861
+ #
862
+ # @return [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue>, nil]
863
+ optional :expected_values,
864
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue] },
865
+ api_name: :expectedValues
866
+
867
+ # @!attribute goal
868
+ #
869
+ # @return [Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal, nil]
870
+ optional :goal, -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal }
871
+
872
+ # @!attribute rows
873
+ # The URL to the rows of the test result.
874
+ #
875
+ # @return [String, nil]
876
+ optional :rows, String
877
+
878
+ # @!attribute rows_body
879
+ # The body of the rows request.
880
+ #
881
+ # @return [Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody, nil]
882
+ optional :rows_body,
883
+ -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody },
884
+ api_name: :rowsBody,
885
+ nil?: true
886
+
887
+ response_only do
888
+ # @!attribute id
889
+ # Project version (commit) id.
890
+ #
891
+ # @return [String]
892
+ required :id, String
893
+
894
+ # @!attribute date_created
895
+ # The creation date.
896
+ #
897
+ # @return [Time]
898
+ required :date_created, Time, api_name: :dateCreated
899
+
900
+ # @!attribute date_data_ends
901
+ # The data end date.
902
+ #
903
+ # @return [Time, nil]
904
+ required :date_data_ends, Time, api_name: :dateDataEnds, nil?: true
905
+
906
+ # @!attribute date_data_starts
907
+ # The data start date.
908
+ #
909
+ # @return [Time, nil]
910
+ required :date_data_starts, Time, api_name: :dateDataStarts, nil?: true
911
+
912
+ # @!attribute date_updated
913
+ # The last updated date.
914
+ #
915
+ # @return [Time]
916
+ required :date_updated, Time, api_name: :dateUpdated
917
+
918
+ # @!attribute inference_pipeline_id
919
+ # The inference pipeline id.
920
+ #
921
+ # @return [String, nil]
922
+ required :inference_pipeline_id, String, api_name: :inferencePipelineId, nil?: true
923
+
924
+ # @!attribute project_version_id
925
+ # The project version (commit) id.
926
+ #
927
+ # @return [String, nil]
928
+ required :project_version_id, String, api_name: :projectVersionId, nil?: true
929
+
930
+ # @!attribute goal_id
931
+ # The test id.
932
+ #
933
+ # @return [String, nil]
934
+ optional :goal_id, String, api_name: :goalId, nil?: true
935
+ end
936
+
937
+ # @!method initialize(id:, date_created:, date_data_ends:, date_data_starts:, date_updated:, inference_pipeline_id:, project_version_id:, status:, status_message:, expected_values: nil, goal: nil, goal_id: nil, rows: nil, rows_body: nil)
938
+ # @param id [String] Project version (commit) id.
939
+ #
940
+ # @param date_created [Time] The creation date.
941
+ #
942
+ # @param date_data_ends [Time, nil] The data end date.
943
+ #
944
+ # @param date_data_starts [Time, nil] The data start date.
945
+ #
946
+ # @param date_updated [Time] The last updated date.
947
+ #
948
+ # @param inference_pipeline_id [String, nil] The inference pipeline id.
949
+ #
950
+ # @param project_version_id [String, nil] The project version (commit) id.
951
+ #
952
+ # @param status [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status] The status of the test.
953
+ #
954
+ # @param status_message [String, nil] The status message.
955
+ #
956
+ # @param expected_values [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue>]
957
+ #
958
+ # @param goal [Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal]
959
+ #
960
+ # @param goal_id [String, nil] The test id.
961
+ #
962
+ # @param rows [String] The URL to the rows of the test result.
963
+ #
964
+ # @param rows_body [Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody, nil] The body of the rows request.
965
+
966
+ # The status of the test.
967
+ #
968
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult#status
969
+ module Status
970
+ extend Openlayer::Internal::Type::Enum
971
+
972
+ RUNNING = :running
973
+ PASSING = :passing
974
+ FAILING = :failing
975
+ SKIPPED = :skipped
976
+ ERROR = :error
977
+
978
+ # @!method self.values
979
+ # @return [Array<Symbol>]
980
+ end
981
+
982
+ class ExpectedValue < Openlayer::Internal::Type::BaseModel
983
+ # @!attribute lower_threshold
984
+ # the lower threshold for the expected value
985
+ #
986
+ # @return [Float, nil]
987
+ optional :lower_threshold, Float, api_name: :lowerThreshold, nil?: true
988
+
989
+ # @!attribute measurement
990
+ # One of the `measurement` values in the test's thresholds
991
+ #
992
+ # @return [String, nil]
993
+ optional :measurement, String
994
+
995
+ # @!attribute upper_threshold
996
+ # The upper threshold for the expected value
997
+ #
998
+ # @return [Float, nil]
999
+ optional :upper_threshold, Float, api_name: :upperThreshold, nil?: true
1000
+
1001
+ # @!method initialize(lower_threshold: nil, measurement: nil, upper_threshold: nil)
1002
+ # @param lower_threshold [Float, nil] the lower threshold for the expected value
1003
+ #
1004
+ # @param measurement [String] One of the `measurement` values in the test's thresholds
1005
+ #
1006
+ # @param upper_threshold [Float, nil] The upper threshold for the expected value
1007
+ end
1008
+
1009
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult#goal
1010
+ class Goal < Openlayer::Internal::Type::BaseModel
1011
+ # @!attribute description
1012
+ # The test description.
1013
+ #
1014
+ # @return [Object, nil]
1015
+ required :description, Openlayer::Internal::Type::Unknown, nil?: true
1016
+
1017
+ # @!attribute name
1018
+ # The test name.
1019
+ #
1020
+ # @return [String]
1021
+ required :name, String
1022
+
1023
+ # @!attribute subtype
1024
+ # The test subtype.
1025
+ #
1026
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype]
1027
+ required :subtype,
1028
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype }
1029
+
1030
+ # @!attribute thresholds
1031
+ #
1032
+ # @return [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold>]
1033
+ required :thresholds,
1034
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold] }
1035
+
1036
+ # @!attribute type
1037
+ # The test type.
1038
+ #
1039
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type]
1040
+ required :type, enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type }
1041
+
1042
+ # @!attribute archived
1043
+ # Whether the test is archived.
1044
+ #
1045
+ # @return [Boolean, nil]
1046
+ optional :archived, Openlayer::Internal::Type::Boolean
1047
+
1048
+ # @!attribute delay_window
1049
+ # The delay window in seconds. Only applies to tests that use production data.
1050
+ #
1051
+ # @return [Float, nil]
1052
+ optional :delay_window, Float, api_name: :delayWindow, nil?: true
1053
+
1054
+ # @!attribute evaluation_window
1055
+ # The evaluation window in seconds. Only applies to tests that use production
1056
+ # data.
1057
+ #
1058
+ # @return [Float, nil]
1059
+ optional :evaluation_window, Float, api_name: :evaluationWindow, nil?: true
1060
+
1061
+ # @!attribute uses_ml_model
1062
+ # Whether the test uses an ML model.
1063
+ #
1064
+ # @return [Boolean, nil]
1065
+ optional :uses_ml_model, Openlayer::Internal::Type::Boolean, api_name: :usesMlModel
1066
+
1067
+ # @!attribute uses_production_data
1068
+ # Whether the test uses production data (monitoring mode only).
1069
+ #
1070
+ # @return [Boolean, nil]
1071
+ optional :uses_production_data, Openlayer::Internal::Type::Boolean, api_name: :usesProductionData
1072
+
1073
+ # @!attribute uses_reference_dataset
1074
+ # Whether the test uses a reference dataset (monitoring mode only).
1075
+ #
1076
+ # @return [Boolean, nil]
1077
+ optional :uses_reference_dataset,
1078
+ Openlayer::Internal::Type::Boolean,
1079
+ api_name: :usesReferenceDataset
1080
+
1081
+ # @!attribute uses_training_dataset
1082
+ # Whether the test uses a training dataset.
1083
+ #
1084
+ # @return [Boolean, nil]
1085
+ optional :uses_training_dataset, Openlayer::Internal::Type::Boolean, api_name: :usesTrainingDataset
1086
+
1087
+ # @!attribute uses_validation_dataset
1088
+ # Whether the test uses a validation dataset.
1089
+ #
1090
+ # @return [Boolean, nil]
1091
+ optional :uses_validation_dataset,
1092
+ Openlayer::Internal::Type::Boolean,
1093
+ api_name: :usesValidationDataset
1094
+
1095
+ response_only do
1096
+ # @!attribute id
1097
+ # The test id.
1098
+ #
1099
+ # @return [String]
1100
+ required :id, String
1101
+
1102
+ # @!attribute comment_count
1103
+ # The number of comments on the test.
1104
+ #
1105
+ # @return [Integer]
1106
+ required :comment_count, Integer, api_name: :commentCount
1107
+
1108
+ # @!attribute creator_id
1109
+ # The test creator id.
1110
+ #
1111
+ # @return [String, nil]
1112
+ required :creator_id, String, api_name: :creatorId, nil?: true
1113
+
1114
+ # @!attribute date_archived
1115
+ # The date the test was archived.
1116
+ #
1117
+ # @return [Time, nil]
1118
+ required :date_archived, Time, api_name: :dateArchived, nil?: true
1119
+
1120
+ # @!attribute date_created
1121
+ # The creation date.
1122
+ #
1123
+ # @return [Time]
1124
+ required :date_created, Time, api_name: :dateCreated
1125
+
1126
+ # @!attribute date_updated
1127
+ # The last updated date.
1128
+ #
1129
+ # @return [Time]
1130
+ required :date_updated, Time, api_name: :dateUpdated
1131
+
1132
+ # @!attribute number
1133
+ # The test number.
1134
+ #
1135
+ # @return [Integer]
1136
+ required :number, Integer
1137
+
1138
+ # @!attribute origin_project_version_id
1139
+ # The project version (commit) id where the test was created.
1140
+ #
1141
+ # @return [String, nil]
1142
+ required :origin_project_version_id, String, api_name: :originProjectVersionId, nil?: true
1143
+
1144
+ # @!attribute suggested
1145
+ # Whether the test is suggested or user-created.
1146
+ #
1147
+ # @return [Boolean]
1148
+ required :suggested, Openlayer::Internal::Type::Boolean
1149
+ end
1150
+
1151
+ # @!method initialize(id:, comment_count:, creator_id:, date_archived:, date_created:, date_updated:, description:, name:, number:, origin_project_version_id:, subtype:, suggested:, thresholds:, type:, archived: nil, delay_window: nil, evaluation_window: nil, uses_ml_model: nil, uses_production_data: nil, uses_reference_dataset: nil, uses_training_dataset: nil, uses_validation_dataset: nil)
1152
+ # Some parameter documentations has been truncated, see
1153
+ # {Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal} for more
1154
+ # details.
1155
+ #
1156
+ # @param id [String] The test id.
1157
+ #
1158
+ # @param comment_count [Integer] The number of comments on the test.
1159
+ #
1160
+ # @param creator_id [String, nil] The test creator id.
1161
+ #
1162
+ # @param date_archived [Time, nil] The date the test was archived.
1163
+ #
1164
+ # @param date_created [Time] The creation date.
1165
+ #
1166
+ # @param date_updated [Time] The last updated date.
1167
+ #
1168
+ # @param description [Object, nil] The test description.
1169
+ #
1170
+ # @param name [String] The test name.
1171
+ #
1172
+ # @param number [Integer] The test number.
1173
+ #
1174
+ # @param origin_project_version_id [String, nil] The project version (commit) id where the test was created.
1175
+ #
1176
+ # @param subtype [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype] The test subtype.
1177
+ #
1178
+ # @param suggested [Boolean] Whether the test is suggested or user-created.
1179
+ #
1180
+ # @param thresholds [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold>]
1181
+ #
1182
+ # @param type [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type] The test type.
1183
+ #
1184
+ # @param archived [Boolean] Whether the test is archived.
1185
+ #
1186
+ # @param delay_window [Float, nil] The delay window in seconds. Only applies to tests that use production data.
1187
+ #
1188
+ # @param evaluation_window [Float, nil] The evaluation window in seconds. Only applies to tests that use production data
1189
+ #
1190
+ # @param uses_ml_model [Boolean] Whether the test uses an ML model.
1191
+ #
1192
+ # @param uses_production_data [Boolean] Whether the test uses production data (monitoring mode only).
1193
+ #
1194
+ # @param uses_reference_dataset [Boolean] Whether the test uses a reference dataset (monitoring mode only).
1195
+ #
1196
+ # @param uses_training_dataset [Boolean] Whether the test uses a training dataset.
1197
+ #
1198
+ # @param uses_validation_dataset [Boolean] Whether the test uses a validation dataset.
1199
+
1200
+ # The test subtype.
1201
+ #
1202
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal#subtype
1203
+ module Subtype
1204
+ extend Openlayer::Internal::Type::Enum
1205
+
1206
+ ANOMALOUS_COLUMN_COUNT = :anomalousColumnCount
1207
+ CHARACTER_LENGTH = :characterLength
1208
+ CLASS_IMBALANCE_RATIO = :classImbalanceRatio
1209
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
1210
+ COLUMN_AVERAGE = :columnAverage
1211
+ COLUMN_DRIFT = :columnDrift
1212
+ COLUMN_STATISTIC = :columnStatistic
1213
+ COLUMN_VALUES_MATCH = :columnValuesMatch
1214
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
1215
+ CONTAINS_PII = :containsPii
1216
+ CONTAINS_VALID_URL = :containsValidUrl
1217
+ CORRELATED_FEATURE_COUNT = :correlatedFeatureCount
1218
+ CUSTOM_METRIC_THRESHOLD = :customMetricThreshold
1219
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
1220
+ EMPTY_FEATURE = :emptyFeature
1221
+ EMPTY_FEATURE_COUNT = :emptyFeatureCount
1222
+ DRIFTED_FEATURE_COUNT = :driftedFeatureCount
1223
+ FEATURE_MISSING_VALUES = :featureMissingValues
1224
+ FEATURE_VALUE_VALIDATION = :featureValueValidation
1225
+ GREAT_EXPECTATIONS = :greatExpectations
1226
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
1227
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
1228
+ IS_CODE = :isCode
1229
+ IS_JSON = :isJson
1230
+ LLM_RUBRIC_THRESHOLD_V2 = :llmRubricThresholdV2
1231
+ LABEL_DRIFT = :labelDrift
1232
+ METRIC_THRESHOLD = :metricThreshold
1233
+ NEW_CATEGORY_COUNT = :newCategoryCount
1234
+ NEW_LABEL_COUNT = :newLabelCount
1235
+ NULL_ROW_COUNT = :nullRowCount
1236
+ ROW_COUNT = :rowCount
1237
+ PP_SCORE_VALUE_VALIDATION = :ppScoreValueValidation
1238
+ QUASI_CONSTANT_FEATURE = :quasiConstantFeature
1239
+ QUASI_CONSTANT_FEATURE_COUNT = :quasiConstantFeatureCount
1240
+ SQL_QUERY = :sqlQuery
1241
+ DTYPE_VALIDATION = :dtypeValidation
1242
+ SENTENCE_LENGTH = :sentenceLength
1243
+ SIZE_RATIO = :sizeRatio
1244
+ SPECIAL_CHARACTERS_RATIO = :specialCharactersRatio
1245
+ STRING_VALIDATION = :stringValidation
1246
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
1247
+
1248
+ # @!method self.values
1249
+ # @return [Array<Symbol>]
1250
+ end
1251
+
1252
+ class Threshold < Openlayer::Internal::Type::BaseModel
1253
+ # @!attribute insight_name
1254
+ # The insight name to be evaluated.
1255
+ #
1256
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName, nil]
1257
+ optional :insight_name,
1258
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName },
1259
+ api_name: :insightName
1260
+
1261
+ # @!attribute insight_parameters
1262
+ # The insight parameters. Required only for some test subtypes. For example, for
1263
+ # tests that require a column name, the insight parameters will be [{'name':
1264
+ # 'column_name', 'value': 'Age'}]
1265
+ #
1266
+ # @return [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter>, nil]
1267
+ optional :insight_parameters,
1268
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter] },
1269
+ api_name: :insightParameters,
1270
+ nil?: true
1271
+
1272
+ # @!attribute measurement
1273
+ # The measurement to be evaluated.
1274
+ #
1275
+ # @return [String, nil]
1276
+ optional :measurement, String
1277
+
1278
+ # @!attribute operator
1279
+ # The operator to be used for the evaluation.
1280
+ #
1281
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator, nil]
1282
+ optional :operator,
1283
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator }
1284
+
1285
+ # @!attribute threshold_mode
1286
+ # Whether to use automatic anomaly detection or manual thresholds
1287
+ #
1288
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode, nil]
1289
+ optional :threshold_mode,
1290
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode },
1291
+ api_name: :thresholdMode
1292
+
1293
+ # @!attribute value
1294
+ # The value to be compared.
1295
+ #
1296
+ # @return [Float, Boolean, String, Array<String>, nil]
1297
+ optional :value,
1298
+ union: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value }
1299
+
1300
+ # @!method initialize(insight_name: nil, insight_parameters: nil, measurement: nil, operator: nil, threshold_mode: nil, value: nil)
1301
+ # Some parameter documentations has been truncated, see
1302
+ # {Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold}
1303
+ # for more details.
1304
+ #
1305
+ # @param insight_name [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName] The insight name to be evaluated.
1306
+ #
1307
+ # @param insight_parameters [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter>, nil] The insight parameters. Required only for some test subtypes. For example, for t
1308
+ #
1309
+ # @param measurement [String] The measurement to be evaluated.
1310
+ #
1311
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator] The operator to be used for the evaluation.
1312
+ #
1313
+ # @param threshold_mode [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode] Whether to use automatic anomaly detection or manual thresholds
1314
+ #
1315
+ # @param value [Float, Boolean, String, Array<String>] The value to be compared.
1316
+
1317
+ # The insight name to be evaluated.
1318
+ #
1319
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold#insight_name
1320
+ module InsightName
1321
+ extend Openlayer::Internal::Type::Enum
1322
+
1323
+ CHARACTER_LENGTH = :characterLength
1324
+ CLASS_IMBALANCE = :classImbalance
1325
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B = :expectColumnAToBeInColumnB
1326
+ COLUMN_AVERAGE = :columnAverage
1327
+ COLUMN_DRIFT = :columnDrift
1328
+ COLUMN_VALUES_MATCH = :columnValuesMatch
1329
+ CONFIDENCE_DISTRIBUTION = :confidenceDistribution
1330
+ CONFLICTING_LABEL_ROW_COUNT = :conflictingLabelRowCount
1331
+ CONTAINS_PII = :containsPii
1332
+ CONTAINS_VALID_URL = :containsValidUrl
1333
+ CORRELATED_FEATURES = :correlatedFeatures
1334
+ CUSTOM_METRIC = :customMetric
1335
+ DUPLICATE_ROW_COUNT = :duplicateRowCount
1336
+ EMPTY_FEATURES = :emptyFeatures
1337
+ FEATURE_DRIFT = :featureDrift
1338
+ FEATURE_PROFILE = :featureProfile
1339
+ GREAT_EXPECTATIONS = :greatExpectations
1340
+ GROUP_BY_COLUMN_STATS_CHECK = :groupByColumnStatsCheck
1341
+ ILL_FORMED_ROW_COUNT = :illFormedRowCount
1342
+ IS_CODE = :isCode
1343
+ IS_JSON = :isJson
1344
+ LLM_RUBRIC_V2 = :llmRubricV2
1345
+ LABEL_DRIFT = :labelDrift
1346
+ METRICS = :metrics
1347
+ NEW_CATEGORIES = :newCategories
1348
+ NEW_LABELS = :newLabels
1349
+ NULL_ROW_COUNT = :nullRowCount
1350
+ PP_SCORE = :ppScore
1351
+ QUASI_CONSTANT_FEATURES = :quasiConstantFeatures
1352
+ SENTENCE_LENGTH = :sentenceLength
1353
+ SIZE_RATIO = :sizeRatio
1354
+ SPECIAL_CHARACTERS = :specialCharacters
1355
+ STRING_VALIDATION = :stringValidation
1356
+ TRAIN_VAL_LEAKAGE_ROW_COUNT = :trainValLeakageRowCount
1357
+
1358
+ # @!method self.values
1359
+ # @return [Array<Symbol>]
1360
+ end
1361
+
1362
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
1363
+ # @!attribute name
1364
+ # The name of the insight filter.
1365
+ #
1366
+ # @return [String]
1367
+ required :name, String
1368
+
1369
+ # @!attribute value
1370
+ #
1371
+ # @return [Object]
1372
+ required :value, Openlayer::Internal::Type::Unknown
1373
+
1374
+ # @!method initialize(name:, value:)
1375
+ # @param name [String] The name of the insight filter.
1376
+ #
1377
+ # @param value [Object]
1378
+ end
1379
+
1380
+ # The operator to be used for the evaluation.
1381
+ #
1382
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold#operator
1383
+ module Operator
1384
+ extend Openlayer::Internal::Type::Enum
1385
+
1386
+ IS = :is
1387
+ GREATER = :>
1388
+ GREATER_OR_EQUALS = :">="
1389
+ LESS = :<
1390
+ LESS_OR_EQUALS = :"<="
1391
+ NOT_EQUALS = :"!="
1392
+
1393
+ # @!method self.values
1394
+ # @return [Array<Symbol>]
1395
+ end
1396
+
1397
+ # Whether to use automatic anomaly detection or manual thresholds
1398
+ #
1399
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold#threshold_mode
1400
+ module ThresholdMode
1401
+ extend Openlayer::Internal::Type::Enum
1402
+
1403
+ AUTOMATIC = :automatic
1404
+ MANUAL = :manual
1405
+
1406
+ # @!method self.values
1407
+ # @return [Array<Symbol>]
1408
+ end
1409
+
1410
+ # The value to be compared.
1411
+ #
1412
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold#value
1413
+ module Value
1414
+ extend Openlayer::Internal::Type::Union
1415
+
1416
+ variant Float
1417
+
1418
+ variant Openlayer::Internal::Type::Boolean
1419
+
1420
+ variant String
1421
+
1422
+ variant -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::StringArray }
1423
+
1424
+ # @!method self.variants
1425
+ # @return [Array(Float, Boolean, String, Array<String>)]
1426
+
1427
+ # @type [Openlayer::Internal::Type::Converter]
1428
+ StringArray = Openlayer::Internal::Type::ArrayOf[String]
1429
+ end
1430
+ end
1431
+
1432
+ # The test type.
1433
+ #
1434
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal#type
1435
+ module Type
1436
+ extend Openlayer::Internal::Type::Enum
1437
+
1438
+ INTEGRITY = :integrity
1439
+ CONSISTENCY = :consistency
1440
+ PERFORMANCE = :performance
1441
+
1442
+ # @!method self.values
1443
+ # @return [Array<Symbol>]
1444
+ end
1445
+ end
1446
+
1447
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult#rows_body
1448
+ class RowsBody < Openlayer::Internal::Type::BaseModel
1449
+ # @!attribute column_filters
1450
+ #
1451
+ # @return [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter>, nil]
1452
+ optional :column_filters,
1453
+ -> { Openlayer::Internal::Type::ArrayOf[union: Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter] },
1454
+ api_name: :columnFilters,
1455
+ nil?: true
1456
+
1457
+ # @!attribute exclude_row_id_list
1458
+ #
1459
+ # @return [Array<Integer>, nil]
1460
+ optional :exclude_row_id_list,
1461
+ Openlayer::Internal::Type::ArrayOf[Integer],
1462
+ api_name: :excludeRowIdList,
1463
+ nil?: true
1464
+
1465
+ # @!attribute not_search_query_and
1466
+ #
1467
+ # @return [Array<String>, nil]
1468
+ optional :not_search_query_and,
1469
+ Openlayer::Internal::Type::ArrayOf[String],
1470
+ api_name: :notSearchQueryAnd,
1471
+ nil?: true
1472
+
1473
+ # @!attribute not_search_query_or
1474
+ #
1475
+ # @return [Array<String>, nil]
1476
+ optional :not_search_query_or,
1477
+ Openlayer::Internal::Type::ArrayOf[String],
1478
+ api_name: :notSearchQueryOr,
1479
+ nil?: true
1480
+
1481
+ # @!attribute row_id_list
1482
+ #
1483
+ # @return [Array<Integer>, nil]
1484
+ optional :row_id_list, Openlayer::Internal::Type::ArrayOf[Integer], api_name: :rowIdList, nil?: true
1485
+
1486
+ # @!attribute search_query_and
1487
+ #
1488
+ # @return [Array<String>, nil]
1489
+ optional :search_query_and,
1490
+ Openlayer::Internal::Type::ArrayOf[String],
1491
+ api_name: :searchQueryAnd,
1492
+ nil?: true
1493
+
1494
+ # @!attribute search_query_or
1495
+ #
1496
+ # @return [Array<String>, nil]
1497
+ optional :search_query_or,
1498
+ Openlayer::Internal::Type::ArrayOf[String],
1499
+ api_name: :searchQueryOr,
1500
+ nil?: true
1501
+
1502
+ # @!method initialize(column_filters: nil, exclude_row_id_list: nil, not_search_query_and: nil, not_search_query_or: nil, row_id_list: nil, search_query_and: nil, search_query_or: nil)
1503
+ # The body of the rows request.
1504
+ #
1505
+ # @param column_filters [Array<Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter>, nil]
1506
+ # @param exclude_row_id_list [Array<Integer>, nil]
1507
+ # @param not_search_query_and [Array<String>, nil]
1508
+ # @param not_search_query_or [Array<String>, nil]
1509
+ # @param row_id_list [Array<Integer>, nil]
1510
+ # @param search_query_and [Array<String>, nil]
1511
+ # @param search_query_or [Array<String>, nil]
1512
+
1513
+ module ColumnFilter
1514
+ extend Openlayer::Internal::Type::Union
1515
+
1516
+ variant -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter }
1517
+
1518
+ variant -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter }
1519
+
1520
+ variant -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter }
1521
+
1522
+ class SetColumnFilter < Openlayer::Internal::Type::BaseModel
1523
+ # @!attribute measurement
1524
+ # The name of the column.
1525
+ #
1526
+ # @return [String]
1527
+ required :measurement, String
1528
+
1529
+ # @!attribute operator
1530
+ #
1531
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator]
1532
+ required :operator,
1533
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator }
1534
+
1535
+ # @!attribute value
1536
+ #
1537
+ # @return [Array<String, Float>]
1538
+ required :value,
1539
+ -> do
1540
+ Openlayer::Internal::Type::ArrayOf[
1541
+ union: Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Value
1542
+ ]
1543
+ end
1544
+
1545
+ # @!method initialize(measurement:, operator:, value:)
1546
+ # @param measurement [String] The name of the column.
1547
+ #
1548
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator]
1549
+ #
1550
+ # @param value [Array<String, Float>]
1551
+
1552
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter#operator
1553
+ module Operator
1554
+ extend Openlayer::Internal::Type::Enum
1555
+
1556
+ CONTAINS_NONE = :contains_none
1557
+ CONTAINS_ANY = :contains_any
1558
+ CONTAINS_ALL = :contains_all
1559
+ ONE_OF = :one_of
1560
+ NONE_OF = :none_of
1561
+
1562
+ # @!method self.values
1563
+ # @return [Array<Symbol>]
1564
+ end
1565
+
1566
+ module Value
1567
+ extend Openlayer::Internal::Type::Union
1568
+
1569
+ variant String
1570
+
1571
+ variant Float
1572
+
1573
+ # @!method self.variants
1574
+ # @return [Array(String, Float)]
1575
+ end
1576
+ end
1577
+
1578
+ class NumericColumnFilter < Openlayer::Internal::Type::BaseModel
1579
+ # @!attribute measurement
1580
+ # The name of the column.
1581
+ #
1582
+ # @return [String]
1583
+ required :measurement, String
1584
+
1585
+ # @!attribute operator
1586
+ #
1587
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator]
1588
+ required :operator,
1589
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator }
1590
+
1591
+ # @!attribute value
1592
+ #
1593
+ # @return [Float, nil]
1594
+ required :value, Float, nil?: true
1595
+
1596
+ # @!method initialize(measurement:, operator:, value:)
1597
+ # @param measurement [String] The name of the column.
1598
+ #
1599
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator]
1600
+ #
1601
+ # @param value [Float, nil]
1602
+
1603
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter#operator
1604
+ module Operator
1605
+ extend Openlayer::Internal::Type::Enum
1606
+
1607
+ GREATER = :>
1608
+ GREATER_OR_EQUALS = :">="
1609
+ IS = :is
1610
+ LESS = :<
1611
+ LESS_OR_EQUALS = :"<="
1612
+ NOT_EQUALS = :"!="
1613
+
1614
+ # @!method self.values
1615
+ # @return [Array<Symbol>]
1616
+ end
1617
+ end
1618
+
1619
+ class StringColumnFilter < Openlayer::Internal::Type::BaseModel
1620
+ # @!attribute measurement
1621
+ # The name of the column.
1622
+ #
1623
+ # @return [String]
1624
+ required :measurement, String
1625
+
1626
+ # @!attribute operator
1627
+ #
1628
+ # @return [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator]
1629
+ required :operator,
1630
+ enum: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator }
1631
+
1632
+ # @!attribute value
1633
+ #
1634
+ # @return [String, Boolean]
1635
+ required :value,
1636
+ union: -> { Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Value }
1637
+
1638
+ # @!method initialize(measurement:, operator:, value:)
1639
+ # @param measurement [String] The name of the column.
1640
+ #
1641
+ # @param operator [Symbol, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator]
1642
+ #
1643
+ # @param value [String, Boolean]
1644
+
1645
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter#operator
1646
+ module Operator
1647
+ extend Openlayer::Internal::Type::Enum
1648
+
1649
+ IS = :is
1650
+ NOT_EQUALS = :"!="
1651
+
1652
+ # @!method self.values
1653
+ # @return [Array<Symbol>]
1654
+ end
1655
+
1656
+ # @see Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter#value
1657
+ module Value
1658
+ extend Openlayer::Internal::Type::Union
1659
+
1660
+ variant String
1661
+
1662
+ variant Openlayer::Internal::Type::Boolean
1663
+
1664
+ # @!method self.variants
1665
+ # @return [Array(String, Boolean)]
1666
+ end
1667
+ end
1668
+
1669
+ # @!method self.variants
1670
+ # @return [Array(Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter, Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter)]
1671
+ end
1672
+ end
1673
+ end
1674
+ end
1675
+ end
1676
+ end