openlayer 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +67 -77
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +17 -3
  7. package/core.d.ts.map +1 -1
  8. package/core.js +30 -17
  9. package/core.js.map +1 -1
  10. package/core.mjs +31 -18
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +8 -5
  13. package/index.d.ts +8 -5
  14. package/index.d.ts.map +1 -1
  15. package/index.js +6 -2
  16. package/index.js.map +1 -1
  17. package/index.mjs +6 -2
  18. package/index.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/resource.d.ts +1 -1
  21. package/resource.d.ts.map +1 -1
  22. package/resource.js.map +1 -1
  23. package/resource.mjs.map +1 -1
  24. package/resources/commits/test-results.d.ts +24 -6
  25. package/resources/commits/test-results.d.ts.map +1 -1
  26. package/resources/inference-pipelines/data.d.ts +23 -1
  27. package/resources/inference-pipelines/data.d.ts.map +1 -1
  28. package/resources/inference-pipelines/data.js +20 -0
  29. package/resources/inference-pipelines/data.js.map +1 -1
  30. package/resources/inference-pipelines/data.mjs +20 -0
  31. package/resources/inference-pipelines/data.mjs.map +1 -1
  32. package/resources/inference-pipelines/inference-pipelines.d.ts +95 -0
  33. package/resources/inference-pipelines/inference-pipelines.d.ts.map +1 -1
  34. package/resources/inference-pipelines/inference-pipelines.js +7 -0
  35. package/resources/inference-pipelines/inference-pipelines.js.map +1 -1
  36. package/resources/inference-pipelines/inference-pipelines.mjs +7 -0
  37. package/resources/inference-pipelines/inference-pipelines.mjs.map +1 -1
  38. package/resources/inference-pipelines/rows.d.ts +8 -0
  39. package/resources/inference-pipelines/rows.d.ts.map +1 -1
  40. package/resources/inference-pipelines/rows.js +8 -0
  41. package/resources/inference-pipelines/rows.js.map +1 -1
  42. package/resources/inference-pipelines/rows.mjs +8 -0
  43. package/resources/inference-pipelines/rows.mjs.map +1 -1
  44. package/resources/inference-pipelines/test-results.d.ts +31 -5
  45. package/resources/inference-pipelines/test-results.d.ts.map +1 -1
  46. package/resources/inference-pipelines/test-results.js.map +1 -1
  47. package/resources/inference-pipelines/test-results.mjs.map +1 -1
  48. package/resources/projects/commits.d.ts +18 -0
  49. package/resources/projects/commits.d.ts.map +1 -1
  50. package/resources/projects/commits.js +11 -0
  51. package/resources/projects/commits.js.map +1 -1
  52. package/resources/projects/commits.mjs +11 -0
  53. package/resources/projects/commits.mjs.map +1 -1
  54. package/resources/projects/index.d.ts +1 -0
  55. package/resources/projects/index.d.ts.map +1 -1
  56. package/resources/projects/index.js +3 -1
  57. package/resources/projects/index.js.map +1 -1
  58. package/resources/projects/index.mjs +1 -0
  59. package/resources/projects/index.mjs.map +1 -1
  60. package/resources/projects/inference-pipelines.d.ts +104 -0
  61. package/resources/projects/inference-pipelines.d.ts.map +1 -1
  62. package/resources/projects/inference-pipelines.js +12 -0
  63. package/resources/projects/inference-pipelines.js.map +1 -1
  64. package/resources/projects/inference-pipelines.mjs +12 -0
  65. package/resources/projects/inference-pipelines.mjs.map +1 -1
  66. package/resources/projects/projects.d.ts +17 -0
  67. package/resources/projects/projects.d.ts.map +1 -1
  68. package/resources/projects/projects.js +12 -0
  69. package/resources/projects/projects.js.map +1 -1
  70. package/resources/projects/projects.mjs +12 -0
  71. package/resources/projects/projects.mjs.map +1 -1
  72. package/resources/projects/tests.d.ts +501 -0
  73. package/resources/projects/tests.d.ts.map +1 -0
  74. package/resources/projects/tests.js +55 -0
  75. package/resources/projects/tests.js.map +1 -0
  76. package/resources/projects/tests.mjs +51 -0
  77. package/resources/projects/tests.mjs.map +1 -0
  78. package/resources.d.ts +2 -0
  79. package/resources.d.ts.map +1 -0
  80. package/resources.js +18 -0
  81. package/resources.js.map +1 -0
  82. package/resources.mjs +2 -0
  83. package/resources.mjs.map +1 -0
  84. package/src/_shims/index.d.ts +2 -0
  85. package/src/_shims/index.js +5 -1
  86. package/src/_shims/index.mjs +5 -1
  87. package/src/core.ts +49 -15
  88. package/src/index.ts +15 -5
  89. package/src/resource.ts +1 -1
  90. package/src/resources/commits/test-results.ts +102 -6
  91. package/src/resources/inference-pipelines/data.ts +21 -1
  92. package/src/resources/inference-pipelines/inference-pipelines.ts +95 -0
  93. package/src/resources/inference-pipelines/rows.ts +8 -0
  94. package/src/resources/inference-pipelines/test-results.ts +109 -5
  95. package/src/resources/projects/commits.ts +18 -0
  96. package/src/resources/projects/index.ts +9 -0
  97. package/src/resources/projects/inference-pipelines.ts +104 -0
  98. package/src/resources/projects/projects.ts +35 -0
  99. package/src/resources/projects/tests.ts +905 -0
  100. package/src/resources.ts +1 -0
  101. package/src/version.ts +1 -1
  102. package/version.d.ts +1 -1
  103. package/version.js +1 -1
  104. package/version.mjs +1 -1
@@ -0,0 +1,905 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../resource';
4
+ import { isRequestOptions } from '../../core';
5
+ import * as Core from '../../core';
6
+
7
+ export class Tests extends APIResource {
8
+ /**
9
+ * Create a test.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const test = await client.projects.tests.create(
14
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
15
+ * {
16
+ * description:
17
+ * 'This test checks for duplicate rows in the dataset.',
18
+ * name: 'No duplicate rows',
19
+ * subtype: 'duplicateRowCount',
20
+ * thresholds: [{}],
21
+ * type: 'integrity',
22
+ * },
23
+ * );
24
+ * ```
25
+ */
26
+ create(
27
+ projectId: string,
28
+ body: TestCreateParams,
29
+ options?: Core.RequestOptions,
30
+ ): Core.APIPromise<TestCreateResponse> {
31
+ return this._client.post(`/projects/${projectId}/tests`, { body, ...options });
32
+ }
33
+
34
+ /**
35
+ * Update tests.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const test = await client.projects.tests.update(
40
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
41
+ * {
42
+ * payloads: [
43
+ * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
44
+ * ],
45
+ * },
46
+ * );
47
+ * ```
48
+ */
49
+ update(
50
+ projectId: string,
51
+ body: TestUpdateParams,
52
+ options?: Core.RequestOptions,
53
+ ): Core.APIPromise<TestUpdateResponse> {
54
+ return this._client.put(`/projects/${projectId}/tests`, { body, ...options });
55
+ }
56
+
57
+ /**
58
+ * List tests under a project.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const tests = await client.projects.tests.list(
63
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
64
+ * );
65
+ * ```
66
+ */
67
+ list(
68
+ projectId: string,
69
+ query?: TestListParams,
70
+ options?: Core.RequestOptions,
71
+ ): Core.APIPromise<TestListResponse>;
72
+ list(projectId: string, options?: Core.RequestOptions): Core.APIPromise<TestListResponse>;
73
+ list(
74
+ projectId: string,
75
+ query: TestListParams | Core.RequestOptions = {},
76
+ options?: Core.RequestOptions,
77
+ ): Core.APIPromise<TestListResponse> {
78
+ if (isRequestOptions(query)) {
79
+ return this.list(projectId, {}, query);
80
+ }
81
+ return this._client.get(`/projects/${projectId}/tests`, { query, ...options });
82
+ }
83
+ }
84
+
85
+ export interface TestCreateResponse {
86
+ /**
87
+ * The test id.
88
+ */
89
+ id: string;
90
+
91
+ /**
92
+ * The number of comments on the test.
93
+ */
94
+ commentCount: number;
95
+
96
+ /**
97
+ * The test creator id.
98
+ */
99
+ creatorId: string | null;
100
+
101
+ /**
102
+ * The date the test was archived.
103
+ */
104
+ dateArchived: string | null;
105
+
106
+ /**
107
+ * The creation date.
108
+ */
109
+ dateCreated: string;
110
+
111
+ /**
112
+ * The last updated date.
113
+ */
114
+ dateUpdated: string;
115
+
116
+ /**
117
+ * The test description.
118
+ */
119
+ description: unknown | null;
120
+
121
+ /**
122
+ * The test name.
123
+ */
124
+ name: string;
125
+
126
+ /**
127
+ * The test number.
128
+ */
129
+ number: number;
130
+
131
+ /**
132
+ * The project version (commit) id where the test was created.
133
+ */
134
+ originProjectVersionId: string | null;
135
+
136
+ /**
137
+ * The test subtype.
138
+ */
139
+ subtype:
140
+ | 'anomalousColumnCount'
141
+ | 'characterLength'
142
+ | 'classImbalanceRatio'
143
+ | 'expectColumnAToBeInColumnB'
144
+ | 'columnAverage'
145
+ | 'columnDrift'
146
+ | 'columnStatistic'
147
+ | 'columnValuesMatch'
148
+ | 'conflictingLabelRowCount'
149
+ | 'containsPii'
150
+ | 'containsValidUrl'
151
+ | 'correlatedFeatureCount'
152
+ | 'customMetricThreshold'
153
+ | 'duplicateRowCount'
154
+ | 'emptyFeature'
155
+ | 'emptyFeatureCount'
156
+ | 'driftedFeatureCount'
157
+ | 'featureMissingValues'
158
+ | 'featureValueValidation'
159
+ | 'greatExpectations'
160
+ | 'groupByColumnStatsCheck'
161
+ | 'illFormedRowCount'
162
+ | 'isCode'
163
+ | 'isJson'
164
+ | 'llmRubricThresholdV2'
165
+ | 'labelDrift'
166
+ | 'metricThreshold'
167
+ | 'newCategoryCount'
168
+ | 'newLabelCount'
169
+ | 'nullRowCount'
170
+ | 'rowCount'
171
+ | 'ppScoreValueValidation'
172
+ | 'quasiConstantFeature'
173
+ | 'quasiConstantFeatureCount'
174
+ | 'sqlQuery'
175
+ | 'dtypeValidation'
176
+ | 'sentenceLength'
177
+ | 'sizeRatio'
178
+ | 'specialCharactersRatio'
179
+ | 'stringValidation'
180
+ | 'trainValLeakageRowCount';
181
+
182
+ /**
183
+ * Whether the test is suggested or user-created.
184
+ */
185
+ suggested: boolean;
186
+
187
+ thresholds: Array<TestCreateResponse.Threshold>;
188
+
189
+ /**
190
+ * The test type.
191
+ */
192
+ type: 'integrity' | 'consistency' | 'performance';
193
+
194
+ /**
195
+ * Whether the test is archived.
196
+ */
197
+ archived?: boolean;
198
+
199
+ /**
200
+ * The delay window in seconds. Only applies to tests that use production data.
201
+ */
202
+ delayWindow?: number | null;
203
+
204
+ /**
205
+ * The evaluation window in seconds. Only applies to tests that use production
206
+ * data.
207
+ */
208
+ evaluationWindow?: number | null;
209
+
210
+ /**
211
+ * Whether the test uses an ML model.
212
+ */
213
+ usesMlModel?: boolean;
214
+
215
+ /**
216
+ * Whether the test uses production data (monitoring mode only).
217
+ */
218
+ usesProductionData?: boolean;
219
+
220
+ /**
221
+ * Whether the test uses a reference dataset (monitoring mode only).
222
+ */
223
+ usesReferenceDataset?: boolean;
224
+
225
+ /**
226
+ * Whether the test uses a training dataset.
227
+ */
228
+ usesTrainingDataset?: boolean;
229
+
230
+ /**
231
+ * Whether the test uses a validation dataset.
232
+ */
233
+ usesValidationDataset?: boolean;
234
+ }
235
+
236
+ export namespace TestCreateResponse {
237
+ export interface Threshold {
238
+ /**
239
+ * The insight name to be evaluated.
240
+ */
241
+ insightName?:
242
+ | 'characterLength'
243
+ | 'classImbalance'
244
+ | 'expectColumnAToBeInColumnB'
245
+ | 'columnAverage'
246
+ | 'columnDrift'
247
+ | 'columnValuesMatch'
248
+ | 'confidenceDistribution'
249
+ | 'conflictingLabelRowCount'
250
+ | 'containsPii'
251
+ | 'containsValidUrl'
252
+ | 'correlatedFeatures'
253
+ | 'customMetric'
254
+ | 'duplicateRowCount'
255
+ | 'emptyFeatures'
256
+ | 'featureDrift'
257
+ | 'featureProfile'
258
+ | 'greatExpectations'
259
+ | 'groupByColumnStatsCheck'
260
+ | 'illFormedRowCount'
261
+ | 'isCode'
262
+ | 'isJson'
263
+ | 'llmRubricV2'
264
+ | 'labelDrift'
265
+ | 'metrics'
266
+ | 'newCategories'
267
+ | 'newLabels'
268
+ | 'nullRowCount'
269
+ | 'ppScore'
270
+ | 'quasiConstantFeatures'
271
+ | 'sentenceLength'
272
+ | 'sizeRatio'
273
+ | 'specialCharacters'
274
+ | 'stringValidation'
275
+ | 'trainValLeakageRowCount';
276
+
277
+ /**
278
+ * The insight parameters. Required only for some test subtypes. For example, for
279
+ * tests that require a column name, the insight parameters will be [{'name':
280
+ * 'column_name', 'value': 'Age'}]
281
+ */
282
+ insightParameters?: Array<Threshold.InsightParameter> | null;
283
+
284
+ /**
285
+ * The measurement to be evaluated.
286
+ */
287
+ measurement?: string;
288
+
289
+ /**
290
+ * The operator to be used for the evaluation.
291
+ */
292
+ operator?: 'is' | '>' | '>=' | '<' | '<=' | '!=';
293
+
294
+ /**
295
+ * Whether to use automatic anomaly detection or manual thresholds
296
+ */
297
+ thresholdMode?: 'automatic' | 'manual';
298
+
299
+ /**
300
+ * The value to be compared.
301
+ */
302
+ value?: number | boolean | string | Array<string>;
303
+ }
304
+
305
+ export namespace Threshold {
306
+ export interface InsightParameter {
307
+ /**
308
+ * The name of the insight filter.
309
+ */
310
+ name: string;
311
+
312
+ value: unknown;
313
+ }
314
+ }
315
+ }
316
+
317
+ export interface TestUpdateResponse {
318
+ taskResultId?: string;
319
+
320
+ taskResultUrl?: string;
321
+ }
322
+
323
+ export interface TestListResponse {
324
+ items: Array<TestListResponse.Item>;
325
+ }
326
+
327
+ export namespace TestListResponse {
328
+ export interface Item {
329
+ /**
330
+ * The test id.
331
+ */
332
+ id: string;
333
+
334
+ /**
335
+ * The number of comments on the test.
336
+ */
337
+ commentCount: number;
338
+
339
+ /**
340
+ * The test creator id.
341
+ */
342
+ creatorId: string | null;
343
+
344
+ /**
345
+ * The date the test was archived.
346
+ */
347
+ dateArchived: string | null;
348
+
349
+ /**
350
+ * The creation date.
351
+ */
352
+ dateCreated: string;
353
+
354
+ /**
355
+ * The last updated date.
356
+ */
357
+ dateUpdated: string;
358
+
359
+ /**
360
+ * The test description.
361
+ */
362
+ description: unknown | null;
363
+
364
+ /**
365
+ * The test name.
366
+ */
367
+ name: string;
368
+
369
+ /**
370
+ * The test number.
371
+ */
372
+ number: number;
373
+
374
+ /**
375
+ * The project version (commit) id where the test was created.
376
+ */
377
+ originProjectVersionId: string | null;
378
+
379
+ /**
380
+ * The test subtype.
381
+ */
382
+ subtype:
383
+ | 'anomalousColumnCount'
384
+ | 'characterLength'
385
+ | 'classImbalanceRatio'
386
+ | 'expectColumnAToBeInColumnB'
387
+ | 'columnAverage'
388
+ | 'columnDrift'
389
+ | 'columnStatistic'
390
+ | 'columnValuesMatch'
391
+ | 'conflictingLabelRowCount'
392
+ | 'containsPii'
393
+ | 'containsValidUrl'
394
+ | 'correlatedFeatureCount'
395
+ | 'customMetricThreshold'
396
+ | 'duplicateRowCount'
397
+ | 'emptyFeature'
398
+ | 'emptyFeatureCount'
399
+ | 'driftedFeatureCount'
400
+ | 'featureMissingValues'
401
+ | 'featureValueValidation'
402
+ | 'greatExpectations'
403
+ | 'groupByColumnStatsCheck'
404
+ | 'illFormedRowCount'
405
+ | 'isCode'
406
+ | 'isJson'
407
+ | 'llmRubricThresholdV2'
408
+ | 'labelDrift'
409
+ | 'metricThreshold'
410
+ | 'newCategoryCount'
411
+ | 'newLabelCount'
412
+ | 'nullRowCount'
413
+ | 'rowCount'
414
+ | 'ppScoreValueValidation'
415
+ | 'quasiConstantFeature'
416
+ | 'quasiConstantFeatureCount'
417
+ | 'sqlQuery'
418
+ | 'dtypeValidation'
419
+ | 'sentenceLength'
420
+ | 'sizeRatio'
421
+ | 'specialCharactersRatio'
422
+ | 'stringValidation'
423
+ | 'trainValLeakageRowCount';
424
+
425
+ /**
426
+ * Whether the test is suggested or user-created.
427
+ */
428
+ suggested: boolean;
429
+
430
+ thresholds: Array<Item.Threshold>;
431
+
432
+ /**
433
+ * The test type.
434
+ */
435
+ type: 'integrity' | 'consistency' | 'performance';
436
+
437
+ /**
438
+ * Whether the test is archived.
439
+ */
440
+ archived?: boolean;
441
+
442
+ /**
443
+ * The delay window in seconds. Only applies to tests that use production data.
444
+ */
445
+ delayWindow?: number | null;
446
+
447
+ /**
448
+ * The evaluation window in seconds. Only applies to tests that use production
449
+ * data.
450
+ */
451
+ evaluationWindow?: number | null;
452
+
453
+ /**
454
+ * Whether the test uses an ML model.
455
+ */
456
+ usesMlModel?: boolean;
457
+
458
+ /**
459
+ * Whether the test uses production data (monitoring mode only).
460
+ */
461
+ usesProductionData?: boolean;
462
+
463
+ /**
464
+ * Whether the test uses a reference dataset (monitoring mode only).
465
+ */
466
+ usesReferenceDataset?: boolean;
467
+
468
+ /**
469
+ * Whether the test uses a training dataset.
470
+ */
471
+ usesTrainingDataset?: boolean;
472
+
473
+ /**
474
+ * Whether the test uses a validation dataset.
475
+ */
476
+ usesValidationDataset?: boolean;
477
+ }
478
+
479
+ export namespace Item {
480
+ export interface Threshold {
481
+ /**
482
+ * The insight name to be evaluated.
483
+ */
484
+ insightName?:
485
+ | 'characterLength'
486
+ | 'classImbalance'
487
+ | 'expectColumnAToBeInColumnB'
488
+ | 'columnAverage'
489
+ | 'columnDrift'
490
+ | 'columnValuesMatch'
491
+ | 'confidenceDistribution'
492
+ | 'conflictingLabelRowCount'
493
+ | 'containsPii'
494
+ | 'containsValidUrl'
495
+ | 'correlatedFeatures'
496
+ | 'customMetric'
497
+ | 'duplicateRowCount'
498
+ | 'emptyFeatures'
499
+ | 'featureDrift'
500
+ | 'featureProfile'
501
+ | 'greatExpectations'
502
+ | 'groupByColumnStatsCheck'
503
+ | 'illFormedRowCount'
504
+ | 'isCode'
505
+ | 'isJson'
506
+ | 'llmRubricV2'
507
+ | 'labelDrift'
508
+ | 'metrics'
509
+ | 'newCategories'
510
+ | 'newLabels'
511
+ | 'nullRowCount'
512
+ | 'ppScore'
513
+ | 'quasiConstantFeatures'
514
+ | 'sentenceLength'
515
+ | 'sizeRatio'
516
+ | 'specialCharacters'
517
+ | 'stringValidation'
518
+ | 'trainValLeakageRowCount';
519
+
520
+ /**
521
+ * The insight parameters. Required only for some test subtypes. For example, for
522
+ * tests that require a column name, the insight parameters will be [{'name':
523
+ * 'column_name', 'value': 'Age'}]
524
+ */
525
+ insightParameters?: Array<Threshold.InsightParameter> | null;
526
+
527
+ /**
528
+ * The measurement to be evaluated.
529
+ */
530
+ measurement?: string;
531
+
532
+ /**
533
+ * The operator to be used for the evaluation.
534
+ */
535
+ operator?: 'is' | '>' | '>=' | '<' | '<=' | '!=';
536
+
537
+ /**
538
+ * Whether to use automatic anomaly detection or manual thresholds
539
+ */
540
+ thresholdMode?: 'automatic' | 'manual';
541
+
542
+ /**
543
+ * The value to be compared.
544
+ */
545
+ value?: number | boolean | string | Array<string>;
546
+ }
547
+
548
+ export namespace Threshold {
549
+ export interface InsightParameter {
550
+ /**
551
+ * The name of the insight filter.
552
+ */
553
+ name: string;
554
+
555
+ value: unknown;
556
+ }
557
+ }
558
+ }
559
+ }
560
+
561
+ export interface TestCreateParams {
562
+ /**
563
+ * The test description.
564
+ */
565
+ description: unknown | null;
566
+
567
+ /**
568
+ * The test name.
569
+ */
570
+ name: string;
571
+
572
+ /**
573
+ * The test subtype.
574
+ */
575
+ subtype:
576
+ | 'anomalousColumnCount'
577
+ | 'characterLength'
578
+ | 'classImbalanceRatio'
579
+ | 'expectColumnAToBeInColumnB'
580
+ | 'columnAverage'
581
+ | 'columnDrift'
582
+ | 'columnStatistic'
583
+ | 'columnValuesMatch'
584
+ | 'conflictingLabelRowCount'
585
+ | 'containsPii'
586
+ | 'containsValidUrl'
587
+ | 'correlatedFeatureCount'
588
+ | 'customMetricThreshold'
589
+ | 'duplicateRowCount'
590
+ | 'emptyFeature'
591
+ | 'emptyFeatureCount'
592
+ | 'driftedFeatureCount'
593
+ | 'featureMissingValues'
594
+ | 'featureValueValidation'
595
+ | 'greatExpectations'
596
+ | 'groupByColumnStatsCheck'
597
+ | 'illFormedRowCount'
598
+ | 'isCode'
599
+ | 'isJson'
600
+ | 'llmRubricThresholdV2'
601
+ | 'labelDrift'
602
+ | 'metricThreshold'
603
+ | 'newCategoryCount'
604
+ | 'newLabelCount'
605
+ | 'nullRowCount'
606
+ | 'rowCount'
607
+ | 'ppScoreValueValidation'
608
+ | 'quasiConstantFeature'
609
+ | 'quasiConstantFeatureCount'
610
+ | 'sqlQuery'
611
+ | 'dtypeValidation'
612
+ | 'sentenceLength'
613
+ | 'sizeRatio'
614
+ | 'specialCharactersRatio'
615
+ | 'stringValidation'
616
+ | 'trainValLeakageRowCount';
617
+
618
+ thresholds: Array<TestCreateParams.Threshold>;
619
+
620
+ /**
621
+ * The test type.
622
+ */
623
+ type: 'integrity' | 'consistency' | 'performance';
624
+
625
+ /**
626
+ * Whether the test is archived.
627
+ */
628
+ archived?: boolean;
629
+
630
+ /**
631
+ * The delay window in seconds. Only applies to tests that use production data.
632
+ */
633
+ delayWindow?: number | null;
634
+
635
+ /**
636
+ * The evaluation window in seconds. Only applies to tests that use production
637
+ * data.
638
+ */
639
+ evaluationWindow?: number | null;
640
+
641
+ /**
642
+ * Whether the test uses an ML model.
643
+ */
644
+ usesMlModel?: boolean;
645
+
646
+ /**
647
+ * Whether the test uses production data (monitoring mode only).
648
+ */
649
+ usesProductionData?: boolean;
650
+
651
+ /**
652
+ * Whether the test uses a reference dataset (monitoring mode only).
653
+ */
654
+ usesReferenceDataset?: boolean;
655
+
656
+ /**
657
+ * Whether the test uses a training dataset.
658
+ */
659
+ usesTrainingDataset?: boolean;
660
+
661
+ /**
662
+ * Whether the test uses a validation dataset.
663
+ */
664
+ usesValidationDataset?: boolean;
665
+ }
666
+
667
+ export namespace TestCreateParams {
668
+ export interface Threshold {
669
+ /**
670
+ * The insight name to be evaluated.
671
+ */
672
+ insightName?:
673
+ | 'characterLength'
674
+ | 'classImbalance'
675
+ | 'expectColumnAToBeInColumnB'
676
+ | 'columnAverage'
677
+ | 'columnDrift'
678
+ | 'columnValuesMatch'
679
+ | 'confidenceDistribution'
680
+ | 'conflictingLabelRowCount'
681
+ | 'containsPii'
682
+ | 'containsValidUrl'
683
+ | 'correlatedFeatures'
684
+ | 'customMetric'
685
+ | 'duplicateRowCount'
686
+ | 'emptyFeatures'
687
+ | 'featureDrift'
688
+ | 'featureProfile'
689
+ | 'greatExpectations'
690
+ | 'groupByColumnStatsCheck'
691
+ | 'illFormedRowCount'
692
+ | 'isCode'
693
+ | 'isJson'
694
+ | 'llmRubricV2'
695
+ | 'labelDrift'
696
+ | 'metrics'
697
+ | 'newCategories'
698
+ | 'newLabels'
699
+ | 'nullRowCount'
700
+ | 'ppScore'
701
+ | 'quasiConstantFeatures'
702
+ | 'sentenceLength'
703
+ | 'sizeRatio'
704
+ | 'specialCharacters'
705
+ | 'stringValidation'
706
+ | 'trainValLeakageRowCount';
707
+
708
+ /**
709
+ * The insight parameters. Required only for some test subtypes. For example, for
710
+ * tests that require a column name, the insight parameters will be [{'name':
711
+ * 'column_name', 'value': 'Age'}]
712
+ */
713
+ insightParameters?: Array<Threshold.InsightParameter> | null;
714
+
715
+ /**
716
+ * The measurement to be evaluated.
717
+ */
718
+ measurement?: string;
719
+
720
+ /**
721
+ * The operator to be used for the evaluation.
722
+ */
723
+ operator?: 'is' | '>' | '>=' | '<' | '<=' | '!=';
724
+
725
+ /**
726
+ * Whether to use automatic anomaly detection or manual thresholds
727
+ */
728
+ thresholdMode?: 'automatic' | 'manual';
729
+
730
+ /**
731
+ * The value to be compared.
732
+ */
733
+ value?: number | boolean | string | Array<string>;
734
+ }
735
+
736
+ export namespace Threshold {
737
+ export interface InsightParameter {
738
+ /**
739
+ * The name of the insight filter.
740
+ */
741
+ name: string;
742
+
743
+ value: unknown;
744
+ }
745
+ }
746
+ }
747
+
748
+ export interface TestUpdateParams {
749
+ payloads: Array<TestUpdateParams.Payload>;
750
+ }
751
+
752
+ export namespace TestUpdateParams {
753
+ export interface Payload {
754
+ id: string;
755
+
756
+ /**
757
+ * Whether the test is archived.
758
+ */
759
+ archived?: boolean;
760
+
761
+ /**
762
+ * The test description.
763
+ */
764
+ description?: unknown | null;
765
+
766
+ /**
767
+ * The test name.
768
+ */
769
+ name?: string;
770
+
771
+ suggested?: false;
772
+
773
+ thresholds?: Array<Payload.Threshold>;
774
+ }
775
+
776
+ export namespace Payload {
777
+ export interface Threshold {
778
+ /**
779
+ * The insight name to be evaluated.
780
+ */
781
+ insightName?:
782
+ | 'characterLength'
783
+ | 'classImbalance'
784
+ | 'expectColumnAToBeInColumnB'
785
+ | 'columnAverage'
786
+ | 'columnDrift'
787
+ | 'columnValuesMatch'
788
+ | 'confidenceDistribution'
789
+ | 'conflictingLabelRowCount'
790
+ | 'containsPii'
791
+ | 'containsValidUrl'
792
+ | 'correlatedFeatures'
793
+ | 'customMetric'
794
+ | 'duplicateRowCount'
795
+ | 'emptyFeatures'
796
+ | 'featureDrift'
797
+ | 'featureProfile'
798
+ | 'greatExpectations'
799
+ | 'groupByColumnStatsCheck'
800
+ | 'illFormedRowCount'
801
+ | 'isCode'
802
+ | 'isJson'
803
+ | 'llmRubricV2'
804
+ | 'labelDrift'
805
+ | 'metrics'
806
+ | 'newCategories'
807
+ | 'newLabels'
808
+ | 'nullRowCount'
809
+ | 'ppScore'
810
+ | 'quasiConstantFeatures'
811
+ | 'sentenceLength'
812
+ | 'sizeRatio'
813
+ | 'specialCharacters'
814
+ | 'stringValidation'
815
+ | 'trainValLeakageRowCount';
816
+
817
+ /**
818
+ * The insight parameters. Required only for some test subtypes. For example, for
819
+ * tests that require a column name, the insight parameters will be [{'name':
820
+ * 'column_name', 'value': 'Age'}]
821
+ */
822
+ insightParameters?: Array<Threshold.InsightParameter> | null;
823
+
824
+ /**
825
+ * The measurement to be evaluated.
826
+ */
827
+ measurement?: string;
828
+
829
+ /**
830
+ * The operator to be used for the evaluation.
831
+ */
832
+ operator?: 'is' | '>' | '>=' | '<' | '<=' | '!=';
833
+
834
+ /**
835
+ * Whether to use automatic anomaly detection or manual thresholds
836
+ */
837
+ thresholdMode?: 'automatic' | 'manual';
838
+
839
+ /**
840
+ * The value to be compared.
841
+ */
842
+ value?: number | boolean | string | Array<string>;
843
+ }
844
+
845
+ export namespace Threshold {
846
+ export interface InsightParameter {
847
+ /**
848
+ * The name of the insight filter.
849
+ */
850
+ name: string;
851
+
852
+ value: unknown;
853
+ }
854
+ }
855
+ }
856
+ }
857
+
858
+ export interface TestListParams {
859
+ /**
860
+ * Filter for archived tests.
861
+ */
862
+ includeArchived?: boolean;
863
+
864
+ /**
865
+ * Retrive tests created by a specific project version.
866
+ */
867
+ originVersionId?: string | null;
868
+
869
+ /**
870
+ * The page to return in a paginated query.
871
+ */
872
+ page?: number;
873
+
874
+ /**
875
+ * Maximum number of items to return per page.
876
+ */
877
+ perPage?: number;
878
+
879
+ /**
880
+ * Filter for suggested tests.
881
+ */
882
+ suggested?: boolean;
883
+
884
+ /**
885
+ * Filter objects by test type. Available types are `integrity`, `consistency`,
886
+ * `performance`, `fairness`, and `robustness`.
887
+ */
888
+ type?: 'integrity' | 'consistency' | 'performance' | 'fairness' | 'robustness';
889
+
890
+ /**
891
+ * Retrive tests with usesProductionData (monitoring).
892
+ */
893
+ usesProductionData?: boolean | null;
894
+ }
895
+
896
+ export declare namespace Tests {
897
+ export {
898
+ type TestCreateResponse as TestCreateResponse,
899
+ type TestUpdateResponse as TestUpdateResponse,
900
+ type TestListResponse as TestListResponse,
901
+ type TestCreateParams as TestCreateParams,
902
+ type TestUpdateParams as TestUpdateParams,
903
+ type TestListParams as TestListParams,
904
+ };
905
+ }