openlayer 0.9.1 → 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.
@@ -0,0 +1,3650 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ class TestListResultsResponse < Openlayer::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Openlayer::Models::TestListResultsResponse,
10
+ Openlayer::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(T::Array[Openlayer::Models::TestListResultsResponse::Item])
16
+ end
17
+ attr_accessor :items
18
+
19
+ sig do
20
+ returns(
21
+ T.nilable(
22
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult
23
+ )
24
+ )
25
+ end
26
+ attr_reader :last_unskipped_result
27
+
28
+ sig do
29
+ params(
30
+ last_unskipped_result:
31
+ T.nilable(
32
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::OrHash
33
+ )
34
+ ).void
35
+ end
36
+ attr_writer :last_unskipped_result
37
+
38
+ sig do
39
+ params(
40
+ items:
41
+ T::Array[Openlayer::Models::TestListResultsResponse::Item::OrHash],
42
+ last_unskipped_result:
43
+ T.nilable(
44
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::OrHash
45
+ )
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(items:, last_unskipped_result: nil)
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ items: T::Array[Openlayer::Models::TestListResultsResponse::Item],
55
+ last_unskipped_result:
56
+ T.nilable(
57
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult
58
+ )
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ class Item < Openlayer::Internal::Type::BaseModel
66
+ OrHash =
67
+ T.type_alias do
68
+ T.any(
69
+ Openlayer::Models::TestListResultsResponse::Item,
70
+ Openlayer::Internal::AnyHash
71
+ )
72
+ end
73
+
74
+ # The status of the test.
75
+ sig do
76
+ returns(
77
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
78
+ )
79
+ end
80
+ attr_accessor :status
81
+
82
+ # The status message.
83
+ sig { returns(T.nilable(String)) }
84
+ attr_accessor :status_message
85
+
86
+ sig do
87
+ returns(
88
+ T.nilable(
89
+ T::Array[
90
+ Openlayer::Models::TestListResultsResponse::Item::ExpectedValue
91
+ ]
92
+ )
93
+ )
94
+ end
95
+ attr_reader :expected_values
96
+
97
+ sig do
98
+ params(
99
+ expected_values:
100
+ T::Array[
101
+ Openlayer::Models::TestListResultsResponse::Item::ExpectedValue::OrHash
102
+ ]
103
+ ).void
104
+ end
105
+ attr_writer :expected_values
106
+
107
+ sig do
108
+ returns(
109
+ T.nilable(Openlayer::Models::TestListResultsResponse::Item::Goal)
110
+ )
111
+ end
112
+ attr_reader :goal
113
+
114
+ sig do
115
+ params(
116
+ goal: Openlayer::Models::TestListResultsResponse::Item::Goal::OrHash
117
+ ).void
118
+ end
119
+ attr_writer :goal
120
+
121
+ # The URL to the rows of the test result.
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :rows
124
+
125
+ sig { params(rows: String).void }
126
+ attr_writer :rows
127
+
128
+ # The body of the rows request.
129
+ sig do
130
+ returns(
131
+ T.nilable(
132
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody
133
+ )
134
+ )
135
+ end
136
+ attr_reader :rows_body
137
+
138
+ sig do
139
+ params(
140
+ rows_body:
141
+ T.nilable(
142
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::OrHash
143
+ )
144
+ ).void
145
+ end
146
+ attr_writer :rows_body
147
+
148
+ # Project version (commit) id.
149
+ sig { returns(String) }
150
+ attr_accessor :id
151
+
152
+ # The creation date.
153
+ sig { returns(Time) }
154
+ attr_accessor :date_created
155
+
156
+ # The data end date.
157
+ sig { returns(T.nilable(Time)) }
158
+ attr_accessor :date_data_ends
159
+
160
+ # The data start date.
161
+ sig { returns(T.nilable(Time)) }
162
+ attr_accessor :date_data_starts
163
+
164
+ # The last updated date.
165
+ sig { returns(Time) }
166
+ attr_accessor :date_updated
167
+
168
+ # The inference pipeline id.
169
+ sig { returns(T.nilable(String)) }
170
+ attr_accessor :inference_pipeline_id
171
+
172
+ # The project version (commit) id.
173
+ sig { returns(T.nilable(String)) }
174
+ attr_accessor :project_version_id
175
+
176
+ # The test id.
177
+ sig { returns(T.nilable(String)) }
178
+ attr_accessor :goal_id
179
+
180
+ sig do
181
+ params(
182
+ id: String,
183
+ date_created: Time,
184
+ date_data_ends: T.nilable(Time),
185
+ date_data_starts: T.nilable(Time),
186
+ date_updated: Time,
187
+ inference_pipeline_id: T.nilable(String),
188
+ project_version_id: T.nilable(String),
189
+ status:
190
+ Openlayer::Models::TestListResultsResponse::Item::Status::OrSymbol,
191
+ status_message: T.nilable(String),
192
+ expected_values:
193
+ T::Array[
194
+ Openlayer::Models::TestListResultsResponse::Item::ExpectedValue::OrHash
195
+ ],
196
+ goal:
197
+ Openlayer::Models::TestListResultsResponse::Item::Goal::OrHash,
198
+ goal_id: T.nilable(String),
199
+ rows: String,
200
+ rows_body:
201
+ T.nilable(
202
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::OrHash
203
+ )
204
+ ).returns(T.attached_class)
205
+ end
206
+ def self.new(
207
+ # Project version (commit) id.
208
+ id:,
209
+ # The creation date.
210
+ date_created:,
211
+ # The data end date.
212
+ date_data_ends:,
213
+ # The data start date.
214
+ date_data_starts:,
215
+ # The last updated date.
216
+ date_updated:,
217
+ # The inference pipeline id.
218
+ inference_pipeline_id:,
219
+ # The project version (commit) id.
220
+ project_version_id:,
221
+ # The status of the test.
222
+ status:,
223
+ # The status message.
224
+ status_message:,
225
+ expected_values: nil,
226
+ goal: nil,
227
+ # The test id.
228
+ goal_id: nil,
229
+ # The URL to the rows of the test result.
230
+ rows: nil,
231
+ # The body of the rows request.
232
+ rows_body: nil
233
+ )
234
+ end
235
+
236
+ sig do
237
+ override.returns(
238
+ {
239
+ id: String,
240
+ date_created: Time,
241
+ date_data_ends: T.nilable(Time),
242
+ date_data_starts: T.nilable(Time),
243
+ date_updated: Time,
244
+ inference_pipeline_id: T.nilable(String),
245
+ project_version_id: T.nilable(String),
246
+ status:
247
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol,
248
+ status_message: T.nilable(String),
249
+ expected_values:
250
+ T::Array[
251
+ Openlayer::Models::TestListResultsResponse::Item::ExpectedValue
252
+ ],
253
+ goal: Openlayer::Models::TestListResultsResponse::Item::Goal,
254
+ goal_id: T.nilable(String),
255
+ rows: String,
256
+ rows_body:
257
+ T.nilable(
258
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody
259
+ )
260
+ }
261
+ )
262
+ end
263
+ def to_hash
264
+ end
265
+
266
+ # The status of the test.
267
+ module Status
268
+ extend Openlayer::Internal::Type::Enum
269
+
270
+ TaggedSymbol =
271
+ T.type_alias do
272
+ T.all(
273
+ Symbol,
274
+ Openlayer::Models::TestListResultsResponse::Item::Status
275
+ )
276
+ end
277
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
278
+
279
+ RUNNING =
280
+ T.let(
281
+ :running,
282
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
283
+ )
284
+ PASSING =
285
+ T.let(
286
+ :passing,
287
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
288
+ )
289
+ FAILING =
290
+ T.let(
291
+ :failing,
292
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
293
+ )
294
+ SKIPPED =
295
+ T.let(
296
+ :skipped,
297
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
298
+ )
299
+ ERROR =
300
+ T.let(
301
+ :error,
302
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
303
+ )
304
+
305
+ sig do
306
+ override.returns(
307
+ T::Array[
308
+ Openlayer::Models::TestListResultsResponse::Item::Status::TaggedSymbol
309
+ ]
310
+ )
311
+ end
312
+ def self.values
313
+ end
314
+ end
315
+
316
+ class ExpectedValue < Openlayer::Internal::Type::BaseModel
317
+ OrHash =
318
+ T.type_alias do
319
+ T.any(
320
+ Openlayer::Models::TestListResultsResponse::Item::ExpectedValue,
321
+ Openlayer::Internal::AnyHash
322
+ )
323
+ end
324
+
325
+ # the lower threshold for the expected value
326
+ sig { returns(T.nilable(Float)) }
327
+ attr_accessor :lower_threshold
328
+
329
+ # One of the `measurement` values in the test's thresholds
330
+ sig { returns(T.nilable(String)) }
331
+ attr_reader :measurement
332
+
333
+ sig { params(measurement: String).void }
334
+ attr_writer :measurement
335
+
336
+ # The upper threshold for the expected value
337
+ sig { returns(T.nilable(Float)) }
338
+ attr_accessor :upper_threshold
339
+
340
+ sig do
341
+ params(
342
+ lower_threshold: T.nilable(Float),
343
+ measurement: String,
344
+ upper_threshold: T.nilable(Float)
345
+ ).returns(T.attached_class)
346
+ end
347
+ def self.new(
348
+ # the lower threshold for the expected value
349
+ lower_threshold: nil,
350
+ # One of the `measurement` values in the test's thresholds
351
+ measurement: nil,
352
+ # The upper threshold for the expected value
353
+ upper_threshold: nil
354
+ )
355
+ end
356
+
357
+ sig do
358
+ override.returns(
359
+ {
360
+ lower_threshold: T.nilable(Float),
361
+ measurement: String,
362
+ upper_threshold: T.nilable(Float)
363
+ }
364
+ )
365
+ end
366
+ def to_hash
367
+ end
368
+ end
369
+
370
+ class Goal < Openlayer::Internal::Type::BaseModel
371
+ OrHash =
372
+ T.type_alias do
373
+ T.any(
374
+ Openlayer::Models::TestListResultsResponse::Item::Goal,
375
+ Openlayer::Internal::AnyHash
376
+ )
377
+ end
378
+
379
+ # The test description.
380
+ sig { returns(T.nilable(T.anything)) }
381
+ attr_accessor :description
382
+
383
+ # The test name.
384
+ sig { returns(String) }
385
+ attr_accessor :name
386
+
387
+ # The test subtype.
388
+ sig do
389
+ returns(
390
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
391
+ )
392
+ end
393
+ attr_accessor :subtype
394
+
395
+ sig do
396
+ returns(
397
+ T::Array[
398
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold
399
+ ]
400
+ )
401
+ end
402
+ attr_accessor :thresholds
403
+
404
+ # The test type.
405
+ sig do
406
+ returns(
407
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol
408
+ )
409
+ end
410
+ attr_accessor :type
411
+
412
+ # Whether the test is archived.
413
+ sig { returns(T.nilable(T::Boolean)) }
414
+ attr_reader :archived
415
+
416
+ sig { params(archived: T::Boolean).void }
417
+ attr_writer :archived
418
+
419
+ # The delay window in seconds. Only applies to tests that use production data.
420
+ sig { returns(T.nilable(Float)) }
421
+ attr_accessor :delay_window
422
+
423
+ # The evaluation window in seconds. Only applies to tests that use production
424
+ # data.
425
+ sig { returns(T.nilable(Float)) }
426
+ attr_accessor :evaluation_window
427
+
428
+ # Whether the test uses an ML model.
429
+ sig { returns(T.nilable(T::Boolean)) }
430
+ attr_reader :uses_ml_model
431
+
432
+ sig { params(uses_ml_model: T::Boolean).void }
433
+ attr_writer :uses_ml_model
434
+
435
+ # Whether the test uses production data (monitoring mode only).
436
+ sig { returns(T.nilable(T::Boolean)) }
437
+ attr_reader :uses_production_data
438
+
439
+ sig { params(uses_production_data: T::Boolean).void }
440
+ attr_writer :uses_production_data
441
+
442
+ # Whether the test uses a reference dataset (monitoring mode only).
443
+ sig { returns(T.nilable(T::Boolean)) }
444
+ attr_reader :uses_reference_dataset
445
+
446
+ sig { params(uses_reference_dataset: T::Boolean).void }
447
+ attr_writer :uses_reference_dataset
448
+
449
+ # Whether the test uses a training dataset.
450
+ sig { returns(T.nilable(T::Boolean)) }
451
+ attr_reader :uses_training_dataset
452
+
453
+ sig { params(uses_training_dataset: T::Boolean).void }
454
+ attr_writer :uses_training_dataset
455
+
456
+ # Whether the test uses a validation dataset.
457
+ sig { returns(T.nilable(T::Boolean)) }
458
+ attr_reader :uses_validation_dataset
459
+
460
+ sig { params(uses_validation_dataset: T::Boolean).void }
461
+ attr_writer :uses_validation_dataset
462
+
463
+ # The test id.
464
+ sig { returns(String) }
465
+ attr_accessor :id
466
+
467
+ # The number of comments on the test.
468
+ sig { returns(Integer) }
469
+ attr_accessor :comment_count
470
+
471
+ # The test creator id.
472
+ sig { returns(T.nilable(String)) }
473
+ attr_accessor :creator_id
474
+
475
+ # The date the test was archived.
476
+ sig { returns(T.nilable(Time)) }
477
+ attr_accessor :date_archived
478
+
479
+ # The creation date.
480
+ sig { returns(Time) }
481
+ attr_accessor :date_created
482
+
483
+ # The last updated date.
484
+ sig { returns(Time) }
485
+ attr_accessor :date_updated
486
+
487
+ # The test number.
488
+ sig { returns(Integer) }
489
+ attr_accessor :number
490
+
491
+ # The project version (commit) id where the test was created.
492
+ sig { returns(T.nilable(String)) }
493
+ attr_accessor :origin_project_version_id
494
+
495
+ # Whether the test is suggested or user-created.
496
+ sig { returns(T::Boolean) }
497
+ attr_accessor :suggested
498
+
499
+ sig do
500
+ params(
501
+ id: String,
502
+ comment_count: Integer,
503
+ creator_id: T.nilable(String),
504
+ date_archived: T.nilable(Time),
505
+ date_created: Time,
506
+ date_updated: Time,
507
+ description: T.nilable(T.anything),
508
+ name: String,
509
+ number: Integer,
510
+ origin_project_version_id: T.nilable(String),
511
+ subtype:
512
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::OrSymbol,
513
+ suggested: T::Boolean,
514
+ thresholds:
515
+ T::Array[
516
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::OrHash
517
+ ],
518
+ type:
519
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::OrSymbol,
520
+ archived: T::Boolean,
521
+ delay_window: T.nilable(Float),
522
+ evaluation_window: T.nilable(Float),
523
+ uses_ml_model: T::Boolean,
524
+ uses_production_data: T::Boolean,
525
+ uses_reference_dataset: T::Boolean,
526
+ uses_training_dataset: T::Boolean,
527
+ uses_validation_dataset: T::Boolean
528
+ ).returns(T.attached_class)
529
+ end
530
+ def self.new(
531
+ # The test id.
532
+ id:,
533
+ # The number of comments on the test.
534
+ comment_count:,
535
+ # The test creator id.
536
+ creator_id:,
537
+ # The date the test was archived.
538
+ date_archived:,
539
+ # The creation date.
540
+ date_created:,
541
+ # The last updated date.
542
+ date_updated:,
543
+ # The test description.
544
+ description:,
545
+ # The test name.
546
+ name:,
547
+ # The test number.
548
+ number:,
549
+ # The project version (commit) id where the test was created.
550
+ origin_project_version_id:,
551
+ # The test subtype.
552
+ subtype:,
553
+ # Whether the test is suggested or user-created.
554
+ suggested:,
555
+ thresholds:,
556
+ # The test type.
557
+ type:,
558
+ # Whether the test is archived.
559
+ archived: nil,
560
+ # The delay window in seconds. Only applies to tests that use production data.
561
+ delay_window: nil,
562
+ # The evaluation window in seconds. Only applies to tests that use production
563
+ # data.
564
+ evaluation_window: nil,
565
+ # Whether the test uses an ML model.
566
+ uses_ml_model: nil,
567
+ # Whether the test uses production data (monitoring mode only).
568
+ uses_production_data: nil,
569
+ # Whether the test uses a reference dataset (monitoring mode only).
570
+ uses_reference_dataset: nil,
571
+ # Whether the test uses a training dataset.
572
+ uses_training_dataset: nil,
573
+ # Whether the test uses a validation dataset.
574
+ uses_validation_dataset: nil
575
+ )
576
+ end
577
+
578
+ sig do
579
+ override.returns(
580
+ {
581
+ id: String,
582
+ comment_count: Integer,
583
+ creator_id: T.nilable(String),
584
+ date_archived: T.nilable(Time),
585
+ date_created: Time,
586
+ date_updated: Time,
587
+ description: T.nilable(T.anything),
588
+ name: String,
589
+ number: Integer,
590
+ origin_project_version_id: T.nilable(String),
591
+ subtype:
592
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol,
593
+ suggested: T::Boolean,
594
+ thresholds:
595
+ T::Array[
596
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold
597
+ ],
598
+ type:
599
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol,
600
+ archived: T::Boolean,
601
+ delay_window: T.nilable(Float),
602
+ evaluation_window: T.nilable(Float),
603
+ uses_ml_model: T::Boolean,
604
+ uses_production_data: T::Boolean,
605
+ uses_reference_dataset: T::Boolean,
606
+ uses_training_dataset: T::Boolean,
607
+ uses_validation_dataset: T::Boolean
608
+ }
609
+ )
610
+ end
611
+ def to_hash
612
+ end
613
+
614
+ # The test subtype.
615
+ module Subtype
616
+ extend Openlayer::Internal::Type::Enum
617
+
618
+ TaggedSymbol =
619
+ T.type_alias do
620
+ T.all(
621
+ Symbol,
622
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype
623
+ )
624
+ end
625
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
626
+
627
+ ANOMALOUS_COLUMN_COUNT =
628
+ T.let(
629
+ :anomalousColumnCount,
630
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
631
+ )
632
+ CHARACTER_LENGTH =
633
+ T.let(
634
+ :characterLength,
635
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
636
+ )
637
+ CLASS_IMBALANCE_RATIO =
638
+ T.let(
639
+ :classImbalanceRatio,
640
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
641
+ )
642
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
643
+ T.let(
644
+ :expectColumnAToBeInColumnB,
645
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
646
+ )
647
+ COLUMN_AVERAGE =
648
+ T.let(
649
+ :columnAverage,
650
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
651
+ )
652
+ COLUMN_DRIFT =
653
+ T.let(
654
+ :columnDrift,
655
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
656
+ )
657
+ COLUMN_STATISTIC =
658
+ T.let(
659
+ :columnStatistic,
660
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
661
+ )
662
+ COLUMN_VALUES_MATCH =
663
+ T.let(
664
+ :columnValuesMatch,
665
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
666
+ )
667
+ CONFLICTING_LABEL_ROW_COUNT =
668
+ T.let(
669
+ :conflictingLabelRowCount,
670
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
671
+ )
672
+ CONTAINS_PII =
673
+ T.let(
674
+ :containsPii,
675
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
676
+ )
677
+ CONTAINS_VALID_URL =
678
+ T.let(
679
+ :containsValidUrl,
680
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
681
+ )
682
+ CORRELATED_FEATURE_COUNT =
683
+ T.let(
684
+ :correlatedFeatureCount,
685
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
686
+ )
687
+ CUSTOM_METRIC_THRESHOLD =
688
+ T.let(
689
+ :customMetricThreshold,
690
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
691
+ )
692
+ DUPLICATE_ROW_COUNT =
693
+ T.let(
694
+ :duplicateRowCount,
695
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
696
+ )
697
+ EMPTY_FEATURE =
698
+ T.let(
699
+ :emptyFeature,
700
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
701
+ )
702
+ EMPTY_FEATURE_COUNT =
703
+ T.let(
704
+ :emptyFeatureCount,
705
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
706
+ )
707
+ DRIFTED_FEATURE_COUNT =
708
+ T.let(
709
+ :driftedFeatureCount,
710
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
711
+ )
712
+ FEATURE_MISSING_VALUES =
713
+ T.let(
714
+ :featureMissingValues,
715
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
716
+ )
717
+ FEATURE_VALUE_VALIDATION =
718
+ T.let(
719
+ :featureValueValidation,
720
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
721
+ )
722
+ GREAT_EXPECTATIONS =
723
+ T.let(
724
+ :greatExpectations,
725
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
726
+ )
727
+ GROUP_BY_COLUMN_STATS_CHECK =
728
+ T.let(
729
+ :groupByColumnStatsCheck,
730
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
731
+ )
732
+ ILL_FORMED_ROW_COUNT =
733
+ T.let(
734
+ :illFormedRowCount,
735
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
736
+ )
737
+ IS_CODE =
738
+ T.let(
739
+ :isCode,
740
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
741
+ )
742
+ IS_JSON =
743
+ T.let(
744
+ :isJson,
745
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
746
+ )
747
+ LLM_RUBRIC_THRESHOLD_V2 =
748
+ T.let(
749
+ :llmRubricThresholdV2,
750
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
751
+ )
752
+ LABEL_DRIFT =
753
+ T.let(
754
+ :labelDrift,
755
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
756
+ )
757
+ METRIC_THRESHOLD =
758
+ T.let(
759
+ :metricThreshold,
760
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
761
+ )
762
+ NEW_CATEGORY_COUNT =
763
+ T.let(
764
+ :newCategoryCount,
765
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
766
+ )
767
+ NEW_LABEL_COUNT =
768
+ T.let(
769
+ :newLabelCount,
770
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
771
+ )
772
+ NULL_ROW_COUNT =
773
+ T.let(
774
+ :nullRowCount,
775
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
776
+ )
777
+ ROW_COUNT =
778
+ T.let(
779
+ :rowCount,
780
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
781
+ )
782
+ PP_SCORE_VALUE_VALIDATION =
783
+ T.let(
784
+ :ppScoreValueValidation,
785
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
786
+ )
787
+ QUASI_CONSTANT_FEATURE =
788
+ T.let(
789
+ :quasiConstantFeature,
790
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
791
+ )
792
+ QUASI_CONSTANT_FEATURE_COUNT =
793
+ T.let(
794
+ :quasiConstantFeatureCount,
795
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
796
+ )
797
+ SQL_QUERY =
798
+ T.let(
799
+ :sqlQuery,
800
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
801
+ )
802
+ DTYPE_VALIDATION =
803
+ T.let(
804
+ :dtypeValidation,
805
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
806
+ )
807
+ SENTENCE_LENGTH =
808
+ T.let(
809
+ :sentenceLength,
810
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
811
+ )
812
+ SIZE_RATIO =
813
+ T.let(
814
+ :sizeRatio,
815
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
816
+ )
817
+ SPECIAL_CHARACTERS_RATIO =
818
+ T.let(
819
+ :specialCharactersRatio,
820
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
821
+ )
822
+ STRING_VALIDATION =
823
+ T.let(
824
+ :stringValidation,
825
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
826
+ )
827
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
828
+ T.let(
829
+ :trainValLeakageRowCount,
830
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
831
+ )
832
+
833
+ sig do
834
+ override.returns(
835
+ T::Array[
836
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Subtype::TaggedSymbol
837
+ ]
838
+ )
839
+ end
840
+ def self.values
841
+ end
842
+ end
843
+
844
+ class Threshold < Openlayer::Internal::Type::BaseModel
845
+ OrHash =
846
+ T.type_alias do
847
+ T.any(
848
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold,
849
+ Openlayer::Internal::AnyHash
850
+ )
851
+ end
852
+
853
+ # The insight name to be evaluated.
854
+ sig do
855
+ returns(
856
+ T.nilable(
857
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
858
+ )
859
+ )
860
+ end
861
+ attr_reader :insight_name
862
+
863
+ sig do
864
+ params(
865
+ insight_name:
866
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::OrSymbol
867
+ ).void
868
+ end
869
+ attr_writer :insight_name
870
+
871
+ # The insight parameters. Required only for some test subtypes. For example, for
872
+ # tests that require a column name, the insight parameters will be [{'name':
873
+ # 'column_name', 'value': 'Age'}]
874
+ sig do
875
+ returns(
876
+ T.nilable(
877
+ T::Array[
878
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter
879
+ ]
880
+ )
881
+ )
882
+ end
883
+ attr_accessor :insight_parameters
884
+
885
+ # The measurement to be evaluated.
886
+ sig { returns(T.nilable(String)) }
887
+ attr_reader :measurement
888
+
889
+ sig { params(measurement: String).void }
890
+ attr_writer :measurement
891
+
892
+ # The operator to be used for the evaluation.
893
+ sig do
894
+ returns(
895
+ T.nilable(
896
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
897
+ )
898
+ )
899
+ end
900
+ attr_reader :operator
901
+
902
+ sig do
903
+ params(
904
+ operator:
905
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::OrSymbol
906
+ ).void
907
+ end
908
+ attr_writer :operator
909
+
910
+ # Whether to use automatic anomaly detection or manual thresholds
911
+ sig do
912
+ returns(
913
+ T.nilable(
914
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
915
+ )
916
+ )
917
+ end
918
+ attr_reader :threshold_mode
919
+
920
+ sig do
921
+ params(
922
+ threshold_mode:
923
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::OrSymbol
924
+ ).void
925
+ end
926
+ attr_writer :threshold_mode
927
+
928
+ # The value to be compared.
929
+ sig do
930
+ returns(
931
+ T.nilable(
932
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::Variants
933
+ )
934
+ )
935
+ end
936
+ attr_reader :value
937
+
938
+ sig do
939
+ params(
940
+ value:
941
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::Variants
942
+ ).void
943
+ end
944
+ attr_writer :value
945
+
946
+ sig do
947
+ params(
948
+ insight_name:
949
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::OrSymbol,
950
+ insight_parameters:
951
+ T.nilable(
952
+ T::Array[
953
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter::OrHash
954
+ ]
955
+ ),
956
+ measurement: String,
957
+ operator:
958
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::OrSymbol,
959
+ threshold_mode:
960
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::OrSymbol,
961
+ value:
962
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::Variants
963
+ ).returns(T.attached_class)
964
+ end
965
+ def self.new(
966
+ # The insight name to be evaluated.
967
+ insight_name: nil,
968
+ # The insight parameters. Required only for some test subtypes. For example, for
969
+ # tests that require a column name, the insight parameters will be [{'name':
970
+ # 'column_name', 'value': 'Age'}]
971
+ insight_parameters: nil,
972
+ # The measurement to be evaluated.
973
+ measurement: nil,
974
+ # The operator to be used for the evaluation.
975
+ operator: nil,
976
+ # Whether to use automatic anomaly detection or manual thresholds
977
+ threshold_mode: nil,
978
+ # The value to be compared.
979
+ value: nil
980
+ )
981
+ end
982
+
983
+ sig do
984
+ override.returns(
985
+ {
986
+ insight_name:
987
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol,
988
+ insight_parameters:
989
+ T.nilable(
990
+ T::Array[
991
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter
992
+ ]
993
+ ),
994
+ measurement: String,
995
+ operator:
996
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol,
997
+ threshold_mode:
998
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol,
999
+ value:
1000
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::Variants
1001
+ }
1002
+ )
1003
+ end
1004
+ def to_hash
1005
+ end
1006
+
1007
+ # The insight name to be evaluated.
1008
+ module InsightName
1009
+ extend Openlayer::Internal::Type::Enum
1010
+
1011
+ TaggedSymbol =
1012
+ T.type_alias do
1013
+ T.all(
1014
+ Symbol,
1015
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName
1016
+ )
1017
+ end
1018
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1019
+
1020
+ CHARACTER_LENGTH =
1021
+ T.let(
1022
+ :characterLength,
1023
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1024
+ )
1025
+ CLASS_IMBALANCE =
1026
+ T.let(
1027
+ :classImbalance,
1028
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1029
+ )
1030
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
1031
+ T.let(
1032
+ :expectColumnAToBeInColumnB,
1033
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1034
+ )
1035
+ COLUMN_AVERAGE =
1036
+ T.let(
1037
+ :columnAverage,
1038
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1039
+ )
1040
+ COLUMN_DRIFT =
1041
+ T.let(
1042
+ :columnDrift,
1043
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1044
+ )
1045
+ COLUMN_VALUES_MATCH =
1046
+ T.let(
1047
+ :columnValuesMatch,
1048
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1049
+ )
1050
+ CONFIDENCE_DISTRIBUTION =
1051
+ T.let(
1052
+ :confidenceDistribution,
1053
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1054
+ )
1055
+ CONFLICTING_LABEL_ROW_COUNT =
1056
+ T.let(
1057
+ :conflictingLabelRowCount,
1058
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1059
+ )
1060
+ CONTAINS_PII =
1061
+ T.let(
1062
+ :containsPii,
1063
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1064
+ )
1065
+ CONTAINS_VALID_URL =
1066
+ T.let(
1067
+ :containsValidUrl,
1068
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1069
+ )
1070
+ CORRELATED_FEATURES =
1071
+ T.let(
1072
+ :correlatedFeatures,
1073
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1074
+ )
1075
+ CUSTOM_METRIC =
1076
+ T.let(
1077
+ :customMetric,
1078
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1079
+ )
1080
+ DUPLICATE_ROW_COUNT =
1081
+ T.let(
1082
+ :duplicateRowCount,
1083
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1084
+ )
1085
+ EMPTY_FEATURES =
1086
+ T.let(
1087
+ :emptyFeatures,
1088
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1089
+ )
1090
+ FEATURE_DRIFT =
1091
+ T.let(
1092
+ :featureDrift,
1093
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1094
+ )
1095
+ FEATURE_PROFILE =
1096
+ T.let(
1097
+ :featureProfile,
1098
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1099
+ )
1100
+ GREAT_EXPECTATIONS =
1101
+ T.let(
1102
+ :greatExpectations,
1103
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1104
+ )
1105
+ GROUP_BY_COLUMN_STATS_CHECK =
1106
+ T.let(
1107
+ :groupByColumnStatsCheck,
1108
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1109
+ )
1110
+ ILL_FORMED_ROW_COUNT =
1111
+ T.let(
1112
+ :illFormedRowCount,
1113
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1114
+ )
1115
+ IS_CODE =
1116
+ T.let(
1117
+ :isCode,
1118
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1119
+ )
1120
+ IS_JSON =
1121
+ T.let(
1122
+ :isJson,
1123
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1124
+ )
1125
+ LLM_RUBRIC_V2 =
1126
+ T.let(
1127
+ :llmRubricV2,
1128
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1129
+ )
1130
+ LABEL_DRIFT =
1131
+ T.let(
1132
+ :labelDrift,
1133
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1134
+ )
1135
+ METRICS =
1136
+ T.let(
1137
+ :metrics,
1138
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1139
+ )
1140
+ NEW_CATEGORIES =
1141
+ T.let(
1142
+ :newCategories,
1143
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1144
+ )
1145
+ NEW_LABELS =
1146
+ T.let(
1147
+ :newLabels,
1148
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1149
+ )
1150
+ NULL_ROW_COUNT =
1151
+ T.let(
1152
+ :nullRowCount,
1153
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1154
+ )
1155
+ PP_SCORE =
1156
+ T.let(
1157
+ :ppScore,
1158
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1159
+ )
1160
+ QUASI_CONSTANT_FEATURES =
1161
+ T.let(
1162
+ :quasiConstantFeatures,
1163
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1164
+ )
1165
+ SENTENCE_LENGTH =
1166
+ T.let(
1167
+ :sentenceLength,
1168
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1169
+ )
1170
+ SIZE_RATIO =
1171
+ T.let(
1172
+ :sizeRatio,
1173
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1174
+ )
1175
+ SPECIAL_CHARACTERS =
1176
+ T.let(
1177
+ :specialCharacters,
1178
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1179
+ )
1180
+ STRING_VALIDATION =
1181
+ T.let(
1182
+ :stringValidation,
1183
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1184
+ )
1185
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
1186
+ T.let(
1187
+ :trainValLeakageRowCount,
1188
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1189
+ )
1190
+
1191
+ sig do
1192
+ override.returns(
1193
+ T::Array[
1194
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightName::TaggedSymbol
1195
+ ]
1196
+ )
1197
+ end
1198
+ def self.values
1199
+ end
1200
+ end
1201
+
1202
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
1203
+ OrHash =
1204
+ T.type_alias do
1205
+ T.any(
1206
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::InsightParameter,
1207
+ Openlayer::Internal::AnyHash
1208
+ )
1209
+ end
1210
+
1211
+ # The name of the insight filter.
1212
+ sig { returns(String) }
1213
+ attr_accessor :name
1214
+
1215
+ sig { returns(T.anything) }
1216
+ attr_accessor :value
1217
+
1218
+ sig do
1219
+ params(name: String, value: T.anything).returns(
1220
+ T.attached_class
1221
+ )
1222
+ end
1223
+ def self.new(
1224
+ # The name of the insight filter.
1225
+ name:,
1226
+ value:
1227
+ )
1228
+ end
1229
+
1230
+ sig { override.returns({ name: String, value: T.anything }) }
1231
+ def to_hash
1232
+ end
1233
+ end
1234
+
1235
+ # The operator to be used for the evaluation.
1236
+ module Operator
1237
+ extend Openlayer::Internal::Type::Enum
1238
+
1239
+ TaggedSymbol =
1240
+ T.type_alias do
1241
+ T.all(
1242
+ Symbol,
1243
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator
1244
+ )
1245
+ end
1246
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1247
+
1248
+ IS =
1249
+ T.let(
1250
+ :is,
1251
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1252
+ )
1253
+ GREATER =
1254
+ T.let(
1255
+ :">",
1256
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1257
+ )
1258
+ GREATER_OR_EQUALS =
1259
+ T.let(
1260
+ :">=",
1261
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1262
+ )
1263
+ LESS =
1264
+ T.let(
1265
+ :"<",
1266
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1267
+ )
1268
+ LESS_OR_EQUALS =
1269
+ T.let(
1270
+ :"<=",
1271
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1272
+ )
1273
+ NOT_EQUALS =
1274
+ T.let(
1275
+ :"!=",
1276
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1277
+ )
1278
+
1279
+ sig do
1280
+ override.returns(
1281
+ T::Array[
1282
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Operator::TaggedSymbol
1283
+ ]
1284
+ )
1285
+ end
1286
+ def self.values
1287
+ end
1288
+ end
1289
+
1290
+ # Whether to use automatic anomaly detection or manual thresholds
1291
+ module ThresholdMode
1292
+ extend Openlayer::Internal::Type::Enum
1293
+
1294
+ TaggedSymbol =
1295
+ T.type_alias do
1296
+ T.all(
1297
+ Symbol,
1298
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode
1299
+ )
1300
+ end
1301
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1302
+
1303
+ AUTOMATIC =
1304
+ T.let(
1305
+ :automatic,
1306
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1307
+ )
1308
+ MANUAL =
1309
+ T.let(
1310
+ :manual,
1311
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1312
+ )
1313
+
1314
+ sig do
1315
+ override.returns(
1316
+ T::Array[
1317
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::ThresholdMode::TaggedSymbol
1318
+ ]
1319
+ )
1320
+ end
1321
+ def self.values
1322
+ end
1323
+ end
1324
+
1325
+ # The value to be compared.
1326
+ module Value
1327
+ extend Openlayer::Internal::Type::Union
1328
+
1329
+ Variants =
1330
+ T.type_alias do
1331
+ T.any(Float, T::Boolean, String, T::Array[String])
1332
+ end
1333
+
1334
+ sig do
1335
+ override.returns(
1336
+ T::Array[
1337
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Threshold::Value::Variants
1338
+ ]
1339
+ )
1340
+ end
1341
+ def self.variants
1342
+ end
1343
+
1344
+ StringArray =
1345
+ T.let(
1346
+ Openlayer::Internal::Type::ArrayOf[String],
1347
+ Openlayer::Internal::Type::Converter
1348
+ )
1349
+ end
1350
+ end
1351
+
1352
+ # The test type.
1353
+ module Type
1354
+ extend Openlayer::Internal::Type::Enum
1355
+
1356
+ TaggedSymbol =
1357
+ T.type_alias do
1358
+ T.all(
1359
+ Symbol,
1360
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type
1361
+ )
1362
+ end
1363
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1364
+
1365
+ INTEGRITY =
1366
+ T.let(
1367
+ :integrity,
1368
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol
1369
+ )
1370
+ CONSISTENCY =
1371
+ T.let(
1372
+ :consistency,
1373
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol
1374
+ )
1375
+ PERFORMANCE =
1376
+ T.let(
1377
+ :performance,
1378
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol
1379
+ )
1380
+
1381
+ sig do
1382
+ override.returns(
1383
+ T::Array[
1384
+ Openlayer::Models::TestListResultsResponse::Item::Goal::Type::TaggedSymbol
1385
+ ]
1386
+ )
1387
+ end
1388
+ def self.values
1389
+ end
1390
+ end
1391
+ end
1392
+
1393
+ class RowsBody < Openlayer::Internal::Type::BaseModel
1394
+ OrHash =
1395
+ T.type_alias do
1396
+ T.any(
1397
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody,
1398
+ Openlayer::Internal::AnyHash
1399
+ )
1400
+ end
1401
+
1402
+ sig do
1403
+ returns(
1404
+ T.nilable(
1405
+ T::Array[
1406
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::Variants
1407
+ ]
1408
+ )
1409
+ )
1410
+ end
1411
+ attr_accessor :column_filters
1412
+
1413
+ sig { returns(T.nilable(T::Array[Integer])) }
1414
+ attr_accessor :exclude_row_id_list
1415
+
1416
+ sig { returns(T.nilable(T::Array[String])) }
1417
+ attr_accessor :not_search_query_and
1418
+
1419
+ sig { returns(T.nilable(T::Array[String])) }
1420
+ attr_accessor :not_search_query_or
1421
+
1422
+ sig { returns(T.nilable(T::Array[Integer])) }
1423
+ attr_accessor :row_id_list
1424
+
1425
+ sig { returns(T.nilable(T::Array[String])) }
1426
+ attr_accessor :search_query_and
1427
+
1428
+ sig { returns(T.nilable(T::Array[String])) }
1429
+ attr_accessor :search_query_or
1430
+
1431
+ # The body of the rows request.
1432
+ sig do
1433
+ params(
1434
+ column_filters:
1435
+ T.nilable(
1436
+ T::Array[
1437
+ T.any(
1438
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::OrHash,
1439
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::OrHash,
1440
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::OrHash
1441
+ )
1442
+ ]
1443
+ ),
1444
+ exclude_row_id_list: T.nilable(T::Array[Integer]),
1445
+ not_search_query_and: T.nilable(T::Array[String]),
1446
+ not_search_query_or: T.nilable(T::Array[String]),
1447
+ row_id_list: T.nilable(T::Array[Integer]),
1448
+ search_query_and: T.nilable(T::Array[String]),
1449
+ search_query_or: T.nilable(T::Array[String])
1450
+ ).returns(T.attached_class)
1451
+ end
1452
+ def self.new(
1453
+ column_filters: nil,
1454
+ exclude_row_id_list: nil,
1455
+ not_search_query_and: nil,
1456
+ not_search_query_or: nil,
1457
+ row_id_list: nil,
1458
+ search_query_and: nil,
1459
+ search_query_or: nil
1460
+ )
1461
+ end
1462
+
1463
+ sig do
1464
+ override.returns(
1465
+ {
1466
+ column_filters:
1467
+ T.nilable(
1468
+ T::Array[
1469
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::Variants
1470
+ ]
1471
+ ),
1472
+ exclude_row_id_list: T.nilable(T::Array[Integer]),
1473
+ not_search_query_and: T.nilable(T::Array[String]),
1474
+ not_search_query_or: T.nilable(T::Array[String]),
1475
+ row_id_list: T.nilable(T::Array[Integer]),
1476
+ search_query_and: T.nilable(T::Array[String]),
1477
+ search_query_or: T.nilable(T::Array[String])
1478
+ }
1479
+ )
1480
+ end
1481
+ def to_hash
1482
+ end
1483
+
1484
+ module ColumnFilter
1485
+ extend Openlayer::Internal::Type::Union
1486
+
1487
+ Variants =
1488
+ T.type_alias do
1489
+ T.any(
1490
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter,
1491
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter,
1492
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter
1493
+ )
1494
+ end
1495
+
1496
+ class SetColumnFilter < Openlayer::Internal::Type::BaseModel
1497
+ OrHash =
1498
+ T.type_alias do
1499
+ T.any(
1500
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter,
1501
+ Openlayer::Internal::AnyHash
1502
+ )
1503
+ end
1504
+
1505
+ # The name of the column.
1506
+ sig { returns(String) }
1507
+ attr_accessor :measurement
1508
+
1509
+ sig do
1510
+ returns(
1511
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1512
+ )
1513
+ end
1514
+ attr_accessor :operator
1515
+
1516
+ sig do
1517
+ returns(
1518
+ T::Array[
1519
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
1520
+ ]
1521
+ )
1522
+ end
1523
+ attr_accessor :value
1524
+
1525
+ sig do
1526
+ params(
1527
+ measurement: String,
1528
+ operator:
1529
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::OrSymbol,
1530
+ value:
1531
+ T::Array[
1532
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
1533
+ ]
1534
+ ).returns(T.attached_class)
1535
+ end
1536
+ def self.new(
1537
+ # The name of the column.
1538
+ measurement:,
1539
+ operator:,
1540
+ value:
1541
+ )
1542
+ end
1543
+
1544
+ sig do
1545
+ override.returns(
1546
+ {
1547
+ measurement: String,
1548
+ operator:
1549
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol,
1550
+ value:
1551
+ T::Array[
1552
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
1553
+ ]
1554
+ }
1555
+ )
1556
+ end
1557
+ def to_hash
1558
+ end
1559
+
1560
+ module Operator
1561
+ extend Openlayer::Internal::Type::Enum
1562
+
1563
+ TaggedSymbol =
1564
+ T.type_alias do
1565
+ T.all(
1566
+ Symbol,
1567
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator
1568
+ )
1569
+ end
1570
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1571
+
1572
+ CONTAINS_NONE =
1573
+ T.let(
1574
+ :contains_none,
1575
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1576
+ )
1577
+ CONTAINS_ANY =
1578
+ T.let(
1579
+ :contains_any,
1580
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1581
+ )
1582
+ CONTAINS_ALL =
1583
+ T.let(
1584
+ :contains_all,
1585
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1586
+ )
1587
+ ONE_OF =
1588
+ T.let(
1589
+ :one_of,
1590
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1591
+ )
1592
+ NONE_OF =
1593
+ T.let(
1594
+ :none_of,
1595
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1596
+ )
1597
+
1598
+ sig do
1599
+ override.returns(
1600
+ T::Array[
1601
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
1602
+ ]
1603
+ )
1604
+ end
1605
+ def self.values
1606
+ end
1607
+ end
1608
+
1609
+ module Value
1610
+ extend Openlayer::Internal::Type::Union
1611
+
1612
+ Variants = T.type_alias { T.any(String, Float) }
1613
+
1614
+ sig do
1615
+ override.returns(
1616
+ T::Array[
1617
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
1618
+ ]
1619
+ )
1620
+ end
1621
+ def self.variants
1622
+ end
1623
+ end
1624
+ end
1625
+
1626
+ class NumericColumnFilter < Openlayer::Internal::Type::BaseModel
1627
+ OrHash =
1628
+ T.type_alias do
1629
+ T.any(
1630
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter,
1631
+ Openlayer::Internal::AnyHash
1632
+ )
1633
+ end
1634
+
1635
+ # The name of the column.
1636
+ sig { returns(String) }
1637
+ attr_accessor :measurement
1638
+
1639
+ sig do
1640
+ returns(
1641
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1642
+ )
1643
+ end
1644
+ attr_accessor :operator
1645
+
1646
+ sig { returns(T.nilable(Float)) }
1647
+ attr_accessor :value
1648
+
1649
+ sig do
1650
+ params(
1651
+ measurement: String,
1652
+ operator:
1653
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::OrSymbol,
1654
+ value: T.nilable(Float)
1655
+ ).returns(T.attached_class)
1656
+ end
1657
+ def self.new(
1658
+ # The name of the column.
1659
+ measurement:,
1660
+ operator:,
1661
+ value:
1662
+ )
1663
+ end
1664
+
1665
+ sig do
1666
+ override.returns(
1667
+ {
1668
+ measurement: String,
1669
+ operator:
1670
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol,
1671
+ value: T.nilable(Float)
1672
+ }
1673
+ )
1674
+ end
1675
+ def to_hash
1676
+ end
1677
+
1678
+ module Operator
1679
+ extend Openlayer::Internal::Type::Enum
1680
+
1681
+ TaggedSymbol =
1682
+ T.type_alias do
1683
+ T.all(
1684
+ Symbol,
1685
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator
1686
+ )
1687
+ end
1688
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1689
+
1690
+ GREATER =
1691
+ T.let(
1692
+ :">",
1693
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1694
+ )
1695
+ GREATER_OR_EQUALS =
1696
+ T.let(
1697
+ :">=",
1698
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1699
+ )
1700
+ IS =
1701
+ T.let(
1702
+ :is,
1703
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1704
+ )
1705
+ LESS =
1706
+ T.let(
1707
+ :"<",
1708
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1709
+ )
1710
+ LESS_OR_EQUALS =
1711
+ T.let(
1712
+ :"<=",
1713
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1714
+ )
1715
+ NOT_EQUALS =
1716
+ T.let(
1717
+ :"!=",
1718
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1719
+ )
1720
+
1721
+ sig do
1722
+ override.returns(
1723
+ T::Array[
1724
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
1725
+ ]
1726
+ )
1727
+ end
1728
+ def self.values
1729
+ end
1730
+ end
1731
+ end
1732
+
1733
+ class StringColumnFilter < Openlayer::Internal::Type::BaseModel
1734
+ OrHash =
1735
+ T.type_alias do
1736
+ T.any(
1737
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter,
1738
+ Openlayer::Internal::AnyHash
1739
+ )
1740
+ end
1741
+
1742
+ # The name of the column.
1743
+ sig { returns(String) }
1744
+ attr_accessor :measurement
1745
+
1746
+ sig do
1747
+ returns(
1748
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
1749
+ )
1750
+ end
1751
+ attr_accessor :operator
1752
+
1753
+ sig do
1754
+ returns(
1755
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
1756
+ )
1757
+ end
1758
+ attr_accessor :value
1759
+
1760
+ sig do
1761
+ params(
1762
+ measurement: String,
1763
+ operator:
1764
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::OrSymbol,
1765
+ value:
1766
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
1767
+ ).returns(T.attached_class)
1768
+ end
1769
+ def self.new(
1770
+ # The name of the column.
1771
+ measurement:,
1772
+ operator:,
1773
+ value:
1774
+ )
1775
+ end
1776
+
1777
+ sig do
1778
+ override.returns(
1779
+ {
1780
+ measurement: String,
1781
+ operator:
1782
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol,
1783
+ value:
1784
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
1785
+ }
1786
+ )
1787
+ end
1788
+ def to_hash
1789
+ end
1790
+
1791
+ module Operator
1792
+ extend Openlayer::Internal::Type::Enum
1793
+
1794
+ TaggedSymbol =
1795
+ T.type_alias do
1796
+ T.all(
1797
+ Symbol,
1798
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator
1799
+ )
1800
+ end
1801
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1802
+
1803
+ IS =
1804
+ T.let(
1805
+ :is,
1806
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
1807
+ )
1808
+ NOT_EQUALS =
1809
+ T.let(
1810
+ :"!=",
1811
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
1812
+ )
1813
+
1814
+ sig do
1815
+ override.returns(
1816
+ T::Array[
1817
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
1818
+ ]
1819
+ )
1820
+ end
1821
+ def self.values
1822
+ end
1823
+ end
1824
+
1825
+ module Value
1826
+ extend Openlayer::Internal::Type::Union
1827
+
1828
+ Variants = T.type_alias { T.any(String, T::Boolean) }
1829
+
1830
+ sig do
1831
+ override.returns(
1832
+ T::Array[
1833
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
1834
+ ]
1835
+ )
1836
+ end
1837
+ def self.variants
1838
+ end
1839
+ end
1840
+ end
1841
+
1842
+ sig do
1843
+ override.returns(
1844
+ T::Array[
1845
+ Openlayer::Models::TestListResultsResponse::Item::RowsBody::ColumnFilter::Variants
1846
+ ]
1847
+ )
1848
+ end
1849
+ def self.variants
1850
+ end
1851
+ end
1852
+ end
1853
+ end
1854
+
1855
+ class LastUnskippedResult < Openlayer::Internal::Type::BaseModel
1856
+ OrHash =
1857
+ T.type_alias do
1858
+ T.any(
1859
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult,
1860
+ Openlayer::Internal::AnyHash
1861
+ )
1862
+ end
1863
+
1864
+ # The status of the test.
1865
+ sig do
1866
+ returns(
1867
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
1868
+ )
1869
+ end
1870
+ attr_accessor :status
1871
+
1872
+ # The status message.
1873
+ sig { returns(T.nilable(String)) }
1874
+ attr_accessor :status_message
1875
+
1876
+ sig do
1877
+ returns(
1878
+ T.nilable(
1879
+ T::Array[
1880
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue
1881
+ ]
1882
+ )
1883
+ )
1884
+ end
1885
+ attr_reader :expected_values
1886
+
1887
+ sig do
1888
+ params(
1889
+ expected_values:
1890
+ T::Array[
1891
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue::OrHash
1892
+ ]
1893
+ ).void
1894
+ end
1895
+ attr_writer :expected_values
1896
+
1897
+ sig do
1898
+ returns(
1899
+ T.nilable(
1900
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal
1901
+ )
1902
+ )
1903
+ end
1904
+ attr_reader :goal
1905
+
1906
+ sig do
1907
+ params(
1908
+ goal:
1909
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::OrHash
1910
+ ).void
1911
+ end
1912
+ attr_writer :goal
1913
+
1914
+ # The URL to the rows of the test result.
1915
+ sig { returns(T.nilable(String)) }
1916
+ attr_reader :rows
1917
+
1918
+ sig { params(rows: String).void }
1919
+ attr_writer :rows
1920
+
1921
+ # The body of the rows request.
1922
+ sig do
1923
+ returns(
1924
+ T.nilable(
1925
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody
1926
+ )
1927
+ )
1928
+ end
1929
+ attr_reader :rows_body
1930
+
1931
+ sig do
1932
+ params(
1933
+ rows_body:
1934
+ T.nilable(
1935
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::OrHash
1936
+ )
1937
+ ).void
1938
+ end
1939
+ attr_writer :rows_body
1940
+
1941
+ # Project version (commit) id.
1942
+ sig { returns(String) }
1943
+ attr_accessor :id
1944
+
1945
+ # The creation date.
1946
+ sig { returns(Time) }
1947
+ attr_accessor :date_created
1948
+
1949
+ # The data end date.
1950
+ sig { returns(T.nilable(Time)) }
1951
+ attr_accessor :date_data_ends
1952
+
1953
+ # The data start date.
1954
+ sig { returns(T.nilable(Time)) }
1955
+ attr_accessor :date_data_starts
1956
+
1957
+ # The last updated date.
1958
+ sig { returns(Time) }
1959
+ attr_accessor :date_updated
1960
+
1961
+ # The inference pipeline id.
1962
+ sig { returns(T.nilable(String)) }
1963
+ attr_accessor :inference_pipeline_id
1964
+
1965
+ # The project version (commit) id.
1966
+ sig { returns(T.nilable(String)) }
1967
+ attr_accessor :project_version_id
1968
+
1969
+ # The test id.
1970
+ sig { returns(T.nilable(String)) }
1971
+ attr_accessor :goal_id
1972
+
1973
+ sig do
1974
+ params(
1975
+ id: String,
1976
+ date_created: Time,
1977
+ date_data_ends: T.nilable(Time),
1978
+ date_data_starts: T.nilable(Time),
1979
+ date_updated: Time,
1980
+ inference_pipeline_id: T.nilable(String),
1981
+ project_version_id: T.nilable(String),
1982
+ status:
1983
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::OrSymbol,
1984
+ status_message: T.nilable(String),
1985
+ expected_values:
1986
+ T::Array[
1987
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue::OrHash
1988
+ ],
1989
+ goal:
1990
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::OrHash,
1991
+ goal_id: T.nilable(String),
1992
+ rows: String,
1993
+ rows_body:
1994
+ T.nilable(
1995
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::OrHash
1996
+ )
1997
+ ).returns(T.attached_class)
1998
+ end
1999
+ def self.new(
2000
+ # Project version (commit) id.
2001
+ id:,
2002
+ # The creation date.
2003
+ date_created:,
2004
+ # The data end date.
2005
+ date_data_ends:,
2006
+ # The data start date.
2007
+ date_data_starts:,
2008
+ # The last updated date.
2009
+ date_updated:,
2010
+ # The inference pipeline id.
2011
+ inference_pipeline_id:,
2012
+ # The project version (commit) id.
2013
+ project_version_id:,
2014
+ # The status of the test.
2015
+ status:,
2016
+ # The status message.
2017
+ status_message:,
2018
+ expected_values: nil,
2019
+ goal: nil,
2020
+ # The test id.
2021
+ goal_id: nil,
2022
+ # The URL to the rows of the test result.
2023
+ rows: nil,
2024
+ # The body of the rows request.
2025
+ rows_body: nil
2026
+ )
2027
+ end
2028
+
2029
+ sig do
2030
+ override.returns(
2031
+ {
2032
+ id: String,
2033
+ date_created: Time,
2034
+ date_data_ends: T.nilable(Time),
2035
+ date_data_starts: T.nilable(Time),
2036
+ date_updated: Time,
2037
+ inference_pipeline_id: T.nilable(String),
2038
+ project_version_id: T.nilable(String),
2039
+ status:
2040
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol,
2041
+ status_message: T.nilable(String),
2042
+ expected_values:
2043
+ T::Array[
2044
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue
2045
+ ],
2046
+ goal:
2047
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal,
2048
+ goal_id: T.nilable(String),
2049
+ rows: String,
2050
+ rows_body:
2051
+ T.nilable(
2052
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody
2053
+ )
2054
+ }
2055
+ )
2056
+ end
2057
+ def to_hash
2058
+ end
2059
+
2060
+ # The status of the test.
2061
+ module Status
2062
+ extend Openlayer::Internal::Type::Enum
2063
+
2064
+ TaggedSymbol =
2065
+ T.type_alias do
2066
+ T.all(
2067
+ Symbol,
2068
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status
2069
+ )
2070
+ end
2071
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2072
+
2073
+ RUNNING =
2074
+ T.let(
2075
+ :running,
2076
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2077
+ )
2078
+ PASSING =
2079
+ T.let(
2080
+ :passing,
2081
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2082
+ )
2083
+ FAILING =
2084
+ T.let(
2085
+ :failing,
2086
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2087
+ )
2088
+ SKIPPED =
2089
+ T.let(
2090
+ :skipped,
2091
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2092
+ )
2093
+ ERROR =
2094
+ T.let(
2095
+ :error,
2096
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2097
+ )
2098
+
2099
+ sig do
2100
+ override.returns(
2101
+ T::Array[
2102
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Status::TaggedSymbol
2103
+ ]
2104
+ )
2105
+ end
2106
+ def self.values
2107
+ end
2108
+ end
2109
+
2110
+ class ExpectedValue < Openlayer::Internal::Type::BaseModel
2111
+ OrHash =
2112
+ T.type_alias do
2113
+ T.any(
2114
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::ExpectedValue,
2115
+ Openlayer::Internal::AnyHash
2116
+ )
2117
+ end
2118
+
2119
+ # the lower threshold for the expected value
2120
+ sig { returns(T.nilable(Float)) }
2121
+ attr_accessor :lower_threshold
2122
+
2123
+ # One of the `measurement` values in the test's thresholds
2124
+ sig { returns(T.nilable(String)) }
2125
+ attr_reader :measurement
2126
+
2127
+ sig { params(measurement: String).void }
2128
+ attr_writer :measurement
2129
+
2130
+ # The upper threshold for the expected value
2131
+ sig { returns(T.nilable(Float)) }
2132
+ attr_accessor :upper_threshold
2133
+
2134
+ sig do
2135
+ params(
2136
+ lower_threshold: T.nilable(Float),
2137
+ measurement: String,
2138
+ upper_threshold: T.nilable(Float)
2139
+ ).returns(T.attached_class)
2140
+ end
2141
+ def self.new(
2142
+ # the lower threshold for the expected value
2143
+ lower_threshold: nil,
2144
+ # One of the `measurement` values in the test's thresholds
2145
+ measurement: nil,
2146
+ # The upper threshold for the expected value
2147
+ upper_threshold: nil
2148
+ )
2149
+ end
2150
+
2151
+ sig do
2152
+ override.returns(
2153
+ {
2154
+ lower_threshold: T.nilable(Float),
2155
+ measurement: String,
2156
+ upper_threshold: T.nilable(Float)
2157
+ }
2158
+ )
2159
+ end
2160
+ def to_hash
2161
+ end
2162
+ end
2163
+
2164
+ class Goal < Openlayer::Internal::Type::BaseModel
2165
+ OrHash =
2166
+ T.type_alias do
2167
+ T.any(
2168
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal,
2169
+ Openlayer::Internal::AnyHash
2170
+ )
2171
+ end
2172
+
2173
+ # The test description.
2174
+ sig { returns(T.nilable(T.anything)) }
2175
+ attr_accessor :description
2176
+
2177
+ # The test name.
2178
+ sig { returns(String) }
2179
+ attr_accessor :name
2180
+
2181
+ # The test subtype.
2182
+ sig do
2183
+ returns(
2184
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2185
+ )
2186
+ end
2187
+ attr_accessor :subtype
2188
+
2189
+ sig do
2190
+ returns(
2191
+ T::Array[
2192
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold
2193
+ ]
2194
+ )
2195
+ end
2196
+ attr_accessor :thresholds
2197
+
2198
+ # The test type.
2199
+ sig do
2200
+ returns(
2201
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol
2202
+ )
2203
+ end
2204
+ attr_accessor :type
2205
+
2206
+ # Whether the test is archived.
2207
+ sig { returns(T.nilable(T::Boolean)) }
2208
+ attr_reader :archived
2209
+
2210
+ sig { params(archived: T::Boolean).void }
2211
+ attr_writer :archived
2212
+
2213
+ # The delay window in seconds. Only applies to tests that use production data.
2214
+ sig { returns(T.nilable(Float)) }
2215
+ attr_accessor :delay_window
2216
+
2217
+ # The evaluation window in seconds. Only applies to tests that use production
2218
+ # data.
2219
+ sig { returns(T.nilable(Float)) }
2220
+ attr_accessor :evaluation_window
2221
+
2222
+ # Whether the test uses an ML model.
2223
+ sig { returns(T.nilable(T::Boolean)) }
2224
+ attr_reader :uses_ml_model
2225
+
2226
+ sig { params(uses_ml_model: T::Boolean).void }
2227
+ attr_writer :uses_ml_model
2228
+
2229
+ # Whether the test uses production data (monitoring mode only).
2230
+ sig { returns(T.nilable(T::Boolean)) }
2231
+ attr_reader :uses_production_data
2232
+
2233
+ sig { params(uses_production_data: T::Boolean).void }
2234
+ attr_writer :uses_production_data
2235
+
2236
+ # Whether the test uses a reference dataset (monitoring mode only).
2237
+ sig { returns(T.nilable(T::Boolean)) }
2238
+ attr_reader :uses_reference_dataset
2239
+
2240
+ sig { params(uses_reference_dataset: T::Boolean).void }
2241
+ attr_writer :uses_reference_dataset
2242
+
2243
+ # Whether the test uses a training dataset.
2244
+ sig { returns(T.nilable(T::Boolean)) }
2245
+ attr_reader :uses_training_dataset
2246
+
2247
+ sig { params(uses_training_dataset: T::Boolean).void }
2248
+ attr_writer :uses_training_dataset
2249
+
2250
+ # Whether the test uses a validation dataset.
2251
+ sig { returns(T.nilable(T::Boolean)) }
2252
+ attr_reader :uses_validation_dataset
2253
+
2254
+ sig { params(uses_validation_dataset: T::Boolean).void }
2255
+ attr_writer :uses_validation_dataset
2256
+
2257
+ # The test id.
2258
+ sig { returns(String) }
2259
+ attr_accessor :id
2260
+
2261
+ # The number of comments on the test.
2262
+ sig { returns(Integer) }
2263
+ attr_accessor :comment_count
2264
+
2265
+ # The test creator id.
2266
+ sig { returns(T.nilable(String)) }
2267
+ attr_accessor :creator_id
2268
+
2269
+ # The date the test was archived.
2270
+ sig { returns(T.nilable(Time)) }
2271
+ attr_accessor :date_archived
2272
+
2273
+ # The creation date.
2274
+ sig { returns(Time) }
2275
+ attr_accessor :date_created
2276
+
2277
+ # The last updated date.
2278
+ sig { returns(Time) }
2279
+ attr_accessor :date_updated
2280
+
2281
+ # The test number.
2282
+ sig { returns(Integer) }
2283
+ attr_accessor :number
2284
+
2285
+ # The project version (commit) id where the test was created.
2286
+ sig { returns(T.nilable(String)) }
2287
+ attr_accessor :origin_project_version_id
2288
+
2289
+ # Whether the test is suggested or user-created.
2290
+ sig { returns(T::Boolean) }
2291
+ attr_accessor :suggested
2292
+
2293
+ sig do
2294
+ params(
2295
+ id: String,
2296
+ comment_count: Integer,
2297
+ creator_id: T.nilable(String),
2298
+ date_archived: T.nilable(Time),
2299
+ date_created: Time,
2300
+ date_updated: Time,
2301
+ description: T.nilable(T.anything),
2302
+ name: String,
2303
+ number: Integer,
2304
+ origin_project_version_id: T.nilable(String),
2305
+ subtype:
2306
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::OrSymbol,
2307
+ suggested: T::Boolean,
2308
+ thresholds:
2309
+ T::Array[
2310
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::OrHash
2311
+ ],
2312
+ type:
2313
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::OrSymbol,
2314
+ archived: T::Boolean,
2315
+ delay_window: T.nilable(Float),
2316
+ evaluation_window: T.nilable(Float),
2317
+ uses_ml_model: T::Boolean,
2318
+ uses_production_data: T::Boolean,
2319
+ uses_reference_dataset: T::Boolean,
2320
+ uses_training_dataset: T::Boolean,
2321
+ uses_validation_dataset: T::Boolean
2322
+ ).returns(T.attached_class)
2323
+ end
2324
+ def self.new(
2325
+ # The test id.
2326
+ id:,
2327
+ # The number of comments on the test.
2328
+ comment_count:,
2329
+ # The test creator id.
2330
+ creator_id:,
2331
+ # The date the test was archived.
2332
+ date_archived:,
2333
+ # The creation date.
2334
+ date_created:,
2335
+ # The last updated date.
2336
+ date_updated:,
2337
+ # The test description.
2338
+ description:,
2339
+ # The test name.
2340
+ name:,
2341
+ # The test number.
2342
+ number:,
2343
+ # The project version (commit) id where the test was created.
2344
+ origin_project_version_id:,
2345
+ # The test subtype.
2346
+ subtype:,
2347
+ # Whether the test is suggested or user-created.
2348
+ suggested:,
2349
+ thresholds:,
2350
+ # The test type.
2351
+ type:,
2352
+ # Whether the test is archived.
2353
+ archived: nil,
2354
+ # The delay window in seconds. Only applies to tests that use production data.
2355
+ delay_window: nil,
2356
+ # The evaluation window in seconds. Only applies to tests that use production
2357
+ # data.
2358
+ evaluation_window: nil,
2359
+ # Whether the test uses an ML model.
2360
+ uses_ml_model: nil,
2361
+ # Whether the test uses production data (monitoring mode only).
2362
+ uses_production_data: nil,
2363
+ # Whether the test uses a reference dataset (monitoring mode only).
2364
+ uses_reference_dataset: nil,
2365
+ # Whether the test uses a training dataset.
2366
+ uses_training_dataset: nil,
2367
+ # Whether the test uses a validation dataset.
2368
+ uses_validation_dataset: nil
2369
+ )
2370
+ end
2371
+
2372
+ sig do
2373
+ override.returns(
2374
+ {
2375
+ id: String,
2376
+ comment_count: Integer,
2377
+ creator_id: T.nilable(String),
2378
+ date_archived: T.nilable(Time),
2379
+ date_created: Time,
2380
+ date_updated: Time,
2381
+ description: T.nilable(T.anything),
2382
+ name: String,
2383
+ number: Integer,
2384
+ origin_project_version_id: T.nilable(String),
2385
+ subtype:
2386
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol,
2387
+ suggested: T::Boolean,
2388
+ thresholds:
2389
+ T::Array[
2390
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold
2391
+ ],
2392
+ type:
2393
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol,
2394
+ archived: T::Boolean,
2395
+ delay_window: T.nilable(Float),
2396
+ evaluation_window: T.nilable(Float),
2397
+ uses_ml_model: T::Boolean,
2398
+ uses_production_data: T::Boolean,
2399
+ uses_reference_dataset: T::Boolean,
2400
+ uses_training_dataset: T::Boolean,
2401
+ uses_validation_dataset: T::Boolean
2402
+ }
2403
+ )
2404
+ end
2405
+ def to_hash
2406
+ end
2407
+
2408
+ # The test subtype.
2409
+ module Subtype
2410
+ extend Openlayer::Internal::Type::Enum
2411
+
2412
+ TaggedSymbol =
2413
+ T.type_alias do
2414
+ T.all(
2415
+ Symbol,
2416
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype
2417
+ )
2418
+ end
2419
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2420
+
2421
+ ANOMALOUS_COLUMN_COUNT =
2422
+ T.let(
2423
+ :anomalousColumnCount,
2424
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2425
+ )
2426
+ CHARACTER_LENGTH =
2427
+ T.let(
2428
+ :characterLength,
2429
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2430
+ )
2431
+ CLASS_IMBALANCE_RATIO =
2432
+ T.let(
2433
+ :classImbalanceRatio,
2434
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2435
+ )
2436
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
2437
+ T.let(
2438
+ :expectColumnAToBeInColumnB,
2439
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2440
+ )
2441
+ COLUMN_AVERAGE =
2442
+ T.let(
2443
+ :columnAverage,
2444
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2445
+ )
2446
+ COLUMN_DRIFT =
2447
+ T.let(
2448
+ :columnDrift,
2449
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2450
+ )
2451
+ COLUMN_STATISTIC =
2452
+ T.let(
2453
+ :columnStatistic,
2454
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2455
+ )
2456
+ COLUMN_VALUES_MATCH =
2457
+ T.let(
2458
+ :columnValuesMatch,
2459
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2460
+ )
2461
+ CONFLICTING_LABEL_ROW_COUNT =
2462
+ T.let(
2463
+ :conflictingLabelRowCount,
2464
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2465
+ )
2466
+ CONTAINS_PII =
2467
+ T.let(
2468
+ :containsPii,
2469
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2470
+ )
2471
+ CONTAINS_VALID_URL =
2472
+ T.let(
2473
+ :containsValidUrl,
2474
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2475
+ )
2476
+ CORRELATED_FEATURE_COUNT =
2477
+ T.let(
2478
+ :correlatedFeatureCount,
2479
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2480
+ )
2481
+ CUSTOM_METRIC_THRESHOLD =
2482
+ T.let(
2483
+ :customMetricThreshold,
2484
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2485
+ )
2486
+ DUPLICATE_ROW_COUNT =
2487
+ T.let(
2488
+ :duplicateRowCount,
2489
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2490
+ )
2491
+ EMPTY_FEATURE =
2492
+ T.let(
2493
+ :emptyFeature,
2494
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2495
+ )
2496
+ EMPTY_FEATURE_COUNT =
2497
+ T.let(
2498
+ :emptyFeatureCount,
2499
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2500
+ )
2501
+ DRIFTED_FEATURE_COUNT =
2502
+ T.let(
2503
+ :driftedFeatureCount,
2504
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2505
+ )
2506
+ FEATURE_MISSING_VALUES =
2507
+ T.let(
2508
+ :featureMissingValues,
2509
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2510
+ )
2511
+ FEATURE_VALUE_VALIDATION =
2512
+ T.let(
2513
+ :featureValueValidation,
2514
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2515
+ )
2516
+ GREAT_EXPECTATIONS =
2517
+ T.let(
2518
+ :greatExpectations,
2519
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2520
+ )
2521
+ GROUP_BY_COLUMN_STATS_CHECK =
2522
+ T.let(
2523
+ :groupByColumnStatsCheck,
2524
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2525
+ )
2526
+ ILL_FORMED_ROW_COUNT =
2527
+ T.let(
2528
+ :illFormedRowCount,
2529
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2530
+ )
2531
+ IS_CODE =
2532
+ T.let(
2533
+ :isCode,
2534
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2535
+ )
2536
+ IS_JSON =
2537
+ T.let(
2538
+ :isJson,
2539
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2540
+ )
2541
+ LLM_RUBRIC_THRESHOLD_V2 =
2542
+ T.let(
2543
+ :llmRubricThresholdV2,
2544
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2545
+ )
2546
+ LABEL_DRIFT =
2547
+ T.let(
2548
+ :labelDrift,
2549
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2550
+ )
2551
+ METRIC_THRESHOLD =
2552
+ T.let(
2553
+ :metricThreshold,
2554
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2555
+ )
2556
+ NEW_CATEGORY_COUNT =
2557
+ T.let(
2558
+ :newCategoryCount,
2559
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2560
+ )
2561
+ NEW_LABEL_COUNT =
2562
+ T.let(
2563
+ :newLabelCount,
2564
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2565
+ )
2566
+ NULL_ROW_COUNT =
2567
+ T.let(
2568
+ :nullRowCount,
2569
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2570
+ )
2571
+ ROW_COUNT =
2572
+ T.let(
2573
+ :rowCount,
2574
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2575
+ )
2576
+ PP_SCORE_VALUE_VALIDATION =
2577
+ T.let(
2578
+ :ppScoreValueValidation,
2579
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2580
+ )
2581
+ QUASI_CONSTANT_FEATURE =
2582
+ T.let(
2583
+ :quasiConstantFeature,
2584
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2585
+ )
2586
+ QUASI_CONSTANT_FEATURE_COUNT =
2587
+ T.let(
2588
+ :quasiConstantFeatureCount,
2589
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2590
+ )
2591
+ SQL_QUERY =
2592
+ T.let(
2593
+ :sqlQuery,
2594
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2595
+ )
2596
+ DTYPE_VALIDATION =
2597
+ T.let(
2598
+ :dtypeValidation,
2599
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2600
+ )
2601
+ SENTENCE_LENGTH =
2602
+ T.let(
2603
+ :sentenceLength,
2604
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2605
+ )
2606
+ SIZE_RATIO =
2607
+ T.let(
2608
+ :sizeRatio,
2609
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2610
+ )
2611
+ SPECIAL_CHARACTERS_RATIO =
2612
+ T.let(
2613
+ :specialCharactersRatio,
2614
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2615
+ )
2616
+ STRING_VALIDATION =
2617
+ T.let(
2618
+ :stringValidation,
2619
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2620
+ )
2621
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
2622
+ T.let(
2623
+ :trainValLeakageRowCount,
2624
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2625
+ )
2626
+
2627
+ sig do
2628
+ override.returns(
2629
+ T::Array[
2630
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Subtype::TaggedSymbol
2631
+ ]
2632
+ )
2633
+ end
2634
+ def self.values
2635
+ end
2636
+ end
2637
+
2638
+ class Threshold < Openlayer::Internal::Type::BaseModel
2639
+ OrHash =
2640
+ T.type_alias do
2641
+ T.any(
2642
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold,
2643
+ Openlayer::Internal::AnyHash
2644
+ )
2645
+ end
2646
+
2647
+ # The insight name to be evaluated.
2648
+ sig do
2649
+ returns(
2650
+ T.nilable(
2651
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2652
+ )
2653
+ )
2654
+ end
2655
+ attr_reader :insight_name
2656
+
2657
+ sig do
2658
+ params(
2659
+ insight_name:
2660
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::OrSymbol
2661
+ ).void
2662
+ end
2663
+ attr_writer :insight_name
2664
+
2665
+ # The insight parameters. Required only for some test subtypes. For example, for
2666
+ # tests that require a column name, the insight parameters will be [{'name':
2667
+ # 'column_name', 'value': 'Age'}]
2668
+ sig do
2669
+ returns(
2670
+ T.nilable(
2671
+ T::Array[
2672
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter
2673
+ ]
2674
+ )
2675
+ )
2676
+ end
2677
+ attr_accessor :insight_parameters
2678
+
2679
+ # The measurement to be evaluated.
2680
+ sig { returns(T.nilable(String)) }
2681
+ attr_reader :measurement
2682
+
2683
+ sig { params(measurement: String).void }
2684
+ attr_writer :measurement
2685
+
2686
+ # The operator to be used for the evaluation.
2687
+ sig do
2688
+ returns(
2689
+ T.nilable(
2690
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
2691
+ )
2692
+ )
2693
+ end
2694
+ attr_reader :operator
2695
+
2696
+ sig do
2697
+ params(
2698
+ operator:
2699
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::OrSymbol
2700
+ ).void
2701
+ end
2702
+ attr_writer :operator
2703
+
2704
+ # Whether to use automatic anomaly detection or manual thresholds
2705
+ sig do
2706
+ returns(
2707
+ T.nilable(
2708
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::TaggedSymbol
2709
+ )
2710
+ )
2711
+ end
2712
+ attr_reader :threshold_mode
2713
+
2714
+ sig do
2715
+ params(
2716
+ threshold_mode:
2717
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::OrSymbol
2718
+ ).void
2719
+ end
2720
+ attr_writer :threshold_mode
2721
+
2722
+ # The value to be compared.
2723
+ sig do
2724
+ returns(
2725
+ T.nilable(
2726
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::Variants
2727
+ )
2728
+ )
2729
+ end
2730
+ attr_reader :value
2731
+
2732
+ sig do
2733
+ params(
2734
+ value:
2735
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::Variants
2736
+ ).void
2737
+ end
2738
+ attr_writer :value
2739
+
2740
+ sig do
2741
+ params(
2742
+ insight_name:
2743
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::OrSymbol,
2744
+ insight_parameters:
2745
+ T.nilable(
2746
+ T::Array[
2747
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter::OrHash
2748
+ ]
2749
+ ),
2750
+ measurement: String,
2751
+ operator:
2752
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::OrSymbol,
2753
+ threshold_mode:
2754
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::OrSymbol,
2755
+ value:
2756
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::Variants
2757
+ ).returns(T.attached_class)
2758
+ end
2759
+ def self.new(
2760
+ # The insight name to be evaluated.
2761
+ insight_name: nil,
2762
+ # The insight parameters. Required only for some test subtypes. For example, for
2763
+ # tests that require a column name, the insight parameters will be [{'name':
2764
+ # 'column_name', 'value': 'Age'}]
2765
+ insight_parameters: nil,
2766
+ # The measurement to be evaluated.
2767
+ measurement: nil,
2768
+ # The operator to be used for the evaluation.
2769
+ operator: nil,
2770
+ # Whether to use automatic anomaly detection or manual thresholds
2771
+ threshold_mode: nil,
2772
+ # The value to be compared.
2773
+ value: nil
2774
+ )
2775
+ end
2776
+
2777
+ sig do
2778
+ override.returns(
2779
+ {
2780
+ insight_name:
2781
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol,
2782
+ insight_parameters:
2783
+ T.nilable(
2784
+ T::Array[
2785
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter
2786
+ ]
2787
+ ),
2788
+ measurement: String,
2789
+ operator:
2790
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol,
2791
+ threshold_mode:
2792
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::TaggedSymbol,
2793
+ value:
2794
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::Variants
2795
+ }
2796
+ )
2797
+ end
2798
+ def to_hash
2799
+ end
2800
+
2801
+ # The insight name to be evaluated.
2802
+ module InsightName
2803
+ extend Openlayer::Internal::Type::Enum
2804
+
2805
+ TaggedSymbol =
2806
+ T.type_alias do
2807
+ T.all(
2808
+ Symbol,
2809
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName
2810
+ )
2811
+ end
2812
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2813
+
2814
+ CHARACTER_LENGTH =
2815
+ T.let(
2816
+ :characterLength,
2817
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2818
+ )
2819
+ CLASS_IMBALANCE =
2820
+ T.let(
2821
+ :classImbalance,
2822
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2823
+ )
2824
+ EXPECT_COLUMN_A_TO_BE_IN_COLUMN_B =
2825
+ T.let(
2826
+ :expectColumnAToBeInColumnB,
2827
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2828
+ )
2829
+ COLUMN_AVERAGE =
2830
+ T.let(
2831
+ :columnAverage,
2832
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2833
+ )
2834
+ COLUMN_DRIFT =
2835
+ T.let(
2836
+ :columnDrift,
2837
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2838
+ )
2839
+ COLUMN_VALUES_MATCH =
2840
+ T.let(
2841
+ :columnValuesMatch,
2842
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2843
+ )
2844
+ CONFIDENCE_DISTRIBUTION =
2845
+ T.let(
2846
+ :confidenceDistribution,
2847
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2848
+ )
2849
+ CONFLICTING_LABEL_ROW_COUNT =
2850
+ T.let(
2851
+ :conflictingLabelRowCount,
2852
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2853
+ )
2854
+ CONTAINS_PII =
2855
+ T.let(
2856
+ :containsPii,
2857
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2858
+ )
2859
+ CONTAINS_VALID_URL =
2860
+ T.let(
2861
+ :containsValidUrl,
2862
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2863
+ )
2864
+ CORRELATED_FEATURES =
2865
+ T.let(
2866
+ :correlatedFeatures,
2867
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2868
+ )
2869
+ CUSTOM_METRIC =
2870
+ T.let(
2871
+ :customMetric,
2872
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2873
+ )
2874
+ DUPLICATE_ROW_COUNT =
2875
+ T.let(
2876
+ :duplicateRowCount,
2877
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2878
+ )
2879
+ EMPTY_FEATURES =
2880
+ T.let(
2881
+ :emptyFeatures,
2882
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2883
+ )
2884
+ FEATURE_DRIFT =
2885
+ T.let(
2886
+ :featureDrift,
2887
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2888
+ )
2889
+ FEATURE_PROFILE =
2890
+ T.let(
2891
+ :featureProfile,
2892
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2893
+ )
2894
+ GREAT_EXPECTATIONS =
2895
+ T.let(
2896
+ :greatExpectations,
2897
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2898
+ )
2899
+ GROUP_BY_COLUMN_STATS_CHECK =
2900
+ T.let(
2901
+ :groupByColumnStatsCheck,
2902
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2903
+ )
2904
+ ILL_FORMED_ROW_COUNT =
2905
+ T.let(
2906
+ :illFormedRowCount,
2907
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2908
+ )
2909
+ IS_CODE =
2910
+ T.let(
2911
+ :isCode,
2912
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2913
+ )
2914
+ IS_JSON =
2915
+ T.let(
2916
+ :isJson,
2917
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2918
+ )
2919
+ LLM_RUBRIC_V2 =
2920
+ T.let(
2921
+ :llmRubricV2,
2922
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2923
+ )
2924
+ LABEL_DRIFT =
2925
+ T.let(
2926
+ :labelDrift,
2927
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2928
+ )
2929
+ METRICS =
2930
+ T.let(
2931
+ :metrics,
2932
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2933
+ )
2934
+ NEW_CATEGORIES =
2935
+ T.let(
2936
+ :newCategories,
2937
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2938
+ )
2939
+ NEW_LABELS =
2940
+ T.let(
2941
+ :newLabels,
2942
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2943
+ )
2944
+ NULL_ROW_COUNT =
2945
+ T.let(
2946
+ :nullRowCount,
2947
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2948
+ )
2949
+ PP_SCORE =
2950
+ T.let(
2951
+ :ppScore,
2952
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2953
+ )
2954
+ QUASI_CONSTANT_FEATURES =
2955
+ T.let(
2956
+ :quasiConstantFeatures,
2957
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2958
+ )
2959
+ SENTENCE_LENGTH =
2960
+ T.let(
2961
+ :sentenceLength,
2962
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2963
+ )
2964
+ SIZE_RATIO =
2965
+ T.let(
2966
+ :sizeRatio,
2967
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2968
+ )
2969
+ SPECIAL_CHARACTERS =
2970
+ T.let(
2971
+ :specialCharacters,
2972
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2973
+ )
2974
+ STRING_VALIDATION =
2975
+ T.let(
2976
+ :stringValidation,
2977
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2978
+ )
2979
+ TRAIN_VAL_LEAKAGE_ROW_COUNT =
2980
+ T.let(
2981
+ :trainValLeakageRowCount,
2982
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2983
+ )
2984
+
2985
+ sig do
2986
+ override.returns(
2987
+ T::Array[
2988
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightName::TaggedSymbol
2989
+ ]
2990
+ )
2991
+ end
2992
+ def self.values
2993
+ end
2994
+ end
2995
+
2996
+ class InsightParameter < Openlayer::Internal::Type::BaseModel
2997
+ OrHash =
2998
+ T.type_alias do
2999
+ T.any(
3000
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::InsightParameter,
3001
+ Openlayer::Internal::AnyHash
3002
+ )
3003
+ end
3004
+
3005
+ # The name of the insight filter.
3006
+ sig { returns(String) }
3007
+ attr_accessor :name
3008
+
3009
+ sig { returns(T.anything) }
3010
+ attr_accessor :value
3011
+
3012
+ sig do
3013
+ params(name: String, value: T.anything).returns(
3014
+ T.attached_class
3015
+ )
3016
+ end
3017
+ def self.new(
3018
+ # The name of the insight filter.
3019
+ name:,
3020
+ value:
3021
+ )
3022
+ end
3023
+
3024
+ sig { override.returns({ name: String, value: T.anything }) }
3025
+ def to_hash
3026
+ end
3027
+ end
3028
+
3029
+ # The operator to be used for the evaluation.
3030
+ module Operator
3031
+ extend Openlayer::Internal::Type::Enum
3032
+
3033
+ TaggedSymbol =
3034
+ T.type_alias do
3035
+ T.all(
3036
+ Symbol,
3037
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator
3038
+ )
3039
+ end
3040
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3041
+
3042
+ IS =
3043
+ T.let(
3044
+ :is,
3045
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3046
+ )
3047
+ GREATER =
3048
+ T.let(
3049
+ :">",
3050
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3051
+ )
3052
+ GREATER_OR_EQUALS =
3053
+ T.let(
3054
+ :">=",
3055
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3056
+ )
3057
+ LESS =
3058
+ T.let(
3059
+ :"<",
3060
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3061
+ )
3062
+ LESS_OR_EQUALS =
3063
+ T.let(
3064
+ :"<=",
3065
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3066
+ )
3067
+ NOT_EQUALS =
3068
+ T.let(
3069
+ :"!=",
3070
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3071
+ )
3072
+
3073
+ sig do
3074
+ override.returns(
3075
+ T::Array[
3076
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Operator::TaggedSymbol
3077
+ ]
3078
+ )
3079
+ end
3080
+ def self.values
3081
+ end
3082
+ end
3083
+
3084
+ # Whether to use automatic anomaly detection or manual thresholds
3085
+ module ThresholdMode
3086
+ extend Openlayer::Internal::Type::Enum
3087
+
3088
+ TaggedSymbol =
3089
+ T.type_alias do
3090
+ T.all(
3091
+ Symbol,
3092
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode
3093
+ )
3094
+ end
3095
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3096
+
3097
+ AUTOMATIC =
3098
+ T.let(
3099
+ :automatic,
3100
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::TaggedSymbol
3101
+ )
3102
+ MANUAL =
3103
+ T.let(
3104
+ :manual,
3105
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::TaggedSymbol
3106
+ )
3107
+
3108
+ sig do
3109
+ override.returns(
3110
+ T::Array[
3111
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::ThresholdMode::TaggedSymbol
3112
+ ]
3113
+ )
3114
+ end
3115
+ def self.values
3116
+ end
3117
+ end
3118
+
3119
+ # The value to be compared.
3120
+ module Value
3121
+ extend Openlayer::Internal::Type::Union
3122
+
3123
+ Variants =
3124
+ T.type_alias do
3125
+ T.any(Float, T::Boolean, String, T::Array[String])
3126
+ end
3127
+
3128
+ sig do
3129
+ override.returns(
3130
+ T::Array[
3131
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Threshold::Value::Variants
3132
+ ]
3133
+ )
3134
+ end
3135
+ def self.variants
3136
+ end
3137
+
3138
+ StringArray =
3139
+ T.let(
3140
+ Openlayer::Internal::Type::ArrayOf[String],
3141
+ Openlayer::Internal::Type::Converter
3142
+ )
3143
+ end
3144
+ end
3145
+
3146
+ # The test type.
3147
+ module Type
3148
+ extend Openlayer::Internal::Type::Enum
3149
+
3150
+ TaggedSymbol =
3151
+ T.type_alias do
3152
+ T.all(
3153
+ Symbol,
3154
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type
3155
+ )
3156
+ end
3157
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3158
+
3159
+ INTEGRITY =
3160
+ T.let(
3161
+ :integrity,
3162
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol
3163
+ )
3164
+ CONSISTENCY =
3165
+ T.let(
3166
+ :consistency,
3167
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol
3168
+ )
3169
+ PERFORMANCE =
3170
+ T.let(
3171
+ :performance,
3172
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol
3173
+ )
3174
+
3175
+ sig do
3176
+ override.returns(
3177
+ T::Array[
3178
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::Goal::Type::TaggedSymbol
3179
+ ]
3180
+ )
3181
+ end
3182
+ def self.values
3183
+ end
3184
+ end
3185
+ end
3186
+
3187
+ class RowsBody < Openlayer::Internal::Type::BaseModel
3188
+ OrHash =
3189
+ T.type_alias do
3190
+ T.any(
3191
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody,
3192
+ Openlayer::Internal::AnyHash
3193
+ )
3194
+ end
3195
+
3196
+ sig do
3197
+ returns(
3198
+ T.nilable(
3199
+ T::Array[
3200
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::Variants
3201
+ ]
3202
+ )
3203
+ )
3204
+ end
3205
+ attr_accessor :column_filters
3206
+
3207
+ sig { returns(T.nilable(T::Array[Integer])) }
3208
+ attr_accessor :exclude_row_id_list
3209
+
3210
+ sig { returns(T.nilable(T::Array[String])) }
3211
+ attr_accessor :not_search_query_and
3212
+
3213
+ sig { returns(T.nilable(T::Array[String])) }
3214
+ attr_accessor :not_search_query_or
3215
+
3216
+ sig { returns(T.nilable(T::Array[Integer])) }
3217
+ attr_accessor :row_id_list
3218
+
3219
+ sig { returns(T.nilable(T::Array[String])) }
3220
+ attr_accessor :search_query_and
3221
+
3222
+ sig { returns(T.nilable(T::Array[String])) }
3223
+ attr_accessor :search_query_or
3224
+
3225
+ # The body of the rows request.
3226
+ sig do
3227
+ params(
3228
+ column_filters:
3229
+ T.nilable(
3230
+ T::Array[
3231
+ T.any(
3232
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::OrHash,
3233
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::OrHash,
3234
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::OrHash
3235
+ )
3236
+ ]
3237
+ ),
3238
+ exclude_row_id_list: T.nilable(T::Array[Integer]),
3239
+ not_search_query_and: T.nilable(T::Array[String]),
3240
+ not_search_query_or: T.nilable(T::Array[String]),
3241
+ row_id_list: T.nilable(T::Array[Integer]),
3242
+ search_query_and: T.nilable(T::Array[String]),
3243
+ search_query_or: T.nilable(T::Array[String])
3244
+ ).returns(T.attached_class)
3245
+ end
3246
+ def self.new(
3247
+ column_filters: nil,
3248
+ exclude_row_id_list: nil,
3249
+ not_search_query_and: nil,
3250
+ not_search_query_or: nil,
3251
+ row_id_list: nil,
3252
+ search_query_and: nil,
3253
+ search_query_or: nil
3254
+ )
3255
+ end
3256
+
3257
+ sig do
3258
+ override.returns(
3259
+ {
3260
+ column_filters:
3261
+ T.nilable(
3262
+ T::Array[
3263
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::Variants
3264
+ ]
3265
+ ),
3266
+ exclude_row_id_list: T.nilable(T::Array[Integer]),
3267
+ not_search_query_and: T.nilable(T::Array[String]),
3268
+ not_search_query_or: T.nilable(T::Array[String]),
3269
+ row_id_list: T.nilable(T::Array[Integer]),
3270
+ search_query_and: T.nilable(T::Array[String]),
3271
+ search_query_or: T.nilable(T::Array[String])
3272
+ }
3273
+ )
3274
+ end
3275
+ def to_hash
3276
+ end
3277
+
3278
+ module ColumnFilter
3279
+ extend Openlayer::Internal::Type::Union
3280
+
3281
+ Variants =
3282
+ T.type_alias do
3283
+ T.any(
3284
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter,
3285
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter,
3286
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter
3287
+ )
3288
+ end
3289
+
3290
+ class SetColumnFilter < Openlayer::Internal::Type::BaseModel
3291
+ OrHash =
3292
+ T.type_alias do
3293
+ T.any(
3294
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter,
3295
+ Openlayer::Internal::AnyHash
3296
+ )
3297
+ end
3298
+
3299
+ # The name of the column.
3300
+ sig { returns(String) }
3301
+ attr_accessor :measurement
3302
+
3303
+ sig do
3304
+ returns(
3305
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3306
+ )
3307
+ end
3308
+ attr_accessor :operator
3309
+
3310
+ sig do
3311
+ returns(
3312
+ T::Array[
3313
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
3314
+ ]
3315
+ )
3316
+ end
3317
+ attr_accessor :value
3318
+
3319
+ sig do
3320
+ params(
3321
+ measurement: String,
3322
+ operator:
3323
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::OrSymbol,
3324
+ value:
3325
+ T::Array[
3326
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
3327
+ ]
3328
+ ).returns(T.attached_class)
3329
+ end
3330
+ def self.new(
3331
+ # The name of the column.
3332
+ measurement:,
3333
+ operator:,
3334
+ value:
3335
+ )
3336
+ end
3337
+
3338
+ sig do
3339
+ override.returns(
3340
+ {
3341
+ measurement: String,
3342
+ operator:
3343
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol,
3344
+ value:
3345
+ T::Array[
3346
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
3347
+ ]
3348
+ }
3349
+ )
3350
+ end
3351
+ def to_hash
3352
+ end
3353
+
3354
+ module Operator
3355
+ extend Openlayer::Internal::Type::Enum
3356
+
3357
+ TaggedSymbol =
3358
+ T.type_alias do
3359
+ T.all(
3360
+ Symbol,
3361
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator
3362
+ )
3363
+ end
3364
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3365
+
3366
+ CONTAINS_NONE =
3367
+ T.let(
3368
+ :contains_none,
3369
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3370
+ )
3371
+ CONTAINS_ANY =
3372
+ T.let(
3373
+ :contains_any,
3374
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3375
+ )
3376
+ CONTAINS_ALL =
3377
+ T.let(
3378
+ :contains_all,
3379
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3380
+ )
3381
+ ONE_OF =
3382
+ T.let(
3383
+ :one_of,
3384
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3385
+ )
3386
+ NONE_OF =
3387
+ T.let(
3388
+ :none_of,
3389
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3390
+ )
3391
+
3392
+ sig do
3393
+ override.returns(
3394
+ T::Array[
3395
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Operator::TaggedSymbol
3396
+ ]
3397
+ )
3398
+ end
3399
+ def self.values
3400
+ end
3401
+ end
3402
+
3403
+ module Value
3404
+ extend Openlayer::Internal::Type::Union
3405
+
3406
+ Variants = T.type_alias { T.any(String, Float) }
3407
+
3408
+ sig do
3409
+ override.returns(
3410
+ T::Array[
3411
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::SetColumnFilter::Value::Variants
3412
+ ]
3413
+ )
3414
+ end
3415
+ def self.variants
3416
+ end
3417
+ end
3418
+ end
3419
+
3420
+ class NumericColumnFilter < Openlayer::Internal::Type::BaseModel
3421
+ OrHash =
3422
+ T.type_alias do
3423
+ T.any(
3424
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter,
3425
+ Openlayer::Internal::AnyHash
3426
+ )
3427
+ end
3428
+
3429
+ # The name of the column.
3430
+ sig { returns(String) }
3431
+ attr_accessor :measurement
3432
+
3433
+ sig do
3434
+ returns(
3435
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3436
+ )
3437
+ end
3438
+ attr_accessor :operator
3439
+
3440
+ sig { returns(T.nilable(Float)) }
3441
+ attr_accessor :value
3442
+
3443
+ sig do
3444
+ params(
3445
+ measurement: String,
3446
+ operator:
3447
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::OrSymbol,
3448
+ value: T.nilable(Float)
3449
+ ).returns(T.attached_class)
3450
+ end
3451
+ def self.new(
3452
+ # The name of the column.
3453
+ measurement:,
3454
+ operator:,
3455
+ value:
3456
+ )
3457
+ end
3458
+
3459
+ sig do
3460
+ override.returns(
3461
+ {
3462
+ measurement: String,
3463
+ operator:
3464
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol,
3465
+ value: T.nilable(Float)
3466
+ }
3467
+ )
3468
+ end
3469
+ def to_hash
3470
+ end
3471
+
3472
+ module Operator
3473
+ extend Openlayer::Internal::Type::Enum
3474
+
3475
+ TaggedSymbol =
3476
+ T.type_alias do
3477
+ T.all(
3478
+ Symbol,
3479
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator
3480
+ )
3481
+ end
3482
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3483
+
3484
+ GREATER =
3485
+ T.let(
3486
+ :">",
3487
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3488
+ )
3489
+ GREATER_OR_EQUALS =
3490
+ T.let(
3491
+ :">=",
3492
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3493
+ )
3494
+ IS =
3495
+ T.let(
3496
+ :is,
3497
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3498
+ )
3499
+ LESS =
3500
+ T.let(
3501
+ :"<",
3502
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3503
+ )
3504
+ LESS_OR_EQUALS =
3505
+ T.let(
3506
+ :"<=",
3507
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3508
+ )
3509
+ NOT_EQUALS =
3510
+ T.let(
3511
+ :"!=",
3512
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3513
+ )
3514
+
3515
+ sig do
3516
+ override.returns(
3517
+ T::Array[
3518
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::NumericColumnFilter::Operator::TaggedSymbol
3519
+ ]
3520
+ )
3521
+ end
3522
+ def self.values
3523
+ end
3524
+ end
3525
+ end
3526
+
3527
+ class StringColumnFilter < Openlayer::Internal::Type::BaseModel
3528
+ OrHash =
3529
+ T.type_alias do
3530
+ T.any(
3531
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter,
3532
+ Openlayer::Internal::AnyHash
3533
+ )
3534
+ end
3535
+
3536
+ # The name of the column.
3537
+ sig { returns(String) }
3538
+ attr_accessor :measurement
3539
+
3540
+ sig do
3541
+ returns(
3542
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
3543
+ )
3544
+ end
3545
+ attr_accessor :operator
3546
+
3547
+ sig do
3548
+ returns(
3549
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
3550
+ )
3551
+ end
3552
+ attr_accessor :value
3553
+
3554
+ sig do
3555
+ params(
3556
+ measurement: String,
3557
+ operator:
3558
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::OrSymbol,
3559
+ value:
3560
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
3561
+ ).returns(T.attached_class)
3562
+ end
3563
+ def self.new(
3564
+ # The name of the column.
3565
+ measurement:,
3566
+ operator:,
3567
+ value:
3568
+ )
3569
+ end
3570
+
3571
+ sig do
3572
+ override.returns(
3573
+ {
3574
+ measurement: String,
3575
+ operator:
3576
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol,
3577
+ value:
3578
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
3579
+ }
3580
+ )
3581
+ end
3582
+ def to_hash
3583
+ end
3584
+
3585
+ module Operator
3586
+ extend Openlayer::Internal::Type::Enum
3587
+
3588
+ TaggedSymbol =
3589
+ T.type_alias do
3590
+ T.all(
3591
+ Symbol,
3592
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator
3593
+ )
3594
+ end
3595
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3596
+
3597
+ IS =
3598
+ T.let(
3599
+ :is,
3600
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
3601
+ )
3602
+ NOT_EQUALS =
3603
+ T.let(
3604
+ :"!=",
3605
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
3606
+ )
3607
+
3608
+ sig do
3609
+ override.returns(
3610
+ T::Array[
3611
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Operator::TaggedSymbol
3612
+ ]
3613
+ )
3614
+ end
3615
+ def self.values
3616
+ end
3617
+ end
3618
+
3619
+ module Value
3620
+ extend Openlayer::Internal::Type::Union
3621
+
3622
+ Variants = T.type_alias { T.any(String, T::Boolean) }
3623
+
3624
+ sig do
3625
+ override.returns(
3626
+ T::Array[
3627
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::StringColumnFilter::Value::Variants
3628
+ ]
3629
+ )
3630
+ end
3631
+ def self.variants
3632
+ end
3633
+ end
3634
+ end
3635
+
3636
+ sig do
3637
+ override.returns(
3638
+ T::Array[
3639
+ Openlayer::Models::TestListResultsResponse::LastUnskippedResult::RowsBody::ColumnFilter::Variants
3640
+ ]
3641
+ )
3642
+ end
3643
+ def self.variants
3644
+ end
3645
+ end
3646
+ end
3647
+ end
3648
+ end
3649
+ end
3650
+ end