@kadoa/node-sdk 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -105,95 +105,1640 @@ declare class Configuration {
105
105
  * Do not edit the class manually.
106
106
  */
107
107
  /**
108
- * Request body for creating a new crawling configuration
108
+ * Raw anomaly data with rule and column information
109
109
  * @export
110
- * @interface CreateCrawlerConfigRequest
110
+ * @interface AnomalyRow
111
111
  */
112
- interface CreateCrawlerConfigRequest {
112
+ interface AnomalyRow {
113
113
  /**
114
- * Single URL to start crawling (for backward compatibility)
114
+ *
115
115
  * @type {string}
116
- * @memberof CreateCrawlerConfigRequest
116
+ * @memberof AnomalyRow
117
117
  */
118
- 'url'?: string;
118
+ '__rule__': string;
119
119
  /**
120
- * List of URLs for crawling
121
- * @type {Array<string>}
122
- * @memberof CreateCrawlerConfigRequest
120
+ *
121
+ * @type {string}
122
+ * @memberof AnomalyRow
123
123
  */
124
- 'startUrls'?: Array<string>;
124
+ '__id__': string;
125
125
  /**
126
- * Regex patterns to include specific paths
127
- * @type {Array<string>}
128
- * @memberof CreateCrawlerConfigRequest
126
+ *
127
+ * @type {string}
128
+ * @memberof AnomalyRow
129
129
  */
130
- 'pathsFilterIn'?: Array<string>;
130
+ '__column__': string;
131
131
  /**
132
- * Regex patterns to exclude specific paths
133
- * @type {Array<string>}
134
- * @memberof CreateCrawlerConfigRequest
132
+ *
133
+ * @type {string}
134
+ * @memberof AnomalyRow
135
135
  */
136
- 'pathsFilterOut'?: Array<string>;
136
+ '__type__': string;
137
137
  /**
138
- * Type of proxy to use
139
- * @type {string}
140
- * @memberof CreateCrawlerConfigRequest
138
+ *
139
+ * @type {any}
140
+ * @memberof AnomalyRow
141
141
  */
142
- 'proxyType'?: string | null;
142
+ '__bad_value__'?: any | null;
143
143
  /**
144
- * Country for proxy selection
144
+ *
145
145
  * @type {string}
146
- * @memberof CreateCrawlerConfigRequest
146
+ * @memberof AnomalyRow
147
147
  */
148
- 'proxyCountry'?: string | null;
148
+ '__status__'?: AnomalyRowStatusEnum | null;
149
+ }
150
+ declare const AnomalyRowStatusEnum: {
151
+ readonly New: "NEW";
152
+ readonly Ongoing: "ONGOING";
153
+ readonly Resolved: "RESOLVED";
154
+ readonly Reopened: "REOPENED";
155
+ };
156
+ type AnomalyRowStatusEnum = typeof AnomalyRowStatusEnum[keyof typeof AnomalyRowStatusEnum];
157
+
158
+ /**
159
+ * Kadoa API
160
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
161
+ *
162
+ * The version of the OpenAPI document: 3.0.0
163
+ * Contact: support@kadoa.com
164
+ *
165
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
166
+ * https://openapi-generator.tech
167
+ * Do not edit the class manually.
168
+ */
169
+ /**
170
+ * Metadata for paginated responses including page info and totals
171
+ * @export
172
+ * @interface PaginationMeta
173
+ */
174
+ interface PaginationMeta {
149
175
  /**
150
- * Timeout in milliseconds
176
+ * Page number for pagination
151
177
  * @type {number}
152
- * @memberof CreateCrawlerConfigRequest
178
+ * @memberof PaginationMeta
153
179
  */
154
- 'timeout'?: number;
180
+ 'page': number;
155
181
  /**
156
- * Maximum crawling depth
182
+ * Number of items per page
157
183
  * @type {number}
158
- * @memberof CreateCrawlerConfigRequest
184
+ * @memberof PaginationMeta
159
185
  */
160
- 'maxDepth'?: number;
186
+ 'pageSize': number;
161
187
  /**
162
- * Maximum number of pages to crawl
188
+ * Total number of items available
163
189
  * @type {number}
164
- * @memberof CreateCrawlerConfigRequest
190
+ * @memberof PaginationMeta
165
191
  */
166
- 'maxPages'?: number;
192
+ 'totalItems': number;
167
193
  /**
168
- * Number of concurrent crawlers
194
+ * Total number of pages
169
195
  * @type {number}
170
- * @memberof CreateCrawlerConfigRequest
196
+ * @memberof PaginationMeta
171
197
  */
172
- 'concurrency'?: number;
198
+ 'totalPages': number;
199
+ }
200
+
201
+ /**
202
+ * Kadoa API
203
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
204
+ *
205
+ * The version of the OpenAPI document: 3.0.0
206
+ * Contact: support@kadoa.com
207
+ *
208
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
209
+ * https://openapi-generator.tech
210
+ * Do not edit the class manually.
211
+ */
212
+
213
+ /**
214
+ * Anomalies grouped by rule with pagination
215
+ * @export
216
+ * @interface AnomalyRuleData
217
+ */
218
+ interface AnomalyRuleData {
173
219
  /**
174
- * Whether to stay within the same domain
175
- * @type {boolean}
176
- * @memberof CreateCrawlerConfigRequest
220
+ *
221
+ * @type {string}
222
+ * @memberof AnomalyRuleData
177
223
  */
178
- 'strictDomain'?: boolean;
224
+ 'ruleName': string;
179
225
  /**
180
- * Whether to load images during crawling
226
+ *
227
+ * @type {Array<AnomalyRow>}
228
+ * @memberof AnomalyRuleData
229
+ */
230
+ 'anomalies': Array<AnomalyRow>;
231
+ /**
232
+ *
233
+ * @type {PaginationMeta}
234
+ * @memberof AnomalyRuleData
235
+ */
236
+ 'pagination': PaginationMeta;
237
+ }
238
+
239
+ /**
240
+ * Kadoa API
241
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
242
+ *
243
+ * The version of the OpenAPI document: 3.0.0
244
+ * Contact: support@kadoa.com
245
+ *
246
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
247
+ * https://openapi-generator.tech
248
+ * Do not edit the class manually.
249
+ */
250
+
251
+ /**
252
+ * All anomalies grouped by validation rules
253
+ * @export
254
+ * @interface AnomaliesByRuleResponse
255
+ */
256
+ interface AnomaliesByRuleResponse {
257
+ /**
258
+ *
259
+ * @type {Array<AnomalyRuleData>}
260
+ * @memberof AnomaliesByRuleResponse
261
+ */
262
+ 'anomaliesByRule': Array<AnomalyRuleData>;
263
+ }
264
+
265
+ /**
266
+ * Kadoa API
267
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
268
+ *
269
+ * The version of the OpenAPI document: 3.0.0
270
+ * Contact: support@kadoa.com
271
+ *
272
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
273
+ * https://openapi-generator.tech
274
+ * Do not edit the class manually.
275
+ */
276
+
277
+ /**
278
+ * Paginated anomalies for a specific rule
279
+ * @export
280
+ * @interface AnomalyRulePageResponse
281
+ */
282
+ interface AnomalyRulePageResponse {
283
+ /**
284
+ *
285
+ * @type {string}
286
+ * @memberof AnomalyRulePageResponse
287
+ */
288
+ 'ruleName': string;
289
+ /**
290
+ *
291
+ * @type {Array<AnomalyRow>}
292
+ * @memberof AnomalyRulePageResponse
293
+ */
294
+ 'anomalies': Array<AnomalyRow>;
295
+ /**
296
+ *
297
+ * @type {PaginationMeta}
298
+ * @memberof AnomalyRulePageResponse
299
+ */
300
+ 'pagination': PaginationMeta;
301
+ }
302
+
303
+ /**
304
+ * Kadoa API
305
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
306
+ *
307
+ * The version of the OpenAPI document: 3.0.0
308
+ * Contact: support@kadoa.com
309
+ *
310
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
311
+ * https://openapi-generator.tech
312
+ * Do not edit the class manually.
313
+ */
314
+ /**
315
+ * Request to bulk approve specific preview rules for a workflow
316
+ * @export
317
+ * @interface BulkApproveRules
318
+ */
319
+ interface BulkApproveRules {
320
+ /**
321
+ *
322
+ * @type {string}
323
+ * @memberof BulkApproveRules
324
+ */
325
+ 'workflowId': string;
326
+ /**
327
+ *
328
+ * @type {Array<string>}
329
+ * @memberof BulkApproveRules
330
+ */
331
+ 'ruleIds': Array<string>;
332
+ }
333
+
334
+ /**
335
+ * Kadoa API
336
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
337
+ *
338
+ * The version of the OpenAPI document: 3.0.0
339
+ * Contact: support@kadoa.com
340
+ *
341
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
342
+ * https://openapi-generator.tech
343
+ * Do not edit the class manually.
344
+ */
345
+ /**
346
+ *
347
+ * @export
348
+ * @interface BulkApproveRulesResponseData
349
+ */
350
+ interface BulkApproveRulesResponseData$1 {
351
+ /**
352
+ *
353
+ * @type {number}
354
+ * @memberof BulkApproveRulesResponseData
355
+ */
356
+ 'approvedCount': number;
357
+ /**
358
+ *
359
+ * @type {number}
360
+ * @memberof BulkApproveRulesResponseData
361
+ */
362
+ 'skippedCount': number;
363
+ /**
364
+ *
365
+ * @type {string}
366
+ * @memberof BulkApproveRulesResponseData
367
+ */
368
+ 'workflowId': string;
369
+ /**
370
+ *
371
+ * @type {Array<string>}
372
+ * @memberof BulkApproveRulesResponseData
373
+ */
374
+ 'approvedRuleIds': Array<string>;
375
+ /**
376
+ *
377
+ * @type {Array<string>}
378
+ * @memberof BulkApproveRulesResponseData
379
+ */
380
+ 'skippedRuleIds': Array<string>;
381
+ }
382
+
383
+ /**
384
+ * Kadoa API
385
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
386
+ *
387
+ * The version of the OpenAPI document: 3.0.0
388
+ * Contact: support@kadoa.com
389
+ *
390
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
391
+ * https://openapi-generator.tech
392
+ * Do not edit the class manually.
393
+ */
394
+
395
+ /**
396
+ * Summary of bulk rule approval operation with detailed results
397
+ * @export
398
+ * @interface BulkApproveRulesResponse
399
+ */
400
+ interface BulkApproveRulesResponse {
401
+ /**
402
+ *
181
403
  * @type {boolean}
182
- * @memberof CreateCrawlerConfigRequest
404
+ * @memberof BulkApproveRulesResponse
405
+ */
406
+ 'error': boolean;
407
+ /**
408
+ *
409
+ * @type {string}
410
+ * @memberof BulkApproveRulesResponse
411
+ */
412
+ 'message': string;
413
+ /**
414
+ *
415
+ * @type {BulkApproveRulesResponseData}
416
+ * @memberof BulkApproveRulesResponse
417
+ */
418
+ 'data': BulkApproveRulesResponseData$1;
419
+ }
420
+
421
+ /**
422
+ * Kadoa API
423
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
424
+ *
425
+ * The version of the OpenAPI document: 3.0.0
426
+ * Contact: support@kadoa.com
427
+ *
428
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
429
+ * https://openapi-generator.tech
430
+ * Do not edit the class manually.
431
+ */
432
+ /**
433
+ * Request to bulk delete specific rules for a workflow
434
+ * @export
435
+ * @interface BulkDeleteRules
436
+ */
437
+ interface BulkDeleteRules {
438
+ /**
439
+ *
440
+ * @type {string}
441
+ * @memberof BulkDeleteRules
442
+ */
443
+ 'workflowId': string;
444
+ /**
445
+ *
446
+ * @type {Array<string>}
447
+ * @memberof BulkDeleteRules
448
+ */
449
+ 'ruleIds': Array<string>;
450
+ /**
451
+ *
452
+ * @type {string}
453
+ * @memberof BulkDeleteRules
454
+ */
455
+ 'reason'?: string;
456
+ }
457
+
458
+ /**
459
+ * Kadoa API
460
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
461
+ *
462
+ * The version of the OpenAPI document: 3.0.0
463
+ * Contact: support@kadoa.com
464
+ *
465
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
466
+ * https://openapi-generator.tech
467
+ * Do not edit the class manually.
468
+ */
469
+ /**
470
+ *
471
+ * @export
472
+ * @interface BulkDeleteRulesResponseData
473
+ */
474
+ interface BulkDeleteRulesResponseData$1 {
475
+ /**
476
+ *
477
+ * @type {number}
478
+ * @memberof BulkDeleteRulesResponseData
479
+ */
480
+ 'deletedCount': number;
481
+ /**
482
+ *
483
+ * @type {string}
484
+ * @memberof BulkDeleteRulesResponseData
485
+ */
486
+ 'workflowId': string;
487
+ /**
488
+ *
489
+ * @type {Array<string>}
490
+ * @memberof BulkDeleteRulesResponseData
491
+ */
492
+ 'deletedRuleIds': Array<string>;
493
+ }
494
+
495
+ /**
496
+ * Kadoa API
497
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
498
+ *
499
+ * The version of the OpenAPI document: 3.0.0
500
+ * Contact: support@kadoa.com
501
+ *
502
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
503
+ * https://openapi-generator.tech
504
+ * Do not edit the class manually.
505
+ */
506
+
507
+ /**
508
+ * Summary of bulk rule deletion operation with detailed results
509
+ * @export
510
+ * @interface BulkDeleteRulesResponse
511
+ */
512
+ interface BulkDeleteRulesResponse {
513
+ /**
514
+ *
515
+ * @type {boolean}
516
+ * @memberof BulkDeleteRulesResponse
517
+ */
518
+ 'error': boolean;
519
+ /**
520
+ *
521
+ * @type {string}
522
+ * @memberof BulkDeleteRulesResponse
523
+ */
524
+ 'message': string;
525
+ /**
526
+ *
527
+ * @type {BulkDeleteRulesResponseData}
528
+ * @memberof BulkDeleteRulesResponse
529
+ */
530
+ 'data': BulkDeleteRulesResponseData$1;
531
+ }
532
+
533
+ /**
534
+ * Kadoa API
535
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
536
+ *
537
+ * The version of the OpenAPI document: 3.0.0
538
+ * Contact: support@kadoa.com
539
+ *
540
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
541
+ * https://openapi-generator.tech
542
+ * Do not edit the class manually.
543
+ */
544
+ /**
545
+ *
546
+ * @export
547
+ * @interface ChangeDetectionRecord
548
+ */
549
+ interface ChangeDetectionRecord {
550
+ /**
551
+ *
552
+ * @type {number}
553
+ * @memberof ChangeDetectionRecord
554
+ */
555
+ 'count': number;
556
+ /**
557
+ *
558
+ * @type {number}
559
+ * @memberof ChangeDetectionRecord
560
+ */
561
+ 'change': number;
562
+ }
563
+
564
+ /**
565
+ * Kadoa API
566
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
567
+ *
568
+ * The version of the OpenAPI document: 3.0.0
569
+ * Contact: support@kadoa.com
570
+ *
571
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
572
+ * https://openapi-generator.tech
573
+ * Do not edit the class manually.
574
+ */
575
+
576
+ /**
577
+ *
578
+ * @export
579
+ * @interface ChangeDetectionResultAnomalyCountChanges
580
+ */
581
+ interface ChangeDetectionResultAnomalyCountChanges {
582
+ /**
583
+ *
584
+ * @type {string}
585
+ * @memberof ChangeDetectionResultAnomalyCountChanges
586
+ */
587
+ 'previousJobId': string;
588
+ /**
589
+ *
590
+ * @type {string}
591
+ * @memberof ChangeDetectionResultAnomalyCountChanges
592
+ */
593
+ 'previousValidationId': string;
594
+ /**
595
+ *
596
+ * @type {ChangeDetectionRecord}
597
+ * @memberof ChangeDetectionResultAnomalyCountChanges
598
+ */
599
+ 'anomaliesCountTotal': ChangeDetectionRecord;
600
+ /**
601
+ *
602
+ * @type {{ [key: string]: ChangeDetectionRecord; }}
603
+ * @memberof ChangeDetectionResultAnomalyCountChanges
604
+ */
605
+ 'anomaliesCountByRule': {
606
+ [key: string]: ChangeDetectionRecord;
607
+ };
608
+ }
609
+
610
+ /**
611
+ * Kadoa API
612
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
613
+ *
614
+ * The version of the OpenAPI document: 3.0.0
615
+ * Contact: support@kadoa.com
616
+ *
617
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
618
+ * https://openapi-generator.tech
619
+ * Do not edit the class manually.
620
+ */
621
+ /**
622
+ *
623
+ * @export
624
+ * @interface ChangeDetectionResultStatusCounts
625
+ */
626
+ interface ChangeDetectionResultStatusCounts {
627
+ /**
628
+ *
629
+ * @type {number}
630
+ * @memberof ChangeDetectionResultStatusCounts
631
+ */
632
+ 'NEW': number;
633
+ /**
634
+ *
635
+ * @type {number}
636
+ * @memberof ChangeDetectionResultStatusCounts
637
+ */
638
+ 'ONGOING': number;
639
+ /**
640
+ *
641
+ * @type {number}
642
+ * @memberof ChangeDetectionResultStatusCounts
643
+ */
644
+ 'RESOLVED': number;
645
+ /**
646
+ *
647
+ * @type {number}
648
+ * @memberof ChangeDetectionResultStatusCounts
649
+ */
650
+ 'REOPENED'?: number;
651
+ }
652
+
653
+ /**
654
+ * Kadoa API
655
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
656
+ *
657
+ * The version of the OpenAPI document: 3.0.0
658
+ * Contact: support@kadoa.com
659
+ *
660
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
661
+ * https://openapi-generator.tech
662
+ * Do not edit the class manually.
663
+ */
664
+
665
+ /**
666
+ *
667
+ * @export
668
+ * @interface ChangeDetectionResult
669
+ */
670
+ interface ChangeDetectionResult {
671
+ /**
672
+ * ISOLATED validates each dataset independently. LINKING_COLUMNS validates data integrity across linked columns between datasets.
673
+ * @type {string}
674
+ * @memberof ChangeDetectionResult
675
+ */
676
+ 'strategy'?: ChangeDetectionResultStrategyEnum;
677
+ /**
678
+ *
679
+ * @type {ChangeDetectionResultAnomalyCountChanges}
680
+ * @memberof ChangeDetectionResult
681
+ */
682
+ 'anomalyCountChanges'?: ChangeDetectionResultAnomalyCountChanges;
683
+ /**
684
+ *
685
+ * @type {string}
686
+ * @memberof ChangeDetectionResult
687
+ */
688
+ 'anomaliesStatusParquetPath'?: string;
689
+ /**
690
+ *
691
+ * @type {ChangeDetectionResultStatusCounts}
692
+ * @memberof ChangeDetectionResult
693
+ */
694
+ 'statusCounts'?: ChangeDetectionResultStatusCounts;
695
+ }
696
+ declare const ChangeDetectionResultStrategyEnum: {
697
+ readonly Isolated: "ISOLATED";
698
+ readonly LinkingColumns: "LINKING_COLUMNS";
699
+ };
700
+ type ChangeDetectionResultStrategyEnum = typeof ChangeDetectionResultStrategyEnum[keyof typeof ChangeDetectionResultStrategyEnum];
701
+
702
+ /**
703
+ * Kadoa API
704
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
705
+ *
706
+ * The version of the OpenAPI document: 3.0.0
707
+ * Contact: support@kadoa.com
708
+ *
709
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
710
+ * https://openapi-generator.tech
711
+ * Do not edit the class manually.
712
+ */
713
+ /**
714
+ * Request body for creating a new crawling configuration
715
+ * @export
716
+ * @interface CreateCrawlerConfigRequest
717
+ */
718
+ interface CreateCrawlerConfigRequest {
719
+ /**
720
+ * Single URL to start crawling (for backward compatibility)
721
+ * @type {string}
722
+ * @memberof CreateCrawlerConfigRequest
723
+ */
724
+ 'url'?: string;
725
+ /**
726
+ * List of URLs for crawling
727
+ * @type {Array<string>}
728
+ * @memberof CreateCrawlerConfigRequest
729
+ */
730
+ 'startUrls'?: Array<string>;
731
+ /**
732
+ * Regex patterns to include specific paths
733
+ * @type {Array<string>}
734
+ * @memberof CreateCrawlerConfigRequest
735
+ */
736
+ 'pathsFilterIn'?: Array<string>;
737
+ /**
738
+ * Regex patterns to exclude specific paths
739
+ * @type {Array<string>}
740
+ * @memberof CreateCrawlerConfigRequest
741
+ */
742
+ 'pathsFilterOut'?: Array<string>;
743
+ /**
744
+ * Type of proxy to use
745
+ * @type {string}
746
+ * @memberof CreateCrawlerConfigRequest
747
+ */
748
+ 'proxyType'?: string | null;
749
+ /**
750
+ * Country for proxy selection
751
+ * @type {string}
752
+ * @memberof CreateCrawlerConfigRequest
753
+ */
754
+ 'proxyCountry'?: string | null;
755
+ /**
756
+ * Timeout in milliseconds
757
+ * @type {number}
758
+ * @memberof CreateCrawlerConfigRequest
759
+ */
760
+ 'timeout'?: number;
761
+ /**
762
+ * Maximum crawling depth
763
+ * @type {number}
764
+ * @memberof CreateCrawlerConfigRequest
765
+ */
766
+ 'maxDepth'?: number;
767
+ /**
768
+ * Maximum number of pages to crawl
769
+ * @type {number}
770
+ * @memberof CreateCrawlerConfigRequest
771
+ */
772
+ 'maxPages'?: number;
773
+ /**
774
+ * Number of concurrent crawlers
775
+ * @type {number}
776
+ * @memberof CreateCrawlerConfigRequest
777
+ */
778
+ 'concurrency'?: number;
779
+ /**
780
+ * Whether to stay within the same domain
781
+ * @type {boolean}
782
+ * @memberof CreateCrawlerConfigRequest
783
+ */
784
+ 'strictDomain'?: boolean;
785
+ /**
786
+ * Whether to load images during crawling
787
+ * @type {boolean}
788
+ * @memberof CreateCrawlerConfigRequest
789
+ */
790
+ 'loadImages'?: boolean;
791
+ /**
792
+ * Enable safe mode for crawling
793
+ * @type {boolean}
794
+ * @memberof CreateCrawlerConfigRequest
795
+ */
796
+ 'safeMode'?: boolean;
797
+ /**
798
+ * Webhook URL for completion notifications
799
+ * @type {string}
800
+ * @memberof CreateCrawlerConfigRequest
801
+ */
802
+ 'callbackUrl'?: string | null;
803
+ }
804
+
805
+ /**
806
+ * Kadoa API
807
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
808
+ *
809
+ * The version of the OpenAPI document: 3.0.0
810
+ * Contact: support@kadoa.com
811
+ *
812
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
813
+ * https://openapi-generator.tech
814
+ * Do not edit the class manually.
815
+ */
816
+ /**
817
+ * Response schema for creating a new crawling configuration
818
+ * @export
819
+ * @interface CreateCrawlerConfigResponse
820
+ */
821
+ interface CreateCrawlerConfigResponse {
822
+ /**
823
+ * Single URL to start crawling (for backward compatibility)
824
+ * @type {string}
825
+ * @memberof CreateCrawlerConfigResponse
826
+ */
827
+ 'url'?: string;
828
+ /**
829
+ * List of URLs for crawling
830
+ * @type {Array<string>}
831
+ * @memberof CreateCrawlerConfigResponse
832
+ */
833
+ 'startUrls'?: Array<string>;
834
+ /**
835
+ * Regex patterns to include specific paths
836
+ * @type {Array<string>}
837
+ * @memberof CreateCrawlerConfigResponse
838
+ */
839
+ 'pathsFilterIn'?: Array<string>;
840
+ /**
841
+ * Regex patterns to exclude specific paths
842
+ * @type {Array<string>}
843
+ * @memberof CreateCrawlerConfigResponse
844
+ */
845
+ 'pathsFilterOut'?: Array<string>;
846
+ /**
847
+ * Type of proxy to use
848
+ * @type {string}
849
+ * @memberof CreateCrawlerConfigResponse
850
+ */
851
+ 'proxyType'?: string | null;
852
+ /**
853
+ * Country for proxy selection
854
+ * @type {string}
855
+ * @memberof CreateCrawlerConfigResponse
856
+ */
857
+ 'proxyCountry'?: string | null;
858
+ /**
859
+ * Timeout in milliseconds
860
+ * @type {number}
861
+ * @memberof CreateCrawlerConfigResponse
862
+ */
863
+ 'timeout'?: number;
864
+ /**
865
+ * Maximum crawling depth
866
+ * @type {number}
867
+ * @memberof CreateCrawlerConfigResponse
868
+ */
869
+ 'maxDepth'?: number;
870
+ /**
871
+ * Maximum number of pages to crawl
872
+ * @type {number}
873
+ * @memberof CreateCrawlerConfigResponse
874
+ */
875
+ 'maxPages'?: number;
876
+ /**
877
+ * Number of concurrent crawlers
878
+ * @type {number}
879
+ * @memberof CreateCrawlerConfigResponse
880
+ */
881
+ 'concurrency'?: number;
882
+ /**
883
+ * Whether to stay within the same domain
884
+ * @type {boolean}
885
+ * @memberof CreateCrawlerConfigResponse
886
+ */
887
+ 'strictDomain'?: boolean;
888
+ /**
889
+ * Whether to load images during crawling
890
+ * @type {boolean}
891
+ * @memberof CreateCrawlerConfigResponse
892
+ */
893
+ 'loadImages'?: boolean;
894
+ /**
895
+ * Enable safe mode for crawling
896
+ * @type {boolean}
897
+ * @memberof CreateCrawlerConfigResponse
898
+ */
899
+ 'safeMode'?: boolean;
900
+ /**
901
+ * Webhook URL for completion notifications
902
+ * @type {string}
903
+ * @memberof CreateCrawlerConfigResponse
904
+ */
905
+ 'callbackUrl'?: string | null;
906
+ /**
907
+ * Config ID
908
+ * @type {string}
909
+ * @memberof CreateCrawlerConfigResponse
910
+ */
911
+ 'configId': string;
912
+ /**
913
+ * User ID
914
+ * @type {string}
915
+ * @memberof CreateCrawlerConfigResponse
916
+ */
917
+ 'userId': string;
918
+ /**
919
+ * Created at
920
+ * @type {string}
921
+ * @memberof CreateCrawlerConfigResponse
922
+ */
923
+ 'createdAt': string;
924
+ }
925
+
926
+ /**
927
+ * Kadoa API
928
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
929
+ *
930
+ * The version of the OpenAPI document: 3.0.0
931
+ * Contact: support@kadoa.com
932
+ *
933
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
934
+ * https://openapi-generator.tech
935
+ * Do not edit the class manually.
936
+ */
937
+ /**
938
+ *
939
+ * @export
940
+ * @interface CreateRuleParameters
941
+ */
942
+ interface CreateRuleParameters {
943
+ /**
944
+ *
945
+ * @type {string}
946
+ * @memberof CreateRuleParameters
947
+ */
948
+ 'sql'?: string;
949
+ /**
950
+ *
951
+ * @type {Array<any | null>}
952
+ * @memberof CreateRuleParameters
953
+ */
954
+ 'params'?: Array<any | null>;
955
+ }
956
+
957
+ /**
958
+ * Kadoa API
959
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
960
+ *
961
+ * The version of the OpenAPI document: 3.0.0
962
+ * Contact: support@kadoa.com
963
+ *
964
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
965
+ * https://openapi-generator.tech
966
+ * Do not edit the class manually.
967
+ */
968
+ /**
969
+ * Status of a validation rule
970
+ * @export
971
+ * @enum {string}
972
+ */
973
+ declare const ValidationRuleStatus: {
974
+ readonly Preview: "preview";
975
+ readonly Enabled: "enabled";
976
+ readonly Disabled: "disabled";
977
+ };
978
+ type ValidationRuleStatus = typeof ValidationRuleStatus[keyof typeof ValidationRuleStatus];
979
+
980
+ /**
981
+ * Kadoa API
982
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
983
+ *
984
+ * The version of the OpenAPI document: 3.0.0
985
+ * Contact: support@kadoa.com
986
+ *
987
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
988
+ * https://openapi-generator.tech
989
+ * Do not edit the class manually.
990
+ */
991
+
992
+ /**
993
+ * Request body for creating a new validation rule
994
+ * @export
995
+ * @interface CreateRule
996
+ */
997
+ interface CreateRule {
998
+ /**
999
+ *
1000
+ * @type {string}
1001
+ * @memberof CreateRule
1002
+ */
1003
+ 'name': string;
1004
+ /**
1005
+ *
1006
+ * @type {string}
1007
+ * @memberof CreateRule
1008
+ */
1009
+ 'description'?: string;
1010
+ /**
1011
+ *
1012
+ * @type {string}
1013
+ * @memberof CreateRule
1014
+ */
1015
+ 'ruleType': CreateRuleRuleTypeEnum;
1016
+ /**
1017
+ *
1018
+ * @type {string}
1019
+ * @memberof CreateRule
1020
+ */
1021
+ 'workflowId'?: string;
1022
+ /**
1023
+ *
1024
+ * @type {Array<string>}
1025
+ * @memberof CreateRule
1026
+ */
1027
+ 'targetColumns'?: Array<string>;
1028
+ /**
1029
+ *
1030
+ * @type {CreateRuleParameters}
1031
+ * @memberof CreateRule
1032
+ */
1033
+ 'parameters': CreateRuleParameters;
1034
+ /**
1035
+ *
1036
+ * @type {ValidationRuleStatus}
1037
+ * @memberof CreateRule
1038
+ */
1039
+ 'status'?: ValidationRuleStatus;
1040
+ /**
1041
+ *
1042
+ * @type {{ [key: string]: any | null; }}
1043
+ * @memberof CreateRule
1044
+ */
1045
+ 'metadata'?: {
1046
+ [key: string]: any | null;
1047
+ };
1048
+ }
1049
+ declare const CreateRuleRuleTypeEnum: {
1050
+ readonly CustomSql: "custom_sql";
1051
+ };
1052
+ type CreateRuleRuleTypeEnum = typeof CreateRuleRuleTypeEnum[keyof typeof CreateRuleRuleTypeEnum];
1053
+
1054
+ /**
1055
+ * Kadoa API
1056
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1057
+ *
1058
+ * The version of the OpenAPI document: 3.0.0
1059
+ * Contact: support@kadoa.com
1060
+ *
1061
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1062
+ * https://openapi-generator.tech
1063
+ * Do not edit the class manually.
1064
+ */
1065
+ /**
1066
+ * Comparison results between expected and actual data schema
1067
+ * @export
1068
+ * @interface SchemaValidationResult
1069
+ */
1070
+ interface SchemaValidationResult {
1071
+ /**
1072
+ *
1073
+ * @type {Array<string>}
1074
+ * @memberof SchemaValidationResult
1075
+ */
1076
+ 'missingColumns': Array<string>;
1077
+ /**
1078
+ *
1079
+ * @type {Array<string>}
1080
+ * @memberof SchemaValidationResult
1081
+ */
1082
+ 'missingRequiredColumns': Array<string>;
1083
+ /**
1084
+ *
1085
+ * @type {Array<string>}
1086
+ * @memberof SchemaValidationResult
1087
+ */
1088
+ 'extraColumns': Array<string>;
1089
+ }
1090
+
1091
+ /**
1092
+ * Kadoa API
1093
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1094
+ *
1095
+ * The version of the OpenAPI document: 3.0.0
1096
+ * Contact: support@kadoa.com
1097
+ *
1098
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1099
+ * https://openapi-generator.tech
1100
+ * Do not edit the class manually.
1101
+ */
1102
+ /**
1103
+ * @type ValidationCompletedAt
1104
+ * @export
1105
+ */
1106
+ type ValidationCompletedAt = string;
1107
+
1108
+ /**
1109
+ * Kadoa API
1110
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1111
+ *
1112
+ * The version of the OpenAPI document: 3.0.0
1113
+ * Contact: support@kadoa.com
1114
+ *
1115
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1116
+ * https://openapi-generator.tech
1117
+ * Do not edit the class manually.
1118
+ */
1119
+ /**
1120
+ * @type ValidationCreatedAt
1121
+ * @export
1122
+ */
1123
+ type ValidationCreatedAt = string;
1124
+
1125
+ /**
1126
+ * Kadoa API
1127
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1128
+ *
1129
+ * The version of the OpenAPI document: 3.0.0
1130
+ * Contact: support@kadoa.com
1131
+ *
1132
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1133
+ * https://openapi-generator.tech
1134
+ * Do not edit the class manually.
1135
+ */
1136
+ /**
1137
+ * Optional parameters for the rule execution
1138
+ * @export
1139
+ * @interface DynamicRuleConfigParameters
1140
+ */
1141
+ interface DynamicRuleConfigParameters {
1142
+ /**
1143
+ *
1144
+ * @type {string}
1145
+ * @memberof DynamicRuleConfigParameters
1146
+ */
1147
+ 'sql'?: string;
1148
+ }
1149
+
1150
+ /**
1151
+ * Kadoa API
1152
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1153
+ *
1154
+ * The version of the OpenAPI document: 3.0.0
1155
+ * Contact: support@kadoa.com
1156
+ *
1157
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1158
+ * https://openapi-generator.tech
1159
+ * Do not edit the class manually.
1160
+ */
1161
+
1162
+ /**
1163
+ * Configuration for custom SQL validation rules with optional parameters
1164
+ * @export
1165
+ * @interface DynamicRuleConfig
1166
+ */
1167
+ interface DynamicRuleConfig {
1168
+ /**
1169
+ * Rule name
1170
+ * @type {string}
1171
+ * @memberof DynamicRuleConfig
1172
+ */
1173
+ 'name': string;
1174
+ /**
1175
+ * What the rule checks for
1176
+ * @type {string}
1177
+ * @memberof DynamicRuleConfig
1178
+ */
1179
+ 'description': string;
1180
+ /**
1181
+ * Execution type for dynamic rules
1182
+ * @type {string}
1183
+ * @memberof DynamicRuleConfig
1184
+ */
1185
+ 'ruleType': DynamicRuleConfigRuleTypeEnum;
1186
+ /**
1187
+ * Columns to which the rule applies
1188
+ * @type {Array<string>}
1189
+ * @memberof DynamicRuleConfig
1190
+ */
1191
+ 'targetColumns'?: Array<string>;
1192
+ /**
1193
+ *
1194
+ * @type {DynamicRuleConfigParameters}
1195
+ * @memberof DynamicRuleConfig
1196
+ */
1197
+ 'parameters': DynamicRuleConfigParameters;
1198
+ }
1199
+ declare const DynamicRuleConfigRuleTypeEnum: {
1200
+ readonly CustomSql: "custom_sql";
1201
+ };
1202
+ type DynamicRuleConfigRuleTypeEnum = typeof DynamicRuleConfigRuleTypeEnum[keyof typeof DynamicRuleConfigRuleTypeEnum];
1203
+
1204
+ /**
1205
+ * Kadoa API
1206
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1207
+ *
1208
+ * The version of the OpenAPI document: 3.0.0
1209
+ * Contact: support@kadoa.com
1210
+ *
1211
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1212
+ * https://openapi-generator.tech
1213
+ * Do not edit the class manually.
1214
+ */
1215
+ /**
1216
+ *
1217
+ * @export
1218
+ * @interface ValidationMetadataInvalidRulesInner
1219
+ */
1220
+ interface ValidationMetadataInvalidRulesInner {
1221
+ /**
1222
+ *
1223
+ * @type {string}
1224
+ * @memberof ValidationMetadataInvalidRulesInner
1225
+ */
1226
+ 'name': string;
1227
+ /**
1228
+ *
1229
+ * @type {string}
1230
+ * @memberof ValidationMetadataInvalidRulesInner
1231
+ */
1232
+ 'error': string;
1233
+ }
1234
+
1235
+ /**
1236
+ * Kadoa API
1237
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1238
+ *
1239
+ * The version of the OpenAPI document: 3.0.0
1240
+ * Contact: support@kadoa.com
1241
+ *
1242
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1243
+ * https://openapi-generator.tech
1244
+ * Do not edit the class manually.
1245
+ */
1246
+ /**
1247
+ * Subset of library rule fields needed for job processing
1248
+ * @export
1249
+ * @interface ValidationMetadataLibraryRulesInner
1250
+ */
1251
+ interface ValidationMetadataLibraryRulesInner {
1252
+ /**
1253
+ * Rule identifier
1254
+ * @type {string}
1255
+ * @memberof ValidationMetadataLibraryRulesInner
1256
+ */
1257
+ 'id': string;
1258
+ /**
1259
+ * Rule name
1260
+ * @type {string}
1261
+ * @memberof ValidationMetadataLibraryRulesInner
1262
+ */
1263
+ 'name': string;
1264
+ /**
1265
+ *
1266
+ * @type {string}
1267
+ * @memberof ValidationMetadataLibraryRulesInner
1268
+ */
1269
+ 'description'?: string;
1270
+ /**
1271
+ * Pre-configured parameters for the library rule
1272
+ * @type {{ [key: string]: any | null; }}
1273
+ * @memberof ValidationMetadataLibraryRulesInner
1274
+ */
1275
+ 'parameters'?: {
1276
+ [key: string]: any | null;
1277
+ };
1278
+ /**
1279
+ *
1280
+ * @type {Array<string>}
1281
+ * @memberof ValidationMetadataLibraryRulesInner
1282
+ */
1283
+ 'targetColumns'?: Array<string>;
1284
+ }
1285
+
1286
+ /**
1287
+ * Kadoa API
1288
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1289
+ *
1290
+ * The version of the OpenAPI document: 3.0.0
1291
+ * Contact: support@kadoa.com
1292
+ *
1293
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1294
+ * https://openapi-generator.tech
1295
+ * Do not edit the class manually.
1296
+ */
1297
+
1298
+ /**
1299
+ *
1300
+ * @export
1301
+ * @interface ValidationMetadata
1302
+ */
1303
+ interface ValidationMetadata {
1304
+ /**
1305
+ *
1306
+ * @type {Array<DynamicRuleConfig>}
1307
+ * @memberof ValidationMetadata
1308
+ */
1309
+ 'customRules': Array<DynamicRuleConfig>;
1310
+ /**
1311
+ *
1312
+ * @type {Array<ValidationMetadataLibraryRulesInner>}
1313
+ * @memberof ValidationMetadata
1314
+ */
1315
+ 'libraryRules': Array<ValidationMetadataLibraryRulesInner>;
1316
+ /**
1317
+ *
1318
+ * @type {number}
1319
+ * @memberof ValidationMetadata
1320
+ */
1321
+ 'totalRulesExecuted': number;
1322
+ /**
1323
+ *
1324
+ * @type {string}
1325
+ * @memberof ValidationMetadata
1326
+ */
1327
+ 'usedPrompt'?: string;
1328
+ /**
1329
+ *
1330
+ * @type {Array<ValidationMetadataInvalidRulesInner>}
1331
+ * @memberof ValidationMetadata
1332
+ */
1333
+ 'invalidRules'?: Array<ValidationMetadataInvalidRulesInner>;
1334
+ /**
1335
+ *
1336
+ * @type {number}
1337
+ * @memberof ValidationMetadata
1338
+ */
1339
+ 'recordsValidated': number;
1340
+ }
1341
+
1342
+ /**
1343
+ * Kadoa API
1344
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1345
+ *
1346
+ * The version of the OpenAPI document: 3.0.0
1347
+ * Contact: support@kadoa.com
1348
+ *
1349
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1350
+ * https://openapi-generator.tech
1351
+ * Do not edit the class manually.
1352
+ */
1353
+
1354
+ /**
1355
+ * Complete validation report including summary fields, anomaly details by rule, dataset location details, CDC summary, and execution strategy
1356
+ * @export
1357
+ * @interface DataValidationReport
1358
+ */
1359
+ interface DataValidationReport {
1360
+ /**
1361
+ * Unique identifier
1362
+ * @type {string}
1363
+ * @memberof DataValidationReport
1364
+ */
1365
+ 'id': string;
1366
+ /**
1367
+ *
1368
+ * @type {string}
1369
+ * @memberof DataValidationReport
1370
+ */
1371
+ 'workflowId': string;
1372
+ /**
1373
+ *
1374
+ * @type {string}
1375
+ * @memberof DataValidationReport
1376
+ */
1377
+ 'jobId': string;
1378
+ /**
1379
+ *
1380
+ * @type {number}
1381
+ * @memberof DataValidationReport
1382
+ */
1383
+ 'anomaliesCountTotal': number;
1384
+ /**
1385
+ *
1386
+ * @type {{ [key: string]: number; }}
1387
+ * @memberof DataValidationReport
1388
+ */
1389
+ 'anomaliesCountByRule': {
1390
+ [key: string]: number;
1391
+ };
1392
+ /**
1393
+ *
1394
+ * @type {ValidationCreatedAt}
1395
+ * @memberof DataValidationReport
1396
+ */
1397
+ 'createdAt': ValidationCreatedAt;
1398
+ /**
1399
+ *
1400
+ * @type {ValidationCreatedAt}
1401
+ * @memberof DataValidationReport
1402
+ */
1403
+ 'updatedAt': ValidationCreatedAt;
1404
+ /**
1405
+ *
1406
+ * @type {ValidationCompletedAt}
1407
+ * @memberof DataValidationReport
1408
+ */
1409
+ 'completedAt'?: ValidationCompletedAt | null;
1410
+ /**
1411
+ *
1412
+ * @type {ValidationMetadata}
1413
+ * @memberof DataValidationReport
1414
+ */
1415
+ 'metadata'?: ValidationMetadata;
1416
+ /**
1417
+ *
1418
+ * @type {string}
1419
+ * @memberof DataValidationReport
1420
+ */
1421
+ 'error'?: string;
1422
+ /**
1423
+ *
1424
+ * @type {boolean}
1425
+ * @memberof DataValidationReport
1426
+ */
1427
+ 'isDryRun'?: boolean;
1428
+ /**
1429
+ *
1430
+ * @type {boolean}
1431
+ * @memberof DataValidationReport
1432
+ */
1433
+ 'isWorkflowTriggered'?: boolean;
1434
+ /**
1435
+ *
1436
+ * @type {string}
1437
+ * @memberof DataValidationReport
1438
+ */
1439
+ 'datasetUri'?: string | null;
1440
+ /**
1441
+ *
1442
+ * @type {string}
1443
+ * @memberof DataValidationReport
1444
+ */
1445
+ 'anomaliesParquetPath'?: string | null;
1446
+ /**
1447
+ * ISOLATED validates each dataset independently. LINKING_COLUMNS validates data integrity across linked columns between datasets.
1448
+ * @type {string}
1449
+ * @memberof DataValidationReport
1450
+ */
1451
+ 'strategy'?: DataValidationReportStrategyEnum;
1452
+ /**
1453
+ *
1454
+ * @type {Array<AnomalyRuleData>}
1455
+ * @memberof DataValidationReport
1456
+ */
1457
+ 'anomaliesByRule': Array<AnomalyRuleData>;
1458
+ /**
1459
+ *
1460
+ * @type {ChangeDetectionResult}
1461
+ * @memberof DataValidationReport
1462
+ */
1463
+ 'cdc'?: ChangeDetectionResult;
1464
+ /**
1465
+ *
1466
+ * @type {SchemaValidationResult}
1467
+ * @memberof DataValidationReport
1468
+ */
1469
+ 'schemaIssues': SchemaValidationResult;
1470
+ }
1471
+ declare const DataValidationReportStrategyEnum: {
1472
+ readonly Isolated: "ISOLATED";
1473
+ readonly LinkingColumns: "LINKING_COLUMNS";
1474
+ };
1475
+ type DataValidationReportStrategyEnum = typeof DataValidationReportStrategyEnum[keyof typeof DataValidationReportStrategyEnum];
1476
+
1477
+ /**
1478
+ * Kadoa API
1479
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1480
+ *
1481
+ * The version of the OpenAPI document: 3.0.0
1482
+ * Contact: support@kadoa.com
1483
+ *
1484
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1485
+ * https://openapi-generator.tech
1486
+ * Do not edit the class manually.
1487
+ */
1488
+ /**
1489
+ *
1490
+ * @export
1491
+ * @interface DeleteAllRulesResponseData
1492
+ */
1493
+ interface DeleteAllRulesResponseData$1 {
1494
+ /**
1495
+ *
1496
+ * @type {number}
1497
+ * @memberof DeleteAllRulesResponseData
1498
+ */
1499
+ 'deletedCount': number;
1500
+ /**
1501
+ *
1502
+ * @type {string}
1503
+ * @memberof DeleteAllRulesResponseData
1504
+ */
1505
+ 'workflowId'?: string;
1506
+ }
1507
+
1508
+ /**
1509
+ * Kadoa API
1510
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1511
+ *
1512
+ * The version of the OpenAPI document: 3.0.0
1513
+ * Contact: support@kadoa.com
1514
+ *
1515
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1516
+ * https://openapi-generator.tech
1517
+ * Do not edit the class manually.
1518
+ */
1519
+
1520
+ /**
1521
+ * Summary of bulk rule deletion operation
1522
+ * @export
1523
+ * @interface DeleteAllRulesResponse
1524
+ */
1525
+ interface DeleteAllRulesResponse {
1526
+ /**
1527
+ *
1528
+ * @type {boolean}
1529
+ * @memberof DeleteAllRulesResponse
1530
+ */
1531
+ 'error': boolean;
1532
+ /**
1533
+ *
1534
+ * @type {string}
1535
+ * @memberof DeleteAllRulesResponse
1536
+ */
1537
+ 'message': string;
1538
+ /**
1539
+ *
1540
+ * @type {DeleteAllRulesResponseData}
1541
+ * @memberof DeleteAllRulesResponse
1542
+ */
1543
+ 'data': DeleteAllRulesResponseData$1;
1544
+ }
1545
+
1546
+ /**
1547
+ * Kadoa API
1548
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1549
+ *
1550
+ * The version of the OpenAPI document: 3.0.0
1551
+ * Contact: support@kadoa.com
1552
+ *
1553
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1554
+ * https://openapi-generator.tech
1555
+ * Do not edit the class manually.
1556
+ */
1557
+ /**
1558
+ * Schema for deleting a crawling configuration
1559
+ * @export
1560
+ * @interface DeleteCrawlerConfigRequest
1561
+ */
1562
+ interface DeleteCrawlerConfigRequest {
1563
+ /**
1564
+ * Config ID
1565
+ * @type {string}
1566
+ * @memberof DeleteCrawlerConfigRequest
1567
+ */
1568
+ 'configId': string;
1569
+ }
1570
+
1571
+ /**
1572
+ * Kadoa API
1573
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1574
+ *
1575
+ * The version of the OpenAPI document: 3.0.0
1576
+ * Contact: support@kadoa.com
1577
+ *
1578
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1579
+ * https://openapi-generator.tech
1580
+ * Do not edit the class manually.
1581
+ */
1582
+ /**
1583
+ * Response schema for deleting a crawling configuration
1584
+ * @export
1585
+ * @interface DeleteCrawlerConfigResponse
1586
+ */
1587
+ interface DeleteCrawlerConfigResponse {
1588
+ /**
1589
+ * Config ID
1590
+ * @type {string}
1591
+ * @memberof DeleteCrawlerConfigResponse
1592
+ */
1593
+ 'configId': string;
1594
+ /**
1595
+ * Whether the config was deleted
1596
+ * @type {boolean}
1597
+ * @memberof DeleteCrawlerConfigResponse
1598
+ */
1599
+ 'deleted': boolean;
1600
+ }
1601
+
1602
+ /**
1603
+ * Kadoa API
1604
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1605
+ *
1606
+ * The version of the OpenAPI document: 3.0.0
1607
+ * Contact: support@kadoa.com
1608
+ *
1609
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1610
+ * https://openapi-generator.tech
1611
+ * Do not edit the class manually.
1612
+ */
1613
+ /**
1614
+ * Soft delete request with optional reason for audit trail
1615
+ * @export
1616
+ * @interface DeleteRuleWithReason
1617
+ */
1618
+ interface DeleteRuleWithReason {
1619
+ /**
1620
+ *
1621
+ * @type {string}
1622
+ * @memberof DeleteRuleWithReason
1623
+ */
1624
+ 'reason'?: string;
1625
+ }
1626
+
1627
+ /**
1628
+ * Kadoa API
1629
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1630
+ *
1631
+ * The version of the OpenAPI document: 3.0.0
1632
+ * Contact: support@kadoa.com
1633
+ *
1634
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1635
+ * https://openapi-generator.tech
1636
+ * Do not edit the class manually.
1637
+ */
1638
+ /**
1639
+ *
1640
+ * @export
1641
+ * @interface EmailChannelConfig
1642
+ */
1643
+ interface EmailChannelConfig {
1644
+ /**
1645
+ * Array of recipient email addresses
1646
+ * @type {Array<string>}
1647
+ * @memberof EmailChannelConfig
1648
+ */
1649
+ 'recipients': Array<string>;
1650
+ /**
1651
+ * Sender email address (optional, must be a @kadoa.com domain email)
1652
+ * @type {string}
1653
+ * @memberof EmailChannelConfig
1654
+ */
1655
+ 'from'?: string;
1656
+ }
1657
+
1658
+ /**
1659
+ * Kadoa API
1660
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1661
+ *
1662
+ * The version of the OpenAPI document: 3.0.0
1663
+ * Contact: support@kadoa.com
1664
+ *
1665
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1666
+ * https://openapi-generator.tech
1667
+ * Do not edit the class manually.
1668
+ */
1669
+ /**
1670
+ * Rule generation request with user description
1671
+ * @export
1672
+ * @interface GenerateRule
1673
+ */
1674
+ interface GenerateRule {
1675
+ /**
1676
+ *
1677
+ * @type {string}
1678
+ * @memberof GenerateRule
1679
+ */
1680
+ 'jobId'?: string;
1681
+ /**
1682
+ *
1683
+ * @type {string}
1684
+ * @memberof GenerateRule
1685
+ */
1686
+ 'userPrompt': string;
1687
+ /**
1688
+ *
1689
+ * @type {Array<string>}
1690
+ * @memberof GenerateRule
1691
+ */
1692
+ 'selectedColumns'?: Array<string>;
1693
+ /**
1694
+ *
1695
+ * @type {string}
1696
+ * @memberof GenerateRule
1697
+ */
1698
+ 'workflowId': string;
1699
+ /**
1700
+ *
1701
+ * @type {boolean}
1702
+ * @memberof GenerateRule
1703
+ */
1704
+ 'isPreviewRun'?: boolean;
1705
+ }
1706
+
1707
+ /**
1708
+ * Kadoa API
1709
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1710
+ *
1711
+ * The version of the OpenAPI document: 3.0.0
1712
+ * Contact: support@kadoa.com
1713
+ *
1714
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1715
+ * https://openapi-generator.tech
1716
+ * Do not edit the class manually.
1717
+ */
1718
+ /**
1719
+ *
1720
+ * @export
1721
+ * @interface RuleParameters
1722
+ */
1723
+ interface RuleParameters {
1724
+ /**
1725
+ *
1726
+ * @type {string}
1727
+ * @memberof RuleParameters
183
1728
  */
184
- 'loadImages'?: boolean;
1729
+ 'sql': string;
185
1730
  /**
186
- * Enable safe mode for crawling
187
- * @type {boolean}
188
- * @memberof CreateCrawlerConfigRequest
1731
+ *
1732
+ * @type {Array<any | null>}
1733
+ * @memberof RuleParameters
189
1734
  */
190
- 'safeMode'?: boolean;
1735
+ 'params'?: Array<any | null>;
191
1736
  /**
192
- * Webhook URL for completion notifications
1737
+ *
193
1738
  * @type {string}
194
- * @memberof CreateCrawlerConfigRequest
1739
+ * @memberof RuleParameters
195
1740
  */
196
- 'callbackUrl'?: string | null;
1741
+ 'prompt'?: string;
197
1742
  }
198
1743
 
199
1744
  /**
@@ -207,115 +1752,122 @@ interface CreateCrawlerConfigRequest {
207
1752
  * https://openapi-generator.tech
208
1753
  * Do not edit the class manually.
209
1754
  */
1755
+
210
1756
  /**
211
- * Response schema for creating a new crawling configuration
1757
+ * Complete validation rule with metadata and lifecycle information
212
1758
  * @export
213
- * @interface CreateCrawlerConfigResponse
1759
+ * @interface Rule
214
1760
  */
215
- interface CreateCrawlerConfigResponse {
1761
+ interface Rule {
216
1762
  /**
217
- * Single URL to start crawling (for backward compatibility)
1763
+ * Unique identifier
218
1764
  * @type {string}
219
- * @memberof CreateCrawlerConfigResponse
1765
+ * @memberof Rule
220
1766
  */
221
- 'url'?: string;
1767
+ 'id': string;
222
1768
  /**
223
- * List of URLs for crawling
224
- * @type {Array<string>}
225
- * @memberof CreateCrawlerConfigResponse
1769
+ * Human-readable rule name
1770
+ * @type {string}
1771
+ * @memberof Rule
226
1772
  */
227
- 'startUrls'?: Array<string>;
1773
+ 'name': string;
228
1774
  /**
229
- * Regex patterns to include specific paths
230
- * @type {Array<string>}
231
- * @memberof CreateCrawlerConfigResponse
1775
+ *
1776
+ * @type {string}
1777
+ * @memberof Rule
232
1778
  */
233
- 'pathsFilterIn'?: Array<string>;
1779
+ 'description'?: string;
234
1780
  /**
235
- * Regex patterns to exclude specific paths
236
- * @type {Array<string>}
237
- * @memberof CreateCrawlerConfigResponse
1781
+ *
1782
+ * @type {string}
1783
+ * @memberof Rule
238
1784
  */
239
- 'pathsFilterOut'?: Array<string>;
1785
+ 'ruleType'?: RuleRuleTypeEnum;
240
1786
  /**
241
- * Type of proxy to use
1787
+ *
242
1788
  * @type {string}
243
- * @memberof CreateCrawlerConfigResponse
1789
+ * @memberof Rule
244
1790
  */
245
- 'proxyType'?: string | null;
1791
+ 'workflowId'?: string;
246
1792
  /**
247
- * Country for proxy selection
1793
+ *
248
1794
  * @type {string}
249
- * @memberof CreateCrawlerConfigResponse
1795
+ * @memberof Rule
250
1796
  */
251
- 'proxyCountry'?: string | null;
1797
+ 'groupId'?: string;
252
1798
  /**
253
- * Timeout in milliseconds
254
- * @type {number}
255
- * @memberof CreateCrawlerConfigResponse
1799
+ *
1800
+ * @type {string}
1801
+ * @memberof Rule
256
1802
  */
257
- 'timeout'?: number;
1803
+ 'userId'?: string;
258
1804
  /**
259
- * Maximum crawling depth
260
- * @type {number}
261
- * @memberof CreateCrawlerConfigResponse
1805
+ *
1806
+ * @type {string}
1807
+ * @memberof Rule
262
1808
  */
263
- 'maxDepth'?: number;
1809
+ 'teamId'?: string;
264
1810
  /**
265
- * Maximum number of pages to crawl
266
- * @type {number}
267
- * @memberof CreateCrawlerConfigResponse
1811
+ *
1812
+ * @type {Array<string>}
1813
+ * @memberof Rule
268
1814
  */
269
- 'maxPages'?: number;
1815
+ 'targetColumns'?: Array<string>;
270
1816
  /**
271
- * Number of concurrent crawlers
272
- * @type {number}
273
- * @memberof CreateCrawlerConfigResponse
1817
+ *
1818
+ * @type {RuleParameters}
1819
+ * @memberof Rule
274
1820
  */
275
- 'concurrency'?: number;
1821
+ 'parameters'?: RuleParameters;
276
1822
  /**
277
- * Whether to stay within the same domain
278
- * @type {boolean}
279
- * @memberof CreateCrawlerConfigResponse
1823
+ *
1824
+ * @type {ValidationRuleStatus}
1825
+ * @memberof Rule
280
1826
  */
281
- 'strictDomain'?: boolean;
1827
+ 'status'?: ValidationRuleStatus;
282
1828
  /**
283
- * Whether to load images during crawling
284
- * @type {boolean}
285
- * @memberof CreateCrawlerConfigResponse
1829
+ *
1830
+ * @type {string}
1831
+ * @memberof Rule
286
1832
  */
287
- 'loadImages'?: boolean;
1833
+ 'disabledReason'?: string | null;
288
1834
  /**
289
- * Enable safe mode for crawling
290
- * @type {boolean}
291
- * @memberof CreateCrawlerConfigResponse
1835
+ *
1836
+ * @type {{ [key: string]: any | null; }}
1837
+ * @memberof Rule
292
1838
  */
293
- 'safeMode'?: boolean;
1839
+ 'metadata'?: {
1840
+ [key: string]: any | null;
1841
+ };
294
1842
  /**
295
- * Webhook URL for completion notifications
1843
+ * ISO 8601 timestamp
296
1844
  * @type {string}
297
- * @memberof CreateCrawlerConfigResponse
1845
+ * @memberof Rule
298
1846
  */
299
- 'callbackUrl'?: string | null;
1847
+ 'createdAt': string;
300
1848
  /**
301
- * Config ID
1849
+ * ISO 8601 timestamp
302
1850
  * @type {string}
303
- * @memberof CreateCrawlerConfigResponse
1851
+ * @memberof Rule
304
1852
  */
305
- 'configId': string;
1853
+ 'updatedAt': string;
306
1854
  /**
307
- * User ID
1855
+ * ISO 8601 timestamp
308
1856
  * @type {string}
309
- * @memberof CreateCrawlerConfigResponse
1857
+ * @memberof Rule
310
1858
  */
311
- 'userId': string;
1859
+ 'deletedAt'?: string | null;
312
1860
  /**
313
- * Created at
1861
+ *
314
1862
  * @type {string}
315
- * @memberof CreateCrawlerConfigResponse
1863
+ * @memberof Rule
316
1864
  */
317
- 'createdAt': string;
1865
+ 'deletedReason'?: string | null;
318
1866
  }
1867
+ declare const RuleRuleTypeEnum: {
1868
+ readonly CustomSql: "custom_sql";
1869
+ };
1870
+ type RuleRuleTypeEnum = typeof RuleRuleTypeEnum[keyof typeof RuleRuleTypeEnum];
319
1871
 
320
1872
  /**
321
1873
  * Kadoa API
@@ -329,79 +1881,41 @@ interface CreateCrawlerConfigResponse {
329
1881
  * Do not edit the class manually.
330
1882
  */
331
1883
  /**
332
- * Schema for deleting a crawling configuration
1884
+ * Request for validation rules based on data analysis
333
1885
  * @export
334
- * @interface DeleteCrawlerConfigRequest
1886
+ * @interface GenerateRules
335
1887
  */
336
- interface DeleteCrawlerConfigRequest {
1888
+ interface GenerateRules {
337
1889
  /**
338
- * Config ID
1890
+ *
339
1891
  * @type {string}
340
- * @memberof DeleteCrawlerConfigRequest
1892
+ * @memberof GenerateRules
341
1893
  */
342
- 'configId': string;
343
- }
344
-
345
- /**
346
- * Kadoa API
347
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
348
- *
349
- * The version of the OpenAPI document: 3.0.0
350
- * Contact: support@kadoa.com
351
- *
352
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
353
- * https://openapi-generator.tech
354
- * Do not edit the class manually.
355
- */
356
- /**
357
- * Response schema for deleting a crawling configuration
358
- * @export
359
- * @interface DeleteCrawlerConfigResponse
360
- */
361
- interface DeleteCrawlerConfigResponse {
1894
+ 'jobId'?: string;
362
1895
  /**
363
- * Config ID
364
- * @type {string}
365
- * @memberof DeleteCrawlerConfigResponse
1896
+ *
1897
+ * @type {number}
1898
+ * @memberof GenerateRules
366
1899
  */
367
- 'configId': string;
1900
+ 'maxRules'?: number;
368
1901
  /**
369
- * Whether the config was deleted
370
- * @type {boolean}
371
- * @memberof DeleteCrawlerConfigResponse
1902
+ *
1903
+ * @type {string}
1904
+ * @memberof GenerateRules
372
1905
  */
373
- 'deleted': boolean;
374
- }
375
-
376
- /**
377
- * Kadoa API
378
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
379
- *
380
- * The version of the OpenAPI document: 3.0.0
381
- * Contact: support@kadoa.com
382
- *
383
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
384
- * https://openapi-generator.tech
385
- * Do not edit the class manually.
386
- */
387
- /**
388
- *
389
- * @export
390
- * @interface EmailChannelConfig
391
- */
392
- interface EmailChannelConfig {
1906
+ 'workflowId': string;
393
1907
  /**
394
- * Array of recipient email addresses
395
- * @type {Array<string>}
396
- * @memberof EmailChannelConfig
1908
+ *
1909
+ * @type {boolean}
1910
+ * @memberof GenerateRules
397
1911
  */
398
- 'recipients': Array<string>;
1912
+ 'isPreviewRun'?: boolean;
399
1913
  /**
400
- * Sender email address (optional, must be a @kadoa.com domain email)
1914
+ *
401
1915
  * @type {string}
402
- * @memberof EmailChannelConfig
1916
+ * @memberof GenerateRules
403
1917
  */
404
- 'from'?: string;
1918
+ 'prompt'?: string;
405
1919
  }
406
1920
 
407
1921
  /**
@@ -952,6 +2466,123 @@ interface ResumeCrawlerSessionResponse {
952
2466
  'error': string | null;
953
2467
  }
954
2468
 
2469
+ /**
2470
+ * Kadoa API
2471
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2472
+ *
2473
+ * The version of the OpenAPI document: 3.0.0
2474
+ * Contact: support@kadoa.com
2475
+ *
2476
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2477
+ * https://openapi-generator.tech
2478
+ * Do not edit the class manually.
2479
+ */
2480
+
2481
+ /**
2482
+ * Paginated validation rules with metadata
2483
+ * @export
2484
+ * @interface RulesListResponse
2485
+ */
2486
+ interface RulesListResponse {
2487
+ /**
2488
+ *
2489
+ * @type {boolean}
2490
+ * @memberof RulesListResponse
2491
+ */
2492
+ 'error': boolean;
2493
+ /**
2494
+ *
2495
+ * @type {Array<Rule>}
2496
+ * @memberof RulesListResponse
2497
+ */
2498
+ 'data': Array<Rule>;
2499
+ /**
2500
+ *
2501
+ * @type {PaginationMeta}
2502
+ * @memberof RulesListResponse
2503
+ */
2504
+ 'pagination': PaginationMeta;
2505
+ }
2506
+
2507
+ /**
2508
+ * Kadoa API
2509
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2510
+ *
2511
+ * The version of the OpenAPI document: 3.0.0
2512
+ * Contact: support@kadoa.com
2513
+ *
2514
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2515
+ * https://openapi-generator.tech
2516
+ * Do not edit the class manually.
2517
+ */
2518
+ /**
2519
+ * Confirmation details after successfully scheduling a validation job
2520
+ * @export
2521
+ * @interface ScheduleValidationResponse
2522
+ */
2523
+ interface ScheduleValidationResponse {
2524
+ /**
2525
+ *
2526
+ * @type {boolean}
2527
+ * @memberof ScheduleValidationResponse
2528
+ */
2529
+ 'error': boolean;
2530
+ /**
2531
+ *
2532
+ * @type {string}
2533
+ * @memberof ScheduleValidationResponse
2534
+ */
2535
+ 'message': string;
2536
+ /**
2537
+ * UUID of the scheduled validation job
2538
+ * @type {string}
2539
+ * @memberof ScheduleValidationResponse
2540
+ */
2541
+ 'validationId': string;
2542
+ /**
2543
+ *
2544
+ * @type {string}
2545
+ * @memberof ScheduleValidationResponse
2546
+ */
2547
+ 'workflowId': string;
2548
+ /**
2549
+ *
2550
+ * @type {string}
2551
+ * @memberof ScheduleValidationResponse
2552
+ */
2553
+ 'jobId': string;
2554
+ /**
2555
+ *
2556
+ * @type {boolean}
2557
+ * @memberof ScheduleValidationResponse
2558
+ */
2559
+ 'skipLibraryRules': boolean;
2560
+ /**
2561
+ *
2562
+ * @type {number}
2563
+ * @memberof ScheduleValidationResponse
2564
+ */
2565
+ 'libraryRulesCount': number;
2566
+ /**
2567
+ *
2568
+ * @type {number}
2569
+ * @memberof ScheduleValidationResponse
2570
+ */
2571
+ 'customRulesCount': number;
2572
+ /**
2573
+ *
2574
+ * @type {number}
2575
+ * @memberof ScheduleValidationResponse
2576
+ */
2577
+ 'totalRulesCount': number;
2578
+ /**
2579
+ *
2580
+ * @type {string}
2581
+ * @memberof ScheduleValidationResponse
2582
+ */
2583
+ 'createdAt': string;
2584
+ }
2585
+
955
2586
  /**
956
2587
  * Kadoa API
957
2588
  * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -1384,6 +3015,66 @@ interface V4ChangesGet200Response {
1384
3015
  'pagination'?: V4ChangesGet200ResponsePagination;
1385
3016
  }
1386
3017
 
3018
+ /**
3019
+ * Kadoa API
3020
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
3021
+ *
3022
+ * The version of the OpenAPI document: 3.0.0
3023
+ * Contact: support@kadoa.com
3024
+ *
3025
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
3026
+ * https://openapi-generator.tech
3027
+ * Do not edit the class manually.
3028
+ */
3029
+ /**
3030
+ * @type V4DataValidationRulesGetIncludeDeletedParameter
3031
+ * @export
3032
+ */
3033
+ type V4DataValidationRulesGetIncludeDeletedParameter = boolean | string;
3034
+
3035
+ /**
3036
+ * Kadoa API
3037
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
3038
+ *
3039
+ * The version of the OpenAPI document: 3.0.0
3040
+ * Contact: support@kadoa.com
3041
+ *
3042
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
3043
+ * https://openapi-generator.tech
3044
+ * Do not edit the class manually.
3045
+ */
3046
+ /**
3047
+ *
3048
+ * @export
3049
+ * @interface V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response
3050
+ */
3051
+ interface V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response {
3052
+ /**
3053
+ * Whether an error occurred
3054
+ * @type {boolean}
3055
+ * @memberof V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response
3056
+ */
3057
+ 'error': boolean;
3058
+ /**
3059
+ * Success message indicating the action performed
3060
+ * @type {string}
3061
+ * @memberof V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response
3062
+ */
3063
+ 'message': string;
3064
+ /**
3065
+ * The workflow ID that was updated
3066
+ * @type {string}
3067
+ * @memberof V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response
3068
+ */
3069
+ 'workflowId': string;
3070
+ /**
3071
+ * The new validation status for the workflow
3072
+ * @type {boolean}
3073
+ * @memberof V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response
3074
+ */
3075
+ 'enabled': boolean;
3076
+ }
3077
+
1387
3078
  /**
1388
3079
  * Kadoa API
1389
3080
  * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -6069,6 +7760,155 @@ interface V5WorkspacesWorkspaceIdUsageGet200ResponseInner {
6069
7760
  'extractedRows'?: number;
6070
7761
  }
6071
7762
 
7763
+ /**
7764
+ * Kadoa API
7765
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7766
+ *
7767
+ * The version of the OpenAPI document: 3.0.0
7768
+ * Contact: support@kadoa.com
7769
+ *
7770
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7771
+ * https://openapi-generator.tech
7772
+ * Do not edit the class manually.
7773
+ */
7774
+
7775
+ /**
7776
+ * Complete validation run record with anomalies count and metadata
7777
+ * @export
7778
+ * @interface Validation
7779
+ */
7780
+ interface Validation {
7781
+ /**
7782
+ * Unique identifier
7783
+ * @type {string}
7784
+ * @memberof Validation
7785
+ */
7786
+ 'id': string;
7787
+ /**
7788
+ *
7789
+ * @type {string}
7790
+ * @memberof Validation
7791
+ */
7792
+ 'workflowId': string;
7793
+ /**
7794
+ *
7795
+ * @type {string}
7796
+ * @memberof Validation
7797
+ */
7798
+ 'jobId': string;
7799
+ /**
7800
+ *
7801
+ * @type {number}
7802
+ * @memberof Validation
7803
+ */
7804
+ 'anomaliesCountTotal': number;
7805
+ /**
7806
+ *
7807
+ * @type {{ [key: string]: number; }}
7808
+ * @memberof Validation
7809
+ */
7810
+ 'anomaliesCountByRule': {
7811
+ [key: string]: number;
7812
+ };
7813
+ /**
7814
+ *
7815
+ * @type {ValidationCreatedAt}
7816
+ * @memberof Validation
7817
+ */
7818
+ 'createdAt': ValidationCreatedAt;
7819
+ /**
7820
+ *
7821
+ * @type {ValidationCreatedAt}
7822
+ * @memberof Validation
7823
+ */
7824
+ 'updatedAt': ValidationCreatedAt;
7825
+ /**
7826
+ *
7827
+ * @type {ValidationCompletedAt}
7828
+ * @memberof Validation
7829
+ */
7830
+ 'completedAt'?: ValidationCompletedAt | null;
7831
+ /**
7832
+ *
7833
+ * @type {ValidationMetadata}
7834
+ * @memberof Validation
7835
+ */
7836
+ 'metadata'?: ValidationMetadata;
7837
+ /**
7838
+ *
7839
+ * @type {string}
7840
+ * @memberof Validation
7841
+ */
7842
+ 'error'?: string;
7843
+ /**
7844
+ *
7845
+ * @type {boolean}
7846
+ * @memberof Validation
7847
+ */
7848
+ 'isDryRun'?: boolean;
7849
+ /**
7850
+ *
7851
+ * @type {boolean}
7852
+ * @memberof Validation
7853
+ */
7854
+ 'isWorkflowTriggered'?: boolean;
7855
+ /**
7856
+ *
7857
+ * @type {string}
7858
+ * @memberof Validation
7859
+ */
7860
+ 'datasetUri'?: string | null;
7861
+ /**
7862
+ *
7863
+ * @type {string}
7864
+ * @memberof Validation
7865
+ */
7866
+ 'anomaliesParquetPath'?: string | null;
7867
+ /**
7868
+ * ISOLATED validates each dataset independently. LINKING_COLUMNS validates data integrity across linked columns between datasets.
7869
+ * @type {string}
7870
+ * @memberof Validation
7871
+ */
7872
+ 'strategy'?: ValidationStrategyEnum;
7873
+ }
7874
+ declare const ValidationStrategyEnum: {
7875
+ readonly Isolated: "ISOLATED";
7876
+ readonly LinkingColumns: "LINKING_COLUMNS";
7877
+ };
7878
+ type ValidationStrategyEnum = typeof ValidationStrategyEnum[keyof typeof ValidationStrategyEnum];
7879
+
7880
+ /**
7881
+ * Kadoa API
7882
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7883
+ *
7884
+ * The version of the OpenAPI document: 3.0.0
7885
+ * Contact: support@kadoa.com
7886
+ *
7887
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7888
+ * https://openapi-generator.tech
7889
+ * Do not edit the class manually.
7890
+ */
7891
+
7892
+ /**
7893
+ * Paginated validation history with summary information
7894
+ * @export
7895
+ * @interface ValidationListResponse
7896
+ */
7897
+ interface ValidationListResponse {
7898
+ /**
7899
+ *
7900
+ * @type {Array<Validation>}
7901
+ * @memberof ValidationListResponse
7902
+ */
7903
+ 'data': Array<Validation>;
7904
+ /**
7905
+ *
7906
+ * @type {PaginationMeta}
7907
+ * @memberof ValidationListResponse
7908
+ */
7909
+ 'pagination': PaginationMeta;
7910
+ }
7911
+
6072
7912
  /**
6073
7913
  * CrawlerApi - interface
6074
7914
  * @export
@@ -6377,6 +8217,134 @@ interface CrawlerApiV4CrawlStartPostRequest {
6377
8217
  readonly startSessionWithConfigRequest?: StartSessionWithConfigRequest;
6378
8218
  }
6379
8219
 
8220
+ /**
8221
+ * Request parameters for v4DataValidationRulesActionsBulkApprovePost operation in DataValidationApi.
8222
+ * @export
8223
+ * @interface DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest
8224
+ */
8225
+ interface DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest {
8226
+ /**
8227
+ * Body
8228
+ * @type {BulkApproveRules}
8229
+ * @memberof DataValidationApiV4DataValidationRulesActionsBulkApprovePost
8230
+ */
8231
+ readonly bulkApproveRules?: BulkApproveRules;
8232
+ }
8233
+ /**
8234
+ * Request parameters for v4DataValidationRulesActionsBulkDeletePost operation in DataValidationApi.
8235
+ * @export
8236
+ * @interface DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest
8237
+ */
8238
+ interface DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest {
8239
+ /**
8240
+ * Body
8241
+ * @type {BulkDeleteRules}
8242
+ * @memberof DataValidationApiV4DataValidationRulesActionsBulkDeletePost
8243
+ */
8244
+ readonly bulkDeleteRules?: BulkDeleteRules;
8245
+ }
8246
+ /**
8247
+ * Request parameters for v4DataValidationRulesActionsDeleteAllDelete operation in DataValidationApi.
8248
+ * @export
8249
+ * @interface DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest
8250
+ */
8251
+ interface DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest {
8252
+ /**
8253
+ *
8254
+ * @type {string}
8255
+ * @memberof DataValidationApiV4DataValidationRulesActionsDeleteAllDelete
8256
+ */
8257
+ readonly workflowId?: string;
8258
+ /**
8259
+ * Body
8260
+ * @type {DeleteRuleWithReason}
8261
+ * @memberof DataValidationApiV4DataValidationRulesActionsDeleteAllDelete
8262
+ */
8263
+ readonly deleteRuleWithReason?: DeleteRuleWithReason;
8264
+ }
8265
+ /**
8266
+ * Request parameters for v4DataValidationRulesActionsGeneratePost operation in DataValidationApi.
8267
+ * @export
8268
+ * @interface DataValidationApiV4DataValidationRulesActionsGeneratePostRequest
8269
+ */
8270
+ interface DataValidationApiV4DataValidationRulesActionsGeneratePostRequest {
8271
+ /**
8272
+ * Body
8273
+ * @type {GenerateRule}
8274
+ * @memberof DataValidationApiV4DataValidationRulesActionsGeneratePost
8275
+ */
8276
+ readonly generateRule?: GenerateRule;
8277
+ }
8278
+ /**
8279
+ * Request parameters for v4DataValidationRulesActionsGenerateRulesPost operation in DataValidationApi.
8280
+ * @export
8281
+ * @interface DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest
8282
+ */
8283
+ interface DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest {
8284
+ /**
8285
+ * Body
8286
+ * @type {GenerateRules}
8287
+ * @memberof DataValidationApiV4DataValidationRulesActionsGenerateRulesPost
8288
+ */
8289
+ readonly generateRules?: GenerateRules;
8290
+ }
8291
+ /**
8292
+ * Request parameters for v4DataValidationRulesGet operation in DataValidationApi.
8293
+ * @export
8294
+ * @interface DataValidationApiV4DataValidationRulesGetRequest
8295
+ */
8296
+ interface DataValidationApiV4DataValidationRulesGetRequest {
8297
+ /**
8298
+ *
8299
+ * @type {string}
8300
+ * @memberof DataValidationApiV4DataValidationRulesGet
8301
+ */
8302
+ readonly groupId?: string;
8303
+ /**
8304
+ *
8305
+ * @type {string}
8306
+ * @memberof DataValidationApiV4DataValidationRulesGet
8307
+ */
8308
+ readonly workflowId?: string;
8309
+ /**
8310
+ *
8311
+ * @type {ValidationRuleStatus}
8312
+ * @memberof DataValidationApiV4DataValidationRulesGet
8313
+ */
8314
+ readonly status?: ValidationRuleStatus;
8315
+ /**
8316
+ *
8317
+ * @type {number}
8318
+ * @memberof DataValidationApiV4DataValidationRulesGet
8319
+ */
8320
+ readonly page?: number;
8321
+ /**
8322
+ *
8323
+ * @type {number}
8324
+ * @memberof DataValidationApiV4DataValidationRulesGet
8325
+ */
8326
+ readonly pageSize?: number;
8327
+ /**
8328
+ *
8329
+ * @type {V4DataValidationRulesGetIncludeDeletedParameter}
8330
+ * @memberof DataValidationApiV4DataValidationRulesGet
8331
+ */
8332
+ readonly includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter;
8333
+ }
8334
+ /**
8335
+ * Request parameters for v4DataValidationRulesPost operation in DataValidationApi.
8336
+ * @export
8337
+ * @interface DataValidationApiV4DataValidationRulesPostRequest
8338
+ */
8339
+ interface DataValidationApiV4DataValidationRulesPostRequest {
8340
+ /**
8341
+ * Body
8342
+ * @type {CreateRule}
8343
+ * @memberof DataValidationApiV4DataValidationRulesPost
8344
+ */
8345
+ readonly createRule?: CreateRule;
8346
+ }
8347
+
6380
8348
  /**
6381
8349
  * NotificationsApi - interface
6382
8350
  * @export
@@ -8306,6 +10274,97 @@ declare class UserModule {
8306
10274
  getCurrentUser(): Promise<KadoaUser>;
8307
10275
  }
8308
10276
 
10277
+ type ListRulesOptions = DataValidationApiV4DataValidationRulesGetRequest;
10278
+ type CreateRuleOptions = DataValidationApiV4DataValidationRulesPostRequest["createRule"];
10279
+ type GenerateRuleOptions = DataValidationApiV4DataValidationRulesActionsGeneratePostRequest["generateRule"];
10280
+ type GenerateRulesOptions = DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest["generateRules"];
10281
+ type BulkApproveRulesOptions = DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest["bulkApproveRules"];
10282
+ type BulkDeleteRulesOptions = DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest["bulkDeleteRules"];
10283
+ type DeleteAllRulesOptions = DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest["deleteRuleWithReason"];
10284
+ type BulkApproveRulesResponseData = BulkApproveRulesResponse["data"];
10285
+ type BulkDeleteRulesResponseData = BulkDeleteRulesResponse["data"];
10286
+ type DeleteAllRulesResponseData = DeleteAllRulesResponse["data"];
10287
+
10288
+ /**
10289
+ * Options for polling operations
10290
+ */
10291
+ interface PollingOptions {
10292
+ /**
10293
+ * Polling interval in milliseconds (minimum 250ms)
10294
+ * @default 1000
10295
+ */
10296
+ pollIntervalMs?: number;
10297
+ /**
10298
+ * Timeout in milliseconds
10299
+ * @default 300000 (5 minutes)
10300
+ */
10301
+ timeoutMs?: number;
10302
+ /**
10303
+ * AbortSignal to cancel the polling operation
10304
+ */
10305
+ abortSignal?: AbortSignal;
10306
+ }
10307
+ /**
10308
+ * Result of a polling operation
10309
+ */
10310
+ interface PollingResult<T> {
10311
+ /**
10312
+ * The final result when polling completes successfully
10313
+ */
10314
+ result: T;
10315
+ /**
10316
+ * The number of polling attempts made
10317
+ */
10318
+ attempts: number;
10319
+ /**
10320
+ * The total time spent polling in milliseconds
10321
+ */
10322
+ duration: number;
10323
+ }
10324
+ /**
10325
+ * Generic polling utility that polls a function until a condition is met
10326
+ *
10327
+ * @param pollFn Function to call on each poll attempt
10328
+ * @param isComplete Function to check if polling should complete
10329
+ * @param options Polling configuration options
10330
+ * @returns Promise that resolves with the polling result
10331
+ *
10332
+ * @example
10333
+ * ```typescript
10334
+ * const result = await pollUntil(
10335
+ * () => api.getStatus(id),
10336
+ * (status) => status.completedAt !== null,
10337
+ * { pollIntervalMs: 2000, timeoutMs: 60000 }
10338
+ * );
10339
+ * ```
10340
+ */
10341
+ declare function pollUntil<T>(pollFn: () => Promise<T>, isComplete: (result: T) => boolean, options?: PollingOptions): Promise<PollingResult<T>>;
10342
+
10343
+ type ToggleResponse = V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response;
10344
+ type WaitUntilCompletedOptions = PollingOptions;
10345
+
10346
+ declare class ValidationModule {
10347
+ private readonly coreService;
10348
+ private readonly rulesService;
10349
+ constructor(client: KadoaClient);
10350
+ listRules(options?: ListRulesOptions): Promise<RulesListResponse>;
10351
+ getRuleByName(name: string): Promise<Rule | undefined>;
10352
+ createRule(data: CreateRuleOptions): Promise<Rule>;
10353
+ generateRule(data: GenerateRuleOptions): Promise<Rule>;
10354
+ generateRules(data: GenerateRulesOptions): Promise<Rule[]>;
10355
+ bulkApproveRules(data: BulkApproveRulesOptions): Promise<BulkApproveRulesResponseData>;
10356
+ bulkDeleteRules(data: BulkDeleteRulesOptions): Promise<BulkDeleteRulesResponseData>;
10357
+ deleteAllRules(data: DeleteAllRulesOptions): Promise<DeleteAllRulesResponseData>;
10358
+ listWorkflowValidations(workflowId: string, jobId: string): Promise<ValidationListResponse>;
10359
+ scheduleValidation(workflowId: string, jobId: string): Promise<ScheduleValidationResponse>;
10360
+ waitUntilCompleted(validationId: string, options?: WaitUntilCompletedOptions): Promise<DataValidationReport>;
10361
+ getValidationDetails(validationId: string): Promise<DataValidationReport>;
10362
+ getLatestValidation(workflowId: string, jobId?: string): Promise<DataValidationReport>;
10363
+ getValidationAnomalies(validationId: string): Promise<AnomaliesByRuleResponse>;
10364
+ getValidationAnomaliesByRule(validationId: string, ruleName: string): Promise<AnomalyRulePageResponse>;
10365
+ toggleValidationEnabled(workflowId: string): Promise<ToggleResponse>;
10366
+ }
10367
+
8309
10368
  type LocationConfig = WorkflowWithCustomSchemaLocation;
8310
10369
  interface CreateWorkflowInput {
8311
10370
  urls: string[];
@@ -8320,6 +10379,8 @@ interface CreateWorkflowInput {
8320
10379
  bypassPreview?: boolean;
8321
10380
  }
8322
10381
 
10382
+ type ListWorkflowsOptions = WorkflowsApiV4WorkflowsGetRequest;
10383
+
8323
10384
  interface WaitOptions {
8324
10385
  pollIntervalMs?: number;
8325
10386
  timeoutMs?: number;
@@ -8331,6 +10392,7 @@ declare class WorkflowsModule {
8331
10392
  workflowId: string;
8332
10393
  }>;
8333
10394
  get(workflowId: string): Promise<V4WorkflowsWorkflowIdGet200Response>;
10395
+ list(filters?: ListWorkflowsOptions): Promise<V4WorkflowsGet200ResponseWorkflowsInner[]>;
8334
10396
  getByName(name: string): Promise<V4WorkflowsGet200ResponseWorkflowsInner | undefined>;
8335
10397
  cancel(workflowId: string): Promise<void>;
8336
10398
  approve(workflowId: string): Promise<void>;
@@ -8399,6 +10461,7 @@ declare class KadoaClient implements ApiProvider {
8399
10461
  readonly notification: NotificationsModule;
8400
10462
  readonly schemas: SchemasModule;
8401
10463
  readonly user: UserModule;
10464
+ readonly validation: ValidationModule;
8402
10465
  constructor(config: KadoaClientConfig);
8403
10466
  /**
8404
10467
  * Get the underlying configuration
@@ -8614,4 +10677,4 @@ declare class KadoaHttpException extends KadoaSdkException {
8614
10677
  static mapStatusToCode(errorOrStatus: AxiosError | number): KadoaErrorCode;
8615
10678
  }
8616
10679
 
8617
- export { ERROR_MESSAGES, KadoaClient, type KadoaClientConfig, KadoaErrorCode, KadoaHttpException, KadoaSdkException, type KadoaUser, type Schema, type SchemaField, SchemasModule };
10680
+ export { ERROR_MESSAGES, KadoaClient, type KadoaClientConfig, KadoaErrorCode, KadoaHttpException, KadoaSdkException, type KadoaUser, type ListRulesOptions, type PollingOptions, type Schema, type SchemaField, SchemasModule, ValidationModule, pollUntil };