@eigenpal/sdk 0.8.0 → 0.9.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.
@@ -9,47 +9,145 @@ export type AutomationDatasetImportMultipartRequest = {
9
9
  * Dataset ZIP file
10
10
  */
11
11
  file: Blob | File;
12
+ /**
13
+ * `append` adds examples without deleting existing rows. `replace` deletes the current dataset before importing.
14
+ */
12
15
  mode?: 'append' | 'replace';
13
16
  };
14
17
 
18
+ /**
19
+ * Replacement evaluator configuration.
20
+ */
15
21
  export type EvaluatorConfigUpdate = {
22
+ /**
23
+ * Complete evaluator YAML to validate and store.
24
+ */
16
25
  yaml: string;
17
26
  };
18
27
 
19
- export type DatasetExampleUpdate = {
28
+ /**
29
+ * Fields used to create or update a dataset example.
30
+ */
31
+ export type DatasetExampleMutation = {
32
+ /**
33
+ * Example name. Required on create; omitted or null uses a generated name where supported.
34
+ */
35
+ name?: string | null;
36
+ /**
37
+ * Input arguments for the example.
38
+ */
20
39
  input?: {
21
40
  [key: string]: unknown;
22
41
  } | null;
42
+ /**
43
+ * Expected JSON output. Null clears the expected output.
44
+ */
23
45
  expected?: unknown | null;
46
+ /**
47
+ * Caller-managed metadata.
48
+ */
24
49
  metadata?: {
25
50
  [key: string]: unknown;
26
51
  } | null;
52
+ /**
53
+ * Human note about the example. Null clears the annotation.
54
+ */
27
55
  annotation?: string | null;
56
+ /**
57
+ * Optional display order. Null clears the order.
58
+ */
28
59
  rowOrder?: number | null;
60
+ /**
61
+ * Step output overrides used during example runs.
62
+ */
29
63
  overrides?: {
30
64
  [key: string]: unknown;
31
65
  } | null;
32
66
  };
33
67
 
34
- export type DatasetExampleMutation = {
68
+ /**
69
+ * Partial update for a dataset example. Omitted fields are preserved.
70
+ */
71
+ export type DatasetExampleUpdate = {
72
+ /**
73
+ * Example name. Required on create; omitted or null uses a generated name where supported.
74
+ */
35
75
  name?: string | null;
76
+ /**
77
+ * Input arguments for the example.
78
+ */
36
79
  input?: {
37
80
  [key: string]: unknown;
38
81
  } | null;
82
+ /**
83
+ * Expected JSON output. Null clears the expected output.
84
+ */
39
85
  expected?: unknown | null;
86
+ /**
87
+ * Caller-managed metadata.
88
+ */
40
89
  metadata?: {
41
90
  [key: string]: unknown;
42
91
  } | null;
92
+ /**
93
+ * Human note about the example. Null clears the annotation.
94
+ */
43
95
  annotation?: string | null;
96
+ /**
97
+ * Optional display order. Null clears the order.
98
+ */
44
99
  rowOrder?: number | null;
100
+ /**
101
+ * Step output overrides used during example runs.
102
+ */
45
103
  overrides?: {
46
104
  [key: string]: unknown;
47
105
  } | null;
48
106
  };
49
107
 
108
+ export type DatasetExampleExpectedFileUploadRequest = {
109
+ /**
110
+ * One or more expected files to upload.
111
+ */
112
+ file: Array<Blob | File>;
113
+ };
114
+
115
+ export type DatasetExampleExpectedFileRenameRequest = {
116
+ /**
117
+ * New basename for the file. The parent folder is preserved.
118
+ */
119
+ newFilename: string;
120
+ };
121
+
122
+ export type DatasetExampleInputFileUploadRequest = {
123
+ /**
124
+ * One or more input files to upload.
125
+ */
126
+ file: Array<Blob | File>;
127
+ };
128
+
129
+ export type DatasetExampleInputFileRenameRequest = {
130
+ /**
131
+ * New basename for the file. The parent folder is preserved.
132
+ */
133
+ newFilename: string;
134
+ };
135
+
136
+ /**
137
+ * Request body for starting an experiment batch.
138
+ */
50
139
  export type ExperimentCreate = {
140
+ /**
141
+ * Optional dataset example ids to run. Omit to run the full dataset.
142
+ */
51
143
  examples?: Array<string>;
144
+ /**
145
+ * Maximum concurrent example runs for this experiment.
146
+ */
52
147
  batchConcurrency?: number | null;
148
+ /**
149
+ * Optional source version/ref to use for experiment runs.
150
+ */
53
151
  sourceRef?: string;
54
152
  };
55
153
 
@@ -128,17 +226,70 @@ export type RunStartMultipartRequest = {
128
226
  [key: string]: unknown;
129
227
  };
130
228
 
229
+ /**
230
+ * Partial update for run feedback. Omitted fields are preserved; pass null to clear a field.
231
+ */
131
232
  export type RunFeedbackRequest = {
233
+ /**
234
+ * Human feedback text. Pass null to clear the text.
235
+ */
132
236
  body?: string | null;
133
- feedback?: string | null;
237
+ /**
238
+ * Human verdict for this run: `pass`, `fail`, or `partial`. Pass null to clear it.
239
+ */
134
240
  rating?: 'pass' | 'fail' | 'partial' | null;
135
- feedbackRating?: 'pass' | 'fail' | 'partial' | null;
241
+ /**
242
+ * Review lifecycle status: `open`, `resolved`, or `ignored`. Pass null to clear it.
243
+ */
136
244
  status?: 'open' | 'resolved' | 'ignored' | null;
137
- feedbackStatus?: 'open' | 'resolved' | 'ignored' | null;
245
+ /**
246
+ * Expected JSON output for this run. Pass null to clear it.
247
+ */
138
248
  expected?: unknown | null;
139
249
  };
140
250
 
251
+ /**
252
+ * JSON request body for copying one run output file into the expected artifact set.
253
+ */
254
+ export type RunExpectedFileCopyRequest = {
255
+ /**
256
+ * Name of an existing run output file to copy into expected artifacts.
257
+ */
258
+ outputFileName: string;
259
+ /**
260
+ * Optional name for the copied expected file. Defaults to the original output file name.
261
+ */
262
+ expectedName?: string;
263
+ };
264
+
265
+ export type RunExpectedFileUploadRequest = {
266
+ /**
267
+ * Expected artifact file to upload.
268
+ */
269
+ file: Blob | File;
270
+ /**
271
+ * Optional stored expected file name. Defaults to the uploaded filename.
272
+ */
273
+ name?: string;
274
+ };
275
+
276
+ /**
277
+ * Rename one expected file.
278
+ */
279
+ export type RunExpectedFileUpdateRequest = {
280
+ /**
281
+ * New expected file name.
282
+ */
283
+ name: string;
284
+ };
285
+
286
+ /**
287
+ * Create or update a dataset example from the run input, actual output, and feedback expected artifacts.
288
+ */
141
289
  export type PromoteRunRequest = {
290
+ /**
291
+ * Dataset example name to create or update. Defaults to a generated name when omitted.
292
+ */
142
293
  name?: string;
143
294
  };
144
295
 
@@ -190,6 +341,68 @@ export type ApiErrorIssue = {
190
341
  severity: 'error' | 'warning';
191
342
  };
192
343
 
344
+ export type ListAutomationsResponse = {
345
+ data: Array<AutomationSummary>;
346
+ total: number;
347
+ limit: number;
348
+ offset: number;
349
+ };
350
+
351
+ export type AutomationSummary = {
352
+ /**
353
+ * Implementation id for the automation. Workflow automations use workflow ids; agent automations use agent workflow ids.
354
+ */
355
+ id: string;
356
+ type: AutomationType;
357
+ slug: string;
358
+ name: string | null;
359
+ description?: string | null;
360
+ status?: string;
361
+ version?: string | null;
362
+ triggers?: AutomationTriggerState;
363
+ /**
364
+ * False when the automations registry row exists but the workflow/agent implementation row is missing.
365
+ */
366
+ implementationAvailable?: boolean;
367
+ createdAt: string;
368
+ updatedAt?: string;
369
+ };
370
+
371
+ export type AutomationType = 'workflow' | 'agent';
372
+
373
+ export type AutomationTriggerState = {
374
+ api: boolean;
375
+ email: boolean;
376
+ manual: boolean;
377
+ cron: boolean;
378
+ };
379
+
380
+ export type AutomationDetail = {
381
+ /**
382
+ * Implementation id for the automation. Workflow automations use workflow ids; agent automations use agent workflow ids.
383
+ */
384
+ id: string;
385
+ type: AutomationType;
386
+ slug: string;
387
+ name: string | null;
388
+ description?: string | null;
389
+ status?: string;
390
+ version?: string | null;
391
+ triggers?: AutomationTriggerState;
392
+ /**
393
+ * False when the automations registry row exists but the workflow/agent implementation row is missing.
394
+ */
395
+ implementationAvailable?: boolean;
396
+ createdAt: string;
397
+ updatedAt?: string;
398
+ inputSchema?: {
399
+ [key: string]: unknown;
400
+ } | null;
401
+ outputSchema?: {
402
+ [key: string]: unknown;
403
+ } | null;
404
+ };
405
+
193
406
  export type DatasetImportResponse = {
194
407
  mode: 'append';
195
408
  created: number;
@@ -204,141 +417,368 @@ export type DatasetImportResponse = {
204
417
  filesDeleted: number;
205
418
  };
206
419
 
420
+ /**
421
+ * Evaluator YAML and parsed evaluator configuration for an automation.
422
+ */
207
423
  export type EvaluatorConfigResponse = {
424
+ /**
425
+ * Automation that owns this evaluator config.
426
+ */
208
427
  automationId: string;
209
428
  automationType: AutomationType;
429
+ /**
430
+ * Evaluator configuration YAML.
431
+ */
210
432
  yaml: string;
211
433
  config: {
434
+ /**
435
+ * Parsed evaluator definitions from the YAML.
436
+ */
212
437
  evaluators: Array<unknown>;
438
+ /**
439
+ * Overall score threshold required for the experiment to pass.
440
+ */
213
441
  passThreshold: number;
214
442
  };
215
443
  };
216
444
 
217
- export type AutomationType = 'workflow' | 'agent';
445
+ export type DatasetExampleList = {
446
+ data: Array<DatasetExample>;
447
+ total: number;
448
+ limit: number;
449
+ offset: number;
450
+ };
218
451
 
452
+ /**
453
+ * One input/expected-output row in an automation dataset.
454
+ */
219
455
  export type DatasetExample = {
220
456
  /**
221
457
  * Stable public example id. Workflow examples use DB ids; agent examples use deterministic name-derived ids.
222
458
  */
223
459
  id: string;
460
+ /**
461
+ * Human-readable dataset example name.
462
+ */
224
463
  name: string;
464
+ /**
465
+ * Automation that owns this example.
466
+ */
225
467
  automationId: string;
226
468
  automationType: AutomationType;
469
+ /**
470
+ * Input arguments used when this example is run.
471
+ */
227
472
  input: {
228
473
  [key: string]: unknown;
229
474
  } | null;
475
+ /**
476
+ * Expected JSON output for evaluator comparisons.
477
+ */
230
478
  expected: unknown | null;
479
+ /**
480
+ * Expected files attached to this example.
481
+ */
231
482
  expectedFiles: Array<{
483
+ /**
484
+ * Expected file name.
485
+ */
232
486
  name: string;
487
+ /**
488
+ * Download URL for the expected file.
489
+ */
490
+ url?: string;
233
491
  }>;
492
+ /**
493
+ * Caller-managed metadata for sorting or filtering examples.
494
+ */
234
495
  metadata: {
235
496
  [key: string]: unknown;
236
497
  } | null;
498
+ /**
499
+ * Human note about the example.
500
+ */
237
501
  annotation: string | null;
502
+ /**
503
+ * Optional display order within the dataset.
504
+ */
238
505
  rowOrder: number | null;
506
+ /**
507
+ * Step output overrides used when running this example.
508
+ */
239
509
  overrides: {
240
510
  [key: string]: unknown;
241
511
  } | null;
512
+ /**
513
+ * Most recent run id created from this example.
514
+ */
242
515
  latestRunId: string | null;
243
516
  createdAt?: string;
244
517
  updatedAt?: string | null;
245
518
  };
246
519
 
247
- export type ExampleRunResponse = {
248
- id: string;
249
- type: 'workflow' | 'agent';
250
- batchId: string | null;
251
- finished: false;
520
+ export type DatasetExampleExpectedFileList = {
521
+ /**
522
+ * Paths under the example expected folder.
523
+ */
524
+ files: Array<string>;
252
525
  };
253
526
 
254
- export type DatasetExampleList = {
255
- data: Array<DatasetExample>;
256
- total: number;
257
- limit: number;
258
- offset: number;
527
+ export type DatasetExampleExpectedFileUploadResponse = {
528
+ /**
529
+ * Stored expected file paths.
530
+ */
531
+ uploaded: Array<string>;
259
532
  };
260
533
 
261
- export type Experiment = {
262
- id: string;
263
- automationId: string;
264
- automationType: AutomationType;
265
- status: 'queued' | 'running' | 'completed';
266
- runCount: number;
267
- completedCount: number;
268
- passedCount: number;
269
- failedCount: number;
270
- avgScore: number | null;
271
- createdAt: string;
272
- completedAt: string | null;
273
- version: string | null;
534
+ export type DatasetExampleExpectedFileRenameResponse = {
535
+ ok: true;
536
+ filename: string;
537
+ /**
538
+ * Updated expected file path.
539
+ */
540
+ path: string;
274
541
  };
275
542
 
276
- export type ExperimentCreateResponse = {
277
- id: string;
278
- runs: Array<{
279
- id: string;
280
- exampleId: string | null;
281
- }>;
282
- total: number;
543
+ export type DatasetExampleInputFileList = {
544
+ /**
545
+ * Paths under the example input folder.
546
+ */
547
+ files: Array<string>;
283
548
  };
284
549
 
285
- export type ExperimentDetail = {
286
- id: string;
287
- automationId: string;
288
- automationType: AutomationType;
289
- status: 'queued' | 'running' | 'completed';
290
- runCount: number;
550
+ export type DatasetExampleInputFileUploadResponse = {
551
+ /**
552
+ * Stored input file paths.
553
+ */
554
+ uploaded: Array<string>;
555
+ };
556
+
557
+ export type DatasetExampleInputFileRenameResponse = {
558
+ ok: true;
559
+ filename: string;
560
+ /**
561
+ * Updated input file path.
562
+ */
563
+ path: string;
564
+ };
565
+
566
+ export type ExampleRunResponse = {
567
+ /**
568
+ * Run id created for this example.
569
+ */
570
+ id: string;
571
+ /**
572
+ * Implementation type behind the automation.
573
+ */
574
+ type: 'workflow' | 'agent';
575
+ /**
576
+ * Experiment batch id when the run is associated with a batch. The API also calls this an experiment id in experiment routes.
577
+ */
578
+ batchId: string | null;
579
+ /**
580
+ * Example runs are accepted asynchronously.
581
+ */
582
+ finished: false;
583
+ };
584
+
585
+ /**
586
+ * Experiment batch summary for an automation dataset run.
587
+ */
588
+ export type Experiment = {
589
+ /**
590
+ * Experiment batch id. Some CLI commands historically call this a batch id.
591
+ */
592
+ id: string;
593
+ /**
594
+ * Automation this experiment belongs to.
595
+ */
596
+ automationId: string;
597
+ automationType: AutomationType;
598
+ /**
599
+ * Experiment batch status.
600
+ */
601
+ status: 'queued' | 'running' | 'completed';
602
+ /**
603
+ * Total runs in the experiment.
604
+ */
605
+ runCount: number;
606
+ /**
607
+ * Runs that have completed.
608
+ */
609
+ completedCount: number;
610
+ /**
611
+ * Runs whose evaluator scores passed.
612
+ */
613
+ passedCount: number;
614
+ /**
615
+ * Runs whose evaluator scores failed.
616
+ */
617
+ failedCount: number;
618
+ /**
619
+ * Average automated evaluator score.
620
+ */
621
+ avgScore: number | null;
622
+ createdAt: string;
623
+ completedAt: string | null;
624
+ version: string | null;
625
+ };
626
+
627
+ /**
628
+ * Accepted experiment batch and the runs it enqueued.
629
+ */
630
+ export type ExperimentCreateResponse = {
631
+ /**
632
+ * Experiment batch id.
633
+ */
634
+ id: string;
635
+ /**
636
+ * Runs enqueued for this experiment.
637
+ */
638
+ runs: Array<{
639
+ /**
640
+ * Run id.
641
+ */
642
+ id: string;
643
+ /**
644
+ * Dataset example id.
645
+ */
646
+ exampleId: string | null;
647
+ }>;
648
+ /**
649
+ * Number of runs enqueued.
650
+ */
651
+ total: number;
652
+ };
653
+
654
+ /**
655
+ * Experiment batch detail.
656
+ */
657
+ export type ExperimentDetail = {
658
+ /**
659
+ * Experiment batch id. Some CLI commands historically call this a batch id.
660
+ */
661
+ id: string;
662
+ /**
663
+ * Automation this experiment belongs to.
664
+ */
665
+ automationId: string;
666
+ automationType: AutomationType;
667
+ /**
668
+ * Experiment batch status.
669
+ */
670
+ status: 'queued' | 'running' | 'completed';
671
+ /**
672
+ * Total runs in the experiment.
673
+ */
674
+ runCount: number;
675
+ /**
676
+ * Runs that have completed.
677
+ */
291
678
  completedCount: number;
679
+ /**
680
+ * Runs whose evaluator scores passed.
681
+ */
292
682
  passedCount: number;
683
+ /**
684
+ * Runs whose evaluator scores failed.
685
+ */
293
686
  failedCount: number;
687
+ /**
688
+ * Average automated evaluator score.
689
+ */
294
690
  avgScore: number | null;
295
691
  createdAt: string;
296
692
  completedAt: string | null;
297
693
  version: string | null;
694
+ /**
695
+ * Runs created for dataset examples in this experiment.
696
+ */
298
697
  runs: Array<{
698
+ /**
699
+ * Run id created for the experiment.
700
+ */
299
701
  id: string;
702
+ /**
703
+ * Current run status.
704
+ */
300
705
  status: string;
706
+ /**
707
+ * Dataset example id for the run.
708
+ */
301
709
  exampleId: string | null;
710
+ /**
711
+ * Dataset example name for the run.
712
+ */
302
713
  exampleName: string | null;
303
714
  createdAt: string;
304
715
  completedAt: string | null;
305
716
  }>;
717
+ /**
718
+ * Evaluator results keyed by run id.
719
+ */
306
720
  resultsByRun: {
307
- [key: string]: Array<unknown>;
721
+ [key: string]: Array<EvalResult>;
308
722
  };
309
723
  };
310
724
 
311
- export type AutomationDetail = {
725
+ /**
726
+ * Automated evaluator result for one run.
727
+ */
728
+ export type EvalResult = {
312
729
  /**
313
- * Implementation id for the automation. Workflow automations use workflow ids; agent automations use agent workflow ids.
730
+ * Evaluator result id.
314
731
  */
315
732
  id: string;
316
- type: AutomationType;
317
- slug: string;
318
- name: string | null;
319
- description?: string | null;
320
- status?: string;
321
- version?: string | null;
322
- triggers?: AutomationTriggerState;
323
733
  /**
324
- * False when the automations registry row exists but the workflow/agent implementation row is missing.
734
+ * Run this score belongs to.
325
735
  */
326
- implementationAvailable?: boolean;
736
+ runId: string;
737
+ /**
738
+ * Automation this score belongs to.
739
+ */
740
+ automationId: string | null;
741
+ /**
742
+ * Evaluator name from configuration.
743
+ */
744
+ evaluatorName: string;
745
+ /**
746
+ * Evaluator implementation type.
747
+ */
748
+ evaluatorType: string;
749
+ /**
750
+ * Automated evaluator score. Do not confuse this with human feedback `rating`.
751
+ */
752
+ score: number | null;
753
+ /**
754
+ * Whether this evaluator passed.
755
+ */
756
+ passed: boolean | null;
757
+ /**
758
+ * Optional evaluator label.
759
+ */
760
+ label: string | null;
761
+ /**
762
+ * Weight used in aggregate scoring.
763
+ */
764
+ weight: number | null;
765
+ /**
766
+ * Score threshold required for this evaluator to pass.
767
+ */
768
+ passThreshold: number | null;
769
+ /**
770
+ * Evaluator description.
771
+ */
772
+ description: string | null;
773
+ /**
774
+ * Evaluator-specific details.
775
+ */
776
+ details: unknown | null;
777
+ /**
778
+ * Evaluator error, when scoring failed.
779
+ */
780
+ error: string | null;
327
781
  createdAt: string;
328
- updatedAt?: string;
329
- inputSchema?: {
330
- [key: string]: unknown;
331
- } | null;
332
- outputSchema?: {
333
- [key: string]: unknown;
334
- } | null;
335
- };
336
-
337
- export type AutomationTriggerState = {
338
- api: boolean;
339
- email: boolean;
340
- manual: boolean;
341
- cron: boolean;
342
782
  };
343
783
 
344
784
  export type AutomationTriggersResponse = {
@@ -363,31 +803,9 @@ export type AutomationVersion = {
363
803
  createdAt?: string;
364
804
  };
365
805
 
366
- export type ListAutomationsResponse = {
367
- data: Array<AutomationSummary>;
368
- total: number;
369
- limit: number;
370
- offset: number;
371
- };
372
-
373
- export type AutomationSummary = {
374
- /**
375
- * Implementation id for the automation. Workflow automations use workflow ids; agent automations use agent workflow ids.
376
- */
806
+ export type ExperimentRef = {
377
807
  id: string;
378
- type: AutomationType;
379
- slug: string;
380
- name: string | null;
381
- description?: string | null;
382
- status?: string;
383
- version?: string | null;
384
- triggers?: AutomationTriggerState;
385
- /**
386
- * False when the automations registry row exists but the workflow/agent implementation row is missing.
387
- */
388
- implementationAvailable?: boolean;
389
- createdAt: string;
390
- updatedAt?: string;
808
+ automationId: string;
391
809
  };
392
810
 
393
811
  export type File = {
@@ -403,13 +821,41 @@ export type DeleteFileResponse = {
403
821
  deleted: boolean;
404
822
  };
405
823
 
406
- export type RunStartResponse = RunAccepted | Run;
824
+ export type RunsListResponse = {
825
+ runs: Array<RunListItem>;
826
+ nextCursor: string | null;
827
+ };
407
828
 
408
- export type RunAccepted = {
829
+ export type RunListItem = {
409
830
  id: string;
410
831
  type: 'workflow' | 'agent';
411
- finished: false;
412
- source?: RunSource;
832
+ /**
833
+ * True when the run has reached a terminal status.
834
+ */
835
+ finished: boolean;
836
+ timing: RunTiming;
837
+ source: RunSource;
838
+ trigger: RunTrigger;
839
+ /**
840
+ * Present only when the run is eval-scoped.
841
+ */
842
+ eval?: RunEval;
843
+ /**
844
+ * Terminal failure message. Null when the run succeeded or is still in flight.
845
+ */
846
+ error?: RunError;
847
+ execution: RunExecutionMeta;
848
+ };
849
+
850
+ export type RunTiming = {
851
+ createdAt: string;
852
+ startedAt: string | null;
853
+ completedAt: string | null;
854
+ durationMs: number | null;
855
+ /**
856
+ * When the user requested cancel; status may still be `running` until the worker stops.
857
+ */
858
+ cancelRequestedAt: string | null;
413
859
  };
414
860
 
415
861
  export type RunSource = {
@@ -459,17 +905,87 @@ export type RunSourceGit = {
459
905
  commitSha: string | null;
460
906
  };
461
907
 
462
- export type Run = {
463
- id: string;
464
- type: 'workflow' | 'agent';
908
+ export type RunTrigger = {
909
+ type: string | null;
910
+ by: {
911
+ id: string;
912
+ name: string | null;
913
+ email: string;
914
+ } | null;
465
915
  /**
466
- * True when the run has reached a terminal status.
916
+ * Inbound email trigger details (agent runs, `expand=input` not required).
467
917
  */
468
- finished: boolean;
469
- timing: RunTiming;
470
- source: RunSource;
471
- trigger: RunTrigger;
472
- /**
918
+ email?: unknown;
919
+ };
920
+
921
+ export type RunEval = {
922
+ /**
923
+ * Eval example label (agent example name or workflow example id).
924
+ */
925
+ example: string | null;
926
+ /**
927
+ * Workflow eval example folder id (workflow runs only).
928
+ */
929
+ exampleId?: string | null;
930
+ score: number | null;
931
+ passed: boolean | null;
932
+ };
933
+
934
+ export type RunError = string | null;
935
+
936
+ export type RunExecutionMeta = {
937
+ status: ExecutionStatus;
938
+ /**
939
+ * Whether the completed output matched the workflow or agent output schema.
940
+ */
941
+ schemaValid: boolean | null;
942
+ /**
943
+ * Experiment batch id when the run is part of a batch.
944
+ */
945
+ batchId: string | null;
946
+ retry: RunExecutionRetry;
947
+ };
948
+
949
+ export type ExecutionStatus = 'created' | 'pending' | 'running' | 'waiting' | 'finalizing' | 'completed' | 'failed' | 'cancelled' | 'rejected';
950
+
951
+ export type RunExecutionRetry = {
952
+ /**
953
+ * Retry attempt index (0 = original run).
954
+ */
955
+ number: number;
956
+ /**
957
+ * Run id of the prior attempt in the retry chain.
958
+ */
959
+ previousRunId: string | null;
960
+ /**
961
+ * Retry run spawned from this run, if any.
962
+ */
963
+ nextRun: {
964
+ id: string;
965
+ status: string;
966
+ } | null;
967
+ };
968
+
969
+ export type RunStartResponse = RunAccepted | Run;
970
+
971
+ export type RunAccepted = {
972
+ id: string;
973
+ type: 'workflow' | 'agent';
974
+ finished: false;
975
+ source?: RunSource;
976
+ };
977
+
978
+ export type Run = {
979
+ id: string;
980
+ type: 'workflow' | 'agent';
981
+ /**
982
+ * True when the run has reached a terminal status.
983
+ */
984
+ finished: boolean;
985
+ timing: RunTiming;
986
+ source: RunSource;
987
+ trigger: RunTrigger;
988
+ /**
473
989
  * Present only when the run is eval-scoped.
474
990
  */
475
991
  eval?: RunEval;
@@ -505,43 +1021,6 @@ export type Run = {
505
1021
  debug?: RunDebug;
506
1022
  };
507
1023
 
508
- export type RunTiming = {
509
- createdAt: string;
510
- startedAt: string | null;
511
- completedAt: string | null;
512
- durationMs: number | null;
513
- /**
514
- * When the user requested cancel; status may still be `running` until the worker stops.
515
- */
516
- cancelRequestedAt: string | null;
517
- };
518
-
519
- export type RunTrigger = {
520
- type: string | null;
521
- by: {
522
- id: string;
523
- name: string | null;
524
- email: string;
525
- } | null;
526
- /**
527
- * Inbound email trigger details (agent runs, `expand=input` not required).
528
- */
529
- email?: unknown;
530
- };
531
-
532
- export type RunEval = {
533
- /**
534
- * Eval example label (agent example name or workflow example id).
535
- */
536
- example: string | null;
537
- /**
538
- * Workflow eval example folder id (workflow runs only).
539
- */
540
- exampleId?: string | null;
541
- score: number | null;
542
- passed: boolean | null;
543
- };
544
-
545
1024
  export type RunArtifact = {
546
1025
  name: string;
547
1026
  /**
@@ -560,8 +1039,6 @@ export type RunArtifact = {
560
1039
  size?: number | null;
561
1040
  };
562
1041
 
563
- export type RunError = string | null;
564
-
565
1042
  export type RunInput = {
566
1043
  /**
567
1044
  * Input arguments the run was started with.
@@ -577,7 +1054,13 @@ export type RunInput = {
577
1054
  metadata?: unknown;
578
1055
  };
579
1056
 
1057
+ /**
1058
+ * A file attached to a run input, output, or expected artifact set.
1059
+ */
580
1060
  export type RunFile = {
1061
+ /**
1062
+ * File name or slash-delimited artifact path.
1063
+ */
581
1064
  name: string;
582
1065
  };
583
1066
 
@@ -604,39 +1087,6 @@ export type RunUsage = {
604
1087
  agentTurns?: number | null;
605
1088
  };
606
1089
 
607
- export type RunExecutionMeta = {
608
- status: ExecutionStatus;
609
- /**
610
- * Whether the completed output matched the workflow or agent output schema.
611
- */
612
- schemaValid: boolean | null;
613
- /**
614
- * Experiment batch id when the run is part of a batch.
615
- */
616
- batchId: string | null;
617
- retry: RunExecutionRetry;
618
- };
619
-
620
- export type ExecutionStatus = 'created' | 'pending' | 'running' | 'waiting' | 'finalizing' | 'completed' | 'failed' | 'cancelled' | 'rejected';
621
-
622
- export type RunExecutionRetry = {
623
- /**
624
- * Retry attempt index (0 = original run).
625
- */
626
- number: number;
627
- /**
628
- * Run id of the prior attempt in the retry chain.
629
- */
630
- previousRunId: string | null;
631
- /**
632
- * Retry run spawned from this run, if any.
633
- */
634
- nextRun: {
635
- id: string;
636
- status: string;
637
- } | null;
638
- };
639
-
640
1090
  export type RunExecution = WorkflowRunExecution | AgentRunExecution;
641
1091
 
642
1092
  export type WorkflowRunExecution = {
@@ -654,6 +1104,10 @@ export type WorkflowRunExecution = {
654
1104
  * Per-step executions of the workflow run.
655
1105
  */
656
1106
  steps: Array<unknown>;
1107
+ /**
1108
+ * Workflow definition snapshot captured when the run was created.
1109
+ */
1110
+ definitionSnapshot?: unknown | null;
657
1111
  feedback?: RunFeedback | null;
658
1112
  /**
659
1113
  * Ground-truth expected output and files.
@@ -664,24 +1118,57 @@ export type WorkflowRunExecution = {
664
1118
  };
665
1119
  };
666
1120
 
1121
+ /**
1122
+ * Canonical human feedback object for a run. Use feedback endpoints to read, update, clear, or promote it to a dataset example.
1123
+ */
667
1124
  export type RunFeedback = {
668
1125
  /**
669
- * `pass`, `fail`, or `partial`.
1126
+ * Human verdict for the run: `pass`, `fail`, or `partial`. This is separate from evaluator `score` values.
670
1127
  */
671
1128
  rating: string | null;
672
1129
  /**
673
- * `open`, `resolved`, or `ignored`.
1130
+ * Review lifecycle status: `open` needs attention, `resolved` was addressed, and `ignored` was acknowledged but intentionally not acted on.
674
1131
  */
675
1132
  status: string | null;
1133
+ /**
1134
+ * Human feedback text written for this run.
1135
+ */
676
1136
  body: string;
1137
+ /**
1138
+ * When feedback was first created.
1139
+ */
677
1140
  createdAt: string | null;
1141
+ /**
1142
+ * User id that created the feedback.
1143
+ */
678
1144
  createdBy: string | null;
1145
+ /**
1146
+ * Email of the user that created the feedback.
1147
+ */
679
1148
  createdByEmail: string | null;
1149
+ /**
1150
+ * When feedback was last changed.
1151
+ */
680
1152
  updatedAt: string | null;
1153
+ /**
1154
+ * When feedback was marked resolved or ignored.
1155
+ */
681
1156
  resolvedAt: string | null;
1157
+ /**
1158
+ * User id that resolved or ignored the feedback.
1159
+ */
682
1160
  resolvedBy: string | null;
1161
+ /**
1162
+ * Email of the user that resolved or ignored the feedback.
1163
+ */
683
1164
  resolvedByEmail: string | null;
1165
+ /**
1166
+ * Agent session id that resolved the feedback, when applicable.
1167
+ */
684
1168
  resolvedBySessionId: string | null;
1169
+ /**
1170
+ * Dataset example name created from this feedback, if promoted.
1171
+ */
685
1172
  promotedExampleName: string | null;
686
1173
  };
687
1174
 
@@ -710,6 +1197,10 @@ export type AgentRunExecution = {
710
1197
  output?: unknown;
711
1198
  files?: Array<RunFile>;
712
1199
  };
1200
+ /**
1201
+ * Expected-vs-actual comparison for eval runs (terminal runs only).
1202
+ */
1203
+ comparison?: unknown;
713
1204
  };
714
1205
 
715
1206
  export type RunDebug = {
@@ -723,32 +1214,6 @@ export type RunDebug = {
723
1214
  traceId?: string | null;
724
1215
  };
725
1216
 
726
- export type RunsListResponse = {
727
- runs: Array<RunListItem>;
728
- nextCursor: string | null;
729
- };
730
-
731
- export type RunListItem = {
732
- id: string;
733
- type: 'workflow' | 'agent';
734
- /**
735
- * True when the run has reached a terminal status.
736
- */
737
- finished: boolean;
738
- timing: RunTiming;
739
- source: RunSource;
740
- trigger: RunTrigger;
741
- /**
742
- * Present only when the run is eval-scoped.
743
- */
744
- eval?: RunEval;
745
- /**
746
- * Terminal failure message. Null when the run succeeded or is still in flight.
747
- */
748
- error?: RunError;
749
- execution: RunExecutionMeta;
750
- };
751
-
752
1217
  export type RunArtifactsResponse = {
753
1218
  artifacts: Array<RunArtifact>;
754
1219
  };
@@ -775,27 +1240,6 @@ export type RunCancelResponse = {
775
1240
  };
776
1241
  };
777
1242
 
778
- export type EvalResultsResponse = {
779
- results: Array<EvalResult>;
780
- };
781
-
782
- export type EvalResult = {
783
- id: string;
784
- runId: string;
785
- automationId: string | null;
786
- evaluatorName: string;
787
- evaluatorType: string;
788
- score: number | null;
789
- passed: boolean | null;
790
- label: string | null;
791
- weight: number | null;
792
- passThreshold: number | null;
793
- description: string | null;
794
- details: unknown | null;
795
- error: string | null;
796
- createdAt: string;
797
- };
798
-
799
1243
  export type RunEventsResponse = {
800
1244
  events: Array<RunEvent>;
801
1245
  };
@@ -810,39 +1254,1247 @@ export type RunEvent = {
810
1254
  };
811
1255
  };
812
1256
 
1257
+ /**
1258
+ * Complete feedback state for a run: human feedback, expected JSON output, and expected files.
1259
+ */
813
1260
  export type RunFeedbackDetail = {
1261
+ /**
1262
+ * Human feedback object for the run, or null when no feedback exists.
1263
+ */
814
1264
  feedback: RunFeedback | null;
1265
+ /**
1266
+ * Expected JSON output for the run, or null when none is set.
1267
+ */
815
1268
  expected: unknown | null;
816
- expectedFiles: Array<{
817
- name: string;
818
- }>;
1269
+ /**
1270
+ * Expected output files attached to this run feedback record.
1271
+ */
1272
+ expectedFiles: Array<RunFile>;
1273
+ };
1274
+
1275
+ /**
1276
+ * Expected JSON output and expected files attached to run feedback.
1277
+ */
1278
+ export type RunExpectedArtifacts = {
1279
+ /**
1280
+ * Expected JSON output for the run, or null when none is set.
1281
+ */
1282
+ expected: unknown | null;
1283
+ /**
1284
+ * Expected output files attached to this run feedback record.
1285
+ */
1286
+ files: Array<RunFile>;
819
1287
  };
820
1288
 
1289
+ /**
1290
+ * Expected file created or renamed by the request.
1291
+ */
1292
+ export type RunExpectedFileMutationResponse = RunFile;
1293
+
1294
+ /**
1295
+ * Expected file after the rename.
1296
+ */
1297
+ export type RunExpectedFileUpdateResponse = RunFile;
1298
+
821
1299
  export type PromoteRunResponse = {
1300
+ /**
1301
+ * Automation that owns the promoted example.
1302
+ */
822
1303
  automationId: string;
1304
+ /**
1305
+ * Implementation type behind the automation.
1306
+ */
823
1307
  automationType: 'workflow' | 'agent';
1308
+ /**
1309
+ * Dataset example identifier returned for follow-up API calls.
1310
+ */
824
1311
  exampleId: string;
1312
+ /**
1313
+ * Dataset example name.
1314
+ */
825
1315
  name: string | null;
826
1316
  };
827
1317
 
828
- export type RunRerunResponse = RunStartResponse;
1318
+ export type RunRerunResponse = RunStartResponse;
1319
+
1320
+ /**
1321
+ * Automated evaluator results attached to a run.
1322
+ */
1323
+ export type RunScoresResponse = {
1324
+ /**
1325
+ * Automated evaluator scores for the run. These are separate from human feedback `rating` values.
1326
+ */
1327
+ scores: Array<EvalResult>;
1328
+ };
1329
+
1330
+ export type RunStepsResponse = {
1331
+ steps: Array<unknown>;
1332
+ };
1333
+
1334
+ export type RunTraceResponse = {
1335
+ /**
1336
+ * Chronological trace events. Workflow runs return observability phases or step executions; agent runs return parsed trace.jsonl events.
1337
+ */
1338
+ events: Array<RunTraceEvent>;
1339
+ };
1340
+
1341
+ /**
1342
+ * Trace event emitted by a workflow or agent run. Extra fields depend on the run type and event source.
1343
+ */
1344
+ export type RunTraceEvent = {
1345
+ /**
1346
+ * Event type when present. Agent traces mirror trace.jsonl events; workflow traces use execution phase or step records.
1347
+ */
1348
+ type?: string;
1349
+ /**
1350
+ * Workflow execution phase, when present.
1351
+ */
1352
+ phase?: string;
1353
+ /**
1354
+ * Workflow step name, when present.
1355
+ */
1356
+ stepName?: string;
1357
+ /**
1358
+ * Event or execution status, when present.
1359
+ */
1360
+ status?: string;
1361
+ /**
1362
+ * Event start timestamp.
1363
+ */
1364
+ startedAt?: string | null;
1365
+ /**
1366
+ * Event completion timestamp.
1367
+ */
1368
+ completedAt?: string | null;
1369
+ /**
1370
+ * Human-readable event message.
1371
+ */
1372
+ message?: string | null;
1373
+ [key: string]: unknown;
1374
+ };
1375
+
1376
+ export type RunUsageResponse = {
1377
+ usage: RunUsage | null;
1378
+ };
1379
+
1380
+ export type AuthCheckData = {
1381
+ body?: never;
1382
+ path?: never;
1383
+ query?: never;
1384
+ url: '/api/v1/auth/check';
1385
+ };
1386
+
1387
+ export type AuthCheckErrors = {
1388
+ /**
1389
+ * Validation error. Request shape did not match the spec.
1390
+ */
1391
+ 400: ApiErrorEnvelope;
1392
+ /**
1393
+ * Missing or invalid API key
1394
+ */
1395
+ 401: ApiErrorEnvelope;
1396
+ /**
1397
+ * API key lacks required scope
1398
+ */
1399
+ 403: ApiErrorEnvelope;
1400
+ /**
1401
+ * Resource not found
1402
+ */
1403
+ 404: ApiErrorEnvelope;
1404
+ /**
1405
+ * Payload too large. Upload exceeded the per-request size cap.
1406
+ */
1407
+ 413: ApiErrorEnvelope;
1408
+ /**
1409
+ * Rate limit exceeded
1410
+ */
1411
+ 429: ApiErrorEnvelope;
1412
+ /**
1413
+ * Internal server error
1414
+ */
1415
+ 500: ApiErrorEnvelope;
1416
+ };
1417
+
1418
+ export type AuthCheckError = AuthCheckErrors[keyof AuthCheckErrors];
1419
+
1420
+ export type AuthCheckResponses = {
1421
+ /**
1422
+ * Authenticated identity
1423
+ */
1424
+ 200: AuthCheckResponse;
1425
+ };
1426
+
1427
+ export type AuthCheckResponse2 = AuthCheckResponses[keyof AuthCheckResponses];
1428
+
1429
+ export type AutomationsListData = {
1430
+ body?: never;
1431
+ path?: never;
1432
+ query?: {
1433
+ /**
1434
+ * Substring match against slug, name, or description
1435
+ */
1436
+ search?: string;
1437
+ /**
1438
+ * Filter by implementation type
1439
+ */
1440
+ type?: 'workflow' | 'agent';
1441
+ /**
1442
+ * Maximum number of automations to return.
1443
+ */
1444
+ limit?: number;
1445
+ /**
1446
+ * Zero-based offset for paging through automations.
1447
+ */
1448
+ offset?: number;
1449
+ };
1450
+ url: '/api/v1/automations';
1451
+ };
1452
+
1453
+ export type AutomationsListErrors = {
1454
+ /**
1455
+ * Validation error. Request shape did not match the spec.
1456
+ */
1457
+ 400: ApiErrorEnvelope;
1458
+ /**
1459
+ * Missing or invalid API key
1460
+ */
1461
+ 401: ApiErrorEnvelope;
1462
+ /**
1463
+ * API key lacks required scope
1464
+ */
1465
+ 403: ApiErrorEnvelope;
1466
+ /**
1467
+ * Resource not found
1468
+ */
1469
+ 404: ApiErrorEnvelope;
1470
+ /**
1471
+ * Payload too large. Upload exceeded the per-request size cap.
1472
+ */
1473
+ 413: ApiErrorEnvelope;
1474
+ /**
1475
+ * Rate limit exceeded
1476
+ */
1477
+ 429: ApiErrorEnvelope;
1478
+ /**
1479
+ * Internal server error
1480
+ */
1481
+ 500: ApiErrorEnvelope;
1482
+ };
1483
+
1484
+ export type AutomationsListError = AutomationsListErrors[keyof AutomationsListErrors];
1485
+
1486
+ export type AutomationsListResponses = {
1487
+ /**
1488
+ * Page of runnable workflow and agent automations.
1489
+ */
1490
+ 200: ListAutomationsResponse;
1491
+ };
1492
+
1493
+ export type AutomationsListResponse = AutomationsListResponses[keyof AutomationsListResponses];
1494
+
1495
+ export type AutomationsGetData = {
1496
+ body?: never;
1497
+ path: {
1498
+ /**
1499
+ * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
1500
+ */
1501
+ id: string;
1502
+ };
1503
+ query?: never;
1504
+ url: '/api/v1/automations/{id}';
1505
+ };
1506
+
1507
+ export type AutomationsGetErrors = {
1508
+ /**
1509
+ * Validation error. Request shape did not match the spec.
1510
+ */
1511
+ 400: ApiErrorEnvelope;
1512
+ /**
1513
+ * Missing or invalid API key
1514
+ */
1515
+ 401: ApiErrorEnvelope;
1516
+ /**
1517
+ * API key lacks required scope
1518
+ */
1519
+ 403: ApiErrorEnvelope;
1520
+ /**
1521
+ * Resource not found
1522
+ */
1523
+ 404: ApiErrorEnvelope;
1524
+ /**
1525
+ * Payload too large. Upload exceeded the per-request size cap.
1526
+ */
1527
+ 413: ApiErrorEnvelope;
1528
+ /**
1529
+ * Rate limit exceeded
1530
+ */
1531
+ 429: ApiErrorEnvelope;
1532
+ /**
1533
+ * Internal server error
1534
+ */
1535
+ 500: ApiErrorEnvelope;
1536
+ };
1537
+
1538
+ export type AutomationsGetError = AutomationsGetErrors[keyof AutomationsGetErrors];
1539
+
1540
+ export type AutomationsGetResponses = {
1541
+ /**
1542
+ * Automation
1543
+ */
1544
+ 200: AutomationDetail;
1545
+ };
1546
+
1547
+ export type AutomationsGetResponse = AutomationsGetResponses[keyof AutomationsGetResponses];
1548
+
1549
+ export type AutomationsDatasetExportData = {
1550
+ body?: never;
1551
+ path: {
1552
+ /**
1553
+ * Automation id or typed alias.
1554
+ */
1555
+ id: string;
1556
+ };
1557
+ query?: {
1558
+ /**
1559
+ * Optional comma-separated dataset example ids to export. Omit to export the full dataset.
1560
+ */
1561
+ exampleIds?: string;
1562
+ };
1563
+ url: '/api/v1/automations/{id}/dataset/export';
1564
+ };
1565
+
1566
+ export type AutomationsDatasetExportErrors = {
1567
+ /**
1568
+ * Validation error. Request shape did not match the spec.
1569
+ */
1570
+ 400: ApiErrorEnvelope;
1571
+ /**
1572
+ * Missing or invalid API key
1573
+ */
1574
+ 401: ApiErrorEnvelope;
1575
+ /**
1576
+ * API key lacks required scope
1577
+ */
1578
+ 403: ApiErrorEnvelope;
1579
+ /**
1580
+ * Resource not found
1581
+ */
1582
+ 404: ApiErrorEnvelope;
1583
+ /**
1584
+ * Payload too large. Upload exceeded the per-request size cap.
1585
+ */
1586
+ 413: ApiErrorEnvelope;
1587
+ /**
1588
+ * Rate limit exceeded
1589
+ */
1590
+ 429: ApiErrorEnvelope;
1591
+ /**
1592
+ * Internal server error
1593
+ */
1594
+ 500: ApiErrorEnvelope;
1595
+ };
1596
+
1597
+ export type AutomationsDatasetExportError = AutomationsDatasetExportErrors[keyof AutomationsDatasetExportErrors];
1598
+
1599
+ export type AutomationsDatasetExportResponses = {
1600
+ /**
1601
+ * ZIP archive
1602
+ */
1603
+ 200: Blob | File;
1604
+ };
1605
+
1606
+ export type AutomationsDatasetExportResponse = AutomationsDatasetExportResponses[keyof AutomationsDatasetExportResponses];
1607
+
1608
+ export type AutomationsDatasetImportData = {
1609
+ body: AutomationDatasetImportMultipartRequest;
1610
+ path: {
1611
+ /**
1612
+ * Automation id or typed alias.
1613
+ */
1614
+ id: string;
1615
+ };
1616
+ query?: never;
1617
+ url: '/api/v1/automations/{id}/dataset/import';
1618
+ };
1619
+
1620
+ export type AutomationsDatasetImportErrors = {
1621
+ /**
1622
+ * Validation error. Request shape did not match the spec.
1623
+ */
1624
+ 400: ApiErrorEnvelope;
1625
+ /**
1626
+ * Missing or invalid API key
1627
+ */
1628
+ 401: ApiErrorEnvelope;
1629
+ /**
1630
+ * API key lacks required scope
1631
+ */
1632
+ 403: ApiErrorEnvelope;
1633
+ /**
1634
+ * Resource not found
1635
+ */
1636
+ 404: ApiErrorEnvelope;
1637
+ /**
1638
+ * Payload too large. Upload exceeded the per-request size cap.
1639
+ */
1640
+ 413: ApiErrorEnvelope;
1641
+ /**
1642
+ * Rate limit exceeded
1643
+ */
1644
+ 429: ApiErrorEnvelope;
1645
+ /**
1646
+ * Internal server error
1647
+ */
1648
+ 500: ApiErrorEnvelope;
1649
+ };
1650
+
1651
+ export type AutomationsDatasetImportError = AutomationsDatasetImportErrors[keyof AutomationsDatasetImportErrors];
1652
+
1653
+ export type AutomationsDatasetImportResponses = {
1654
+ /**
1655
+ * Import result
1656
+ */
1657
+ 200: DatasetImportResponse;
1658
+ };
1659
+
1660
+ export type AutomationsDatasetImportResponse = AutomationsDatasetImportResponses[keyof AutomationsDatasetImportResponses];
1661
+
1662
+ export type AutomationsEvaluatorsGetData = {
1663
+ body?: never;
1664
+ path: {
1665
+ /**
1666
+ * Automation id or typed alias.
1667
+ */
1668
+ id: string;
1669
+ };
1670
+ query?: never;
1671
+ url: '/api/v1/automations/{id}/evaluators';
1672
+ };
1673
+
1674
+ export type AutomationsEvaluatorsGetErrors = {
1675
+ /**
1676
+ * Validation error. Request shape did not match the spec.
1677
+ */
1678
+ 400: ApiErrorEnvelope;
1679
+ /**
1680
+ * Missing or invalid API key
1681
+ */
1682
+ 401: ApiErrorEnvelope;
1683
+ /**
1684
+ * API key lacks required scope
1685
+ */
1686
+ 403: ApiErrorEnvelope;
1687
+ /**
1688
+ * Resource not found
1689
+ */
1690
+ 404: ApiErrorEnvelope;
1691
+ /**
1692
+ * Payload too large. Upload exceeded the per-request size cap.
1693
+ */
1694
+ 413: ApiErrorEnvelope;
1695
+ /**
1696
+ * Rate limit exceeded
1697
+ */
1698
+ 429: ApiErrorEnvelope;
1699
+ /**
1700
+ * Internal server error
1701
+ */
1702
+ 500: ApiErrorEnvelope;
1703
+ };
1704
+
1705
+ export type AutomationsEvaluatorsGetError = AutomationsEvaluatorsGetErrors[keyof AutomationsEvaluatorsGetErrors];
1706
+
1707
+ export type AutomationsEvaluatorsGetResponses = {
1708
+ /**
1709
+ * Evaluator YAML and parsed configuration.
1710
+ */
1711
+ 200: EvaluatorConfigResponse;
1712
+ };
1713
+
1714
+ export type AutomationsEvaluatorsGetResponse = AutomationsEvaluatorsGetResponses[keyof AutomationsEvaluatorsGetResponses];
1715
+
1716
+ export type AutomationsEvaluatorsUpdateData = {
1717
+ body: EvaluatorConfigUpdate;
1718
+ path: {
1719
+ /**
1720
+ * Automation id or typed alias.
1721
+ */
1722
+ id: string;
1723
+ };
1724
+ query?: never;
1725
+ url: '/api/v1/automations/{id}/evaluators';
1726
+ };
1727
+
1728
+ export type AutomationsEvaluatorsUpdateErrors = {
1729
+ /**
1730
+ * Validation error. Request shape did not match the spec.
1731
+ */
1732
+ 400: ApiErrorEnvelope;
1733
+ /**
1734
+ * Missing or invalid API key
1735
+ */
1736
+ 401: ApiErrorEnvelope;
1737
+ /**
1738
+ * API key lacks required scope
1739
+ */
1740
+ 403: ApiErrorEnvelope;
1741
+ /**
1742
+ * Resource not found
1743
+ */
1744
+ 404: ApiErrorEnvelope;
1745
+ /**
1746
+ * Payload too large. Upload exceeded the per-request size cap.
1747
+ */
1748
+ 413: ApiErrorEnvelope;
1749
+ /**
1750
+ * Rate limit exceeded
1751
+ */
1752
+ 429: ApiErrorEnvelope;
1753
+ /**
1754
+ * Internal server error
1755
+ */
1756
+ 500: ApiErrorEnvelope;
1757
+ };
1758
+
1759
+ export type AutomationsEvaluatorsUpdateError = AutomationsEvaluatorsUpdateErrors[keyof AutomationsEvaluatorsUpdateErrors];
1760
+
1761
+ export type AutomationsEvaluatorsUpdateResponses = {
1762
+ /**
1763
+ * Updated evaluator YAML and parsed configuration.
1764
+ */
1765
+ 200: EvaluatorConfigResponse;
1766
+ };
1767
+
1768
+ export type AutomationsEvaluatorsUpdateResponse = AutomationsEvaluatorsUpdateResponses[keyof AutomationsEvaluatorsUpdateResponses];
1769
+
1770
+ export type AutomationsExamplesListData = {
1771
+ body?: never;
1772
+ path: {
1773
+ /**
1774
+ * Automation id or typed alias, such as `workflows.slug` or `agents.slug`.
1775
+ */
1776
+ id: string;
1777
+ };
1778
+ query?: {
1779
+ /**
1780
+ * Maximum number of examples to return.
1781
+ */
1782
+ limit?: number;
1783
+ /**
1784
+ * Zero-based offset for paging through examples.
1785
+ */
1786
+ offset?: number;
1787
+ };
1788
+ url: '/api/v1/automations/{id}/examples';
1789
+ };
1790
+
1791
+ export type AutomationsExamplesListErrors = {
1792
+ /**
1793
+ * Validation error. Request shape did not match the spec.
1794
+ */
1795
+ 400: ApiErrorEnvelope;
1796
+ /**
1797
+ * Missing or invalid API key
1798
+ */
1799
+ 401: ApiErrorEnvelope;
1800
+ /**
1801
+ * API key lacks required scope
1802
+ */
1803
+ 403: ApiErrorEnvelope;
1804
+ /**
1805
+ * Resource not found
1806
+ */
1807
+ 404: ApiErrorEnvelope;
1808
+ /**
1809
+ * Payload too large. Upload exceeded the per-request size cap.
1810
+ */
1811
+ 413: ApiErrorEnvelope;
1812
+ /**
1813
+ * Rate limit exceeded
1814
+ */
1815
+ 429: ApiErrorEnvelope;
1816
+ /**
1817
+ * Internal server error
1818
+ */
1819
+ 500: ApiErrorEnvelope;
1820
+ };
1821
+
1822
+ export type AutomationsExamplesListError = AutomationsExamplesListErrors[keyof AutomationsExamplesListErrors];
1823
+
1824
+ export type AutomationsExamplesListResponses = {
1825
+ /**
1826
+ * Page of dataset examples.
1827
+ */
1828
+ 200: DatasetExampleList;
1829
+ };
1830
+
1831
+ export type AutomationsExamplesListResponse = AutomationsExamplesListResponses[keyof AutomationsExamplesListResponses];
1832
+
1833
+ export type AutomationsExamplesCreateData = {
1834
+ body: DatasetExampleMutation;
1835
+ path: {
1836
+ /**
1837
+ * Automation id or typed alias, such as `workflows.slug` or `agents.slug`.
1838
+ */
1839
+ id: string;
1840
+ };
1841
+ query?: never;
1842
+ url: '/api/v1/automations/{id}/examples';
1843
+ };
1844
+
1845
+ export type AutomationsExamplesCreateErrors = {
1846
+ /**
1847
+ * Validation error. Request shape did not match the spec.
1848
+ */
1849
+ 400: ApiErrorEnvelope;
1850
+ /**
1851
+ * Missing or invalid API key
1852
+ */
1853
+ 401: ApiErrorEnvelope;
1854
+ /**
1855
+ * API key lacks required scope
1856
+ */
1857
+ 403: ApiErrorEnvelope;
1858
+ /**
1859
+ * Resource not found
1860
+ */
1861
+ 404: ApiErrorEnvelope;
1862
+ /**
1863
+ * Payload too large. Upload exceeded the per-request size cap.
1864
+ */
1865
+ 413: ApiErrorEnvelope;
1866
+ /**
1867
+ * Rate limit exceeded
1868
+ */
1869
+ 429: ApiErrorEnvelope;
1870
+ /**
1871
+ * Internal server error
1872
+ */
1873
+ 500: ApiErrorEnvelope;
1874
+ };
1875
+
1876
+ export type AutomationsExamplesCreateError = AutomationsExamplesCreateErrors[keyof AutomationsExamplesCreateErrors];
1877
+
1878
+ export type AutomationsExamplesCreateResponses = {
1879
+ /**
1880
+ * Created dataset example.
1881
+ */
1882
+ 201: DatasetExample;
1883
+ };
1884
+
1885
+ export type AutomationsExamplesCreateResponse = AutomationsExamplesCreateResponses[keyof AutomationsExamplesCreateResponses];
1886
+
1887
+ export type AutomationsExamplesDeleteData = {
1888
+ body?: never;
1889
+ path: {
1890
+ /**
1891
+ * Automation id or typed alias.
1892
+ */
1893
+ id: string;
1894
+ /**
1895
+ * Dataset example id. Agent examples may use deterministic name-derived ids returned by list/create responses.
1896
+ */
1897
+ exampleId: string;
1898
+ };
1899
+ query?: never;
1900
+ url: '/api/v1/automations/{id}/examples/{exampleId}';
1901
+ };
1902
+
1903
+ export type AutomationsExamplesDeleteErrors = {
1904
+ /**
1905
+ * Validation error. Request shape did not match the spec.
1906
+ */
1907
+ 400: ApiErrorEnvelope;
1908
+ /**
1909
+ * Missing or invalid API key
1910
+ */
1911
+ 401: ApiErrorEnvelope;
1912
+ /**
1913
+ * API key lacks required scope
1914
+ */
1915
+ 403: ApiErrorEnvelope;
1916
+ /**
1917
+ * Resource not found
1918
+ */
1919
+ 404: ApiErrorEnvelope;
1920
+ /**
1921
+ * Payload too large. Upload exceeded the per-request size cap.
1922
+ */
1923
+ 413: ApiErrorEnvelope;
1924
+ /**
1925
+ * Rate limit exceeded
1926
+ */
1927
+ 429: ApiErrorEnvelope;
1928
+ /**
1929
+ * Internal server error
1930
+ */
1931
+ 500: ApiErrorEnvelope;
1932
+ };
1933
+
1934
+ export type AutomationsExamplesDeleteError = AutomationsExamplesDeleteErrors[keyof AutomationsExamplesDeleteErrors];
1935
+
1936
+ export type AutomationsExamplesDeleteResponses = {
1937
+ /**
1938
+ * Deleted dataset example.
1939
+ */
1940
+ 200: DatasetExample;
1941
+ };
1942
+
1943
+ export type AutomationsExamplesDeleteResponse = AutomationsExamplesDeleteResponses[keyof AutomationsExamplesDeleteResponses];
1944
+
1945
+ export type AutomationsExamplesGetData = {
1946
+ body?: never;
1947
+ path: {
1948
+ /**
1949
+ * Automation id or typed alias.
1950
+ */
1951
+ id: string;
1952
+ /**
1953
+ * Dataset example id. Agent examples may use deterministic name-derived ids returned by list/create responses.
1954
+ */
1955
+ exampleId: string;
1956
+ };
1957
+ query?: never;
1958
+ url: '/api/v1/automations/{id}/examples/{exampleId}';
1959
+ };
1960
+
1961
+ export type AutomationsExamplesGetErrors = {
1962
+ /**
1963
+ * Validation error. Request shape did not match the spec.
1964
+ */
1965
+ 400: ApiErrorEnvelope;
1966
+ /**
1967
+ * Missing or invalid API key
1968
+ */
1969
+ 401: ApiErrorEnvelope;
1970
+ /**
1971
+ * API key lacks required scope
1972
+ */
1973
+ 403: ApiErrorEnvelope;
1974
+ /**
1975
+ * Resource not found
1976
+ */
1977
+ 404: ApiErrorEnvelope;
1978
+ /**
1979
+ * Payload too large. Upload exceeded the per-request size cap.
1980
+ */
1981
+ 413: ApiErrorEnvelope;
1982
+ /**
1983
+ * Rate limit exceeded
1984
+ */
1985
+ 429: ApiErrorEnvelope;
1986
+ /**
1987
+ * Internal server error
1988
+ */
1989
+ 500: ApiErrorEnvelope;
1990
+ };
1991
+
1992
+ export type AutomationsExamplesGetError = AutomationsExamplesGetErrors[keyof AutomationsExamplesGetErrors];
1993
+
1994
+ export type AutomationsExamplesGetResponses = {
1995
+ /**
1996
+ * Dataset example.
1997
+ */
1998
+ 200: DatasetExample;
1999
+ };
2000
+
2001
+ export type AutomationsExamplesGetResponse = AutomationsExamplesGetResponses[keyof AutomationsExamplesGetResponses];
2002
+
2003
+ export type AutomationsExamplesUpdateData = {
2004
+ body: DatasetExampleUpdate;
2005
+ path: {
2006
+ /**
2007
+ * Automation id or typed alias.
2008
+ */
2009
+ id: string;
2010
+ /**
2011
+ * Dataset example id. Agent examples may use deterministic name-derived ids returned by list/create responses.
2012
+ */
2013
+ exampleId: string;
2014
+ };
2015
+ query?: never;
2016
+ url: '/api/v1/automations/{id}/examples/{exampleId}';
2017
+ };
2018
+
2019
+ export type AutomationsExamplesUpdateErrors = {
2020
+ /**
2021
+ * Validation error. Request shape did not match the spec.
2022
+ */
2023
+ 400: ApiErrorEnvelope;
2024
+ /**
2025
+ * Missing or invalid API key
2026
+ */
2027
+ 401: ApiErrorEnvelope;
2028
+ /**
2029
+ * API key lacks required scope
2030
+ */
2031
+ 403: ApiErrorEnvelope;
2032
+ /**
2033
+ * Resource not found
2034
+ */
2035
+ 404: ApiErrorEnvelope;
2036
+ /**
2037
+ * Payload too large. Upload exceeded the per-request size cap.
2038
+ */
2039
+ 413: ApiErrorEnvelope;
2040
+ /**
2041
+ * Rate limit exceeded
2042
+ */
2043
+ 429: ApiErrorEnvelope;
2044
+ /**
2045
+ * Internal server error
2046
+ */
2047
+ 500: ApiErrorEnvelope;
2048
+ };
2049
+
2050
+ export type AutomationsExamplesUpdateError = AutomationsExamplesUpdateErrors[keyof AutomationsExamplesUpdateErrors];
2051
+
2052
+ export type AutomationsExamplesUpdateResponses = {
2053
+ /**
2054
+ * Updated dataset example.
2055
+ */
2056
+ 200: DatasetExample;
2057
+ };
2058
+
2059
+ export type AutomationsExamplesUpdateResponse = AutomationsExamplesUpdateResponses[keyof AutomationsExamplesUpdateResponses];
2060
+
2061
+ export type AutomationsExamplesExpectedFilesListData = {
2062
+ body?: never;
2063
+ path: {
2064
+ /**
2065
+ * Automation id or typed alias.
2066
+ */
2067
+ id: string;
2068
+ /**
2069
+ * Dataset example id.
2070
+ */
2071
+ exampleId: string;
2072
+ };
2073
+ query?: never;
2074
+ url: '/api/v1/automations/{id}/examples/{exampleId}/expected';
2075
+ };
2076
+
2077
+ export type AutomationsExamplesExpectedFilesListErrors = {
2078
+ /**
2079
+ * Validation error. Request shape did not match the spec.
2080
+ */
2081
+ 400: ApiErrorEnvelope;
2082
+ /**
2083
+ * Missing or invalid API key
2084
+ */
2085
+ 401: ApiErrorEnvelope;
2086
+ /**
2087
+ * API key lacks required scope
2088
+ */
2089
+ 403: ApiErrorEnvelope;
2090
+ /**
2091
+ * Resource not found
2092
+ */
2093
+ 404: ApiErrorEnvelope;
2094
+ /**
2095
+ * Payload too large. Upload exceeded the per-request size cap.
2096
+ */
2097
+ 413: ApiErrorEnvelope;
2098
+ /**
2099
+ * Rate limit exceeded
2100
+ */
2101
+ 429: ApiErrorEnvelope;
2102
+ /**
2103
+ * Internal server error
2104
+ */
2105
+ 500: ApiErrorEnvelope;
2106
+ };
2107
+
2108
+ export type AutomationsExamplesExpectedFilesListError = AutomationsExamplesExpectedFilesListErrors[keyof AutomationsExamplesExpectedFilesListErrors];
2109
+
2110
+ export type AutomationsExamplesExpectedFilesListResponses = {
2111
+ /**
2112
+ * Expected file paths.
2113
+ */
2114
+ 200: DatasetExampleExpectedFileList;
2115
+ };
2116
+
2117
+ export type AutomationsExamplesExpectedFilesListResponse = AutomationsExamplesExpectedFilesListResponses[keyof AutomationsExamplesExpectedFilesListResponses];
2118
+
2119
+ export type AutomationsExamplesExpectedFilesCreateData = {
2120
+ body: DatasetExampleExpectedFileUploadRequest;
2121
+ path: {
2122
+ /**
2123
+ * Automation id or typed alias.
2124
+ */
2125
+ id: string;
2126
+ /**
2127
+ * Dataset example id.
2128
+ */
2129
+ exampleId: string;
2130
+ };
2131
+ query?: never;
2132
+ url: '/api/v1/automations/{id}/examples/{exampleId}/expected';
2133
+ };
2134
+
2135
+ export type AutomationsExamplesExpectedFilesCreateErrors = {
2136
+ /**
2137
+ * Validation error. Request shape did not match the spec.
2138
+ */
2139
+ 400: ApiErrorEnvelope;
2140
+ /**
2141
+ * Missing or invalid API key
2142
+ */
2143
+ 401: ApiErrorEnvelope;
2144
+ /**
2145
+ * API key lacks required scope
2146
+ */
2147
+ 403: ApiErrorEnvelope;
2148
+ /**
2149
+ * Resource not found
2150
+ */
2151
+ 404: ApiErrorEnvelope;
2152
+ /**
2153
+ * Payload too large. Upload exceeded the per-request size cap.
2154
+ */
2155
+ 413: ApiErrorEnvelope;
2156
+ /**
2157
+ * Rate limit exceeded
2158
+ */
2159
+ 429: ApiErrorEnvelope;
2160
+ /**
2161
+ * Internal server error
2162
+ */
2163
+ 500: ApiErrorEnvelope;
2164
+ };
2165
+
2166
+ export type AutomationsExamplesExpectedFilesCreateError = AutomationsExamplesExpectedFilesCreateErrors[keyof AutomationsExamplesExpectedFilesCreateErrors];
2167
+
2168
+ export type AutomationsExamplesExpectedFilesCreateResponses = {
2169
+ /**
2170
+ * Uploaded expected files.
2171
+ */
2172
+ 201: DatasetExampleExpectedFileUploadResponse;
2173
+ };
2174
+
2175
+ export type AutomationsExamplesExpectedFilesCreateResponse = AutomationsExamplesExpectedFilesCreateResponses[keyof AutomationsExamplesExpectedFilesCreateResponses];
2176
+
2177
+ export type AutomationsExamplesExpectedFileDeleteData = {
2178
+ body?: never;
2179
+ path: {
2180
+ /**
2181
+ * Automation id or typed alias.
2182
+ */
2183
+ id: string;
2184
+ /**
2185
+ * Dataset example id.
2186
+ */
2187
+ exampleId: string;
2188
+ /**
2189
+ * Path under the example expected folder.
2190
+ */
2191
+ path: string;
2192
+ };
2193
+ query?: never;
2194
+ url: '/api/v1/automations/{id}/examples/{exampleId}/expected/{path}';
2195
+ };
2196
+
2197
+ export type AutomationsExamplesExpectedFileDeleteErrors = {
2198
+ /**
2199
+ * Validation error. Request shape did not match the spec.
2200
+ */
2201
+ 400: ApiErrorEnvelope;
2202
+ /**
2203
+ * Missing or invalid API key
2204
+ */
2205
+ 401: ApiErrorEnvelope;
2206
+ /**
2207
+ * API key lacks required scope
2208
+ */
2209
+ 403: ApiErrorEnvelope;
2210
+ /**
2211
+ * Resource not found
2212
+ */
2213
+ 404: ApiErrorEnvelope;
2214
+ /**
2215
+ * Payload too large. Upload exceeded the per-request size cap.
2216
+ */
2217
+ 413: ApiErrorEnvelope;
2218
+ /**
2219
+ * Rate limit exceeded
2220
+ */
2221
+ 429: ApiErrorEnvelope;
2222
+ /**
2223
+ * Internal server error
2224
+ */
2225
+ 500: ApiErrorEnvelope;
2226
+ };
2227
+
2228
+ export type AutomationsExamplesExpectedFileDeleteError = AutomationsExamplesExpectedFileDeleteErrors[keyof AutomationsExamplesExpectedFileDeleteErrors];
2229
+
2230
+ export type AutomationsExamplesExpectedFileDeleteResponses = {
2231
+ /**
2232
+ * Expected file deleted.
2233
+ */
2234
+ 200: unknown;
2235
+ };
2236
+
2237
+ export type AutomationsExamplesExpectedFileGetData = {
2238
+ body?: never;
2239
+ path: {
2240
+ /**
2241
+ * Automation id or typed alias.
2242
+ */
2243
+ id: string;
2244
+ /**
2245
+ * Dataset example id.
2246
+ */
2247
+ exampleId: string;
2248
+ /**
2249
+ * Path under the example expected folder.
2250
+ */
2251
+ path: string;
2252
+ };
2253
+ query?: never;
2254
+ url: '/api/v1/automations/{id}/examples/{exampleId}/expected/{path}';
2255
+ };
2256
+
2257
+ export type AutomationsExamplesExpectedFileGetErrors = {
2258
+ /**
2259
+ * Validation error. Request shape did not match the spec.
2260
+ */
2261
+ 400: ApiErrorEnvelope;
2262
+ /**
2263
+ * Missing or invalid API key
2264
+ */
2265
+ 401: ApiErrorEnvelope;
2266
+ /**
2267
+ * API key lacks required scope
2268
+ */
2269
+ 403: ApiErrorEnvelope;
2270
+ /**
2271
+ * Resource not found
2272
+ */
2273
+ 404: ApiErrorEnvelope;
2274
+ /**
2275
+ * Payload too large. Upload exceeded the per-request size cap.
2276
+ */
2277
+ 413: ApiErrorEnvelope;
2278
+ /**
2279
+ * Rate limit exceeded
2280
+ */
2281
+ 429: ApiErrorEnvelope;
2282
+ /**
2283
+ * Internal server error
2284
+ */
2285
+ 500: ApiErrorEnvelope;
2286
+ };
2287
+
2288
+ export type AutomationsExamplesExpectedFileGetError = AutomationsExamplesExpectedFileGetErrors[keyof AutomationsExamplesExpectedFileGetErrors];
2289
+
2290
+ export type AutomationsExamplesExpectedFileGetResponses = {
2291
+ /**
2292
+ * Expected file bytes.
2293
+ */
2294
+ 200: Blob | File;
2295
+ };
2296
+
2297
+ export type AutomationsExamplesExpectedFileGetResponse = AutomationsExamplesExpectedFileGetResponses[keyof AutomationsExamplesExpectedFileGetResponses];
2298
+
2299
+ export type AutomationsExamplesExpectedFileUpdateData = {
2300
+ body: DatasetExampleExpectedFileRenameRequest;
2301
+ path: {
2302
+ /**
2303
+ * Automation id or typed alias.
2304
+ */
2305
+ id: string;
2306
+ /**
2307
+ * Dataset example id.
2308
+ */
2309
+ exampleId: string;
2310
+ /**
2311
+ * Path under the example expected folder.
2312
+ */
2313
+ path: string;
2314
+ };
2315
+ query?: never;
2316
+ url: '/api/v1/automations/{id}/examples/{exampleId}/expected/{path}';
2317
+ };
2318
+
2319
+ export type AutomationsExamplesExpectedFileUpdateErrors = {
2320
+ /**
2321
+ * Validation error. Request shape did not match the spec.
2322
+ */
2323
+ 400: ApiErrorEnvelope;
2324
+ /**
2325
+ * Missing or invalid API key
2326
+ */
2327
+ 401: ApiErrorEnvelope;
2328
+ /**
2329
+ * API key lacks required scope
2330
+ */
2331
+ 403: ApiErrorEnvelope;
2332
+ /**
2333
+ * Resource not found
2334
+ */
2335
+ 404: ApiErrorEnvelope;
2336
+ /**
2337
+ * Payload too large. Upload exceeded the per-request size cap.
2338
+ */
2339
+ 413: ApiErrorEnvelope;
2340
+ /**
2341
+ * Rate limit exceeded
2342
+ */
2343
+ 429: ApiErrorEnvelope;
2344
+ /**
2345
+ * Internal server error
2346
+ */
2347
+ 500: ApiErrorEnvelope;
2348
+ };
2349
+
2350
+ export type AutomationsExamplesExpectedFileUpdateError = AutomationsExamplesExpectedFileUpdateErrors[keyof AutomationsExamplesExpectedFileUpdateErrors];
2351
+
2352
+ export type AutomationsExamplesExpectedFileUpdateResponses = {
2353
+ /**
2354
+ * Renamed expected file.
2355
+ */
2356
+ 200: DatasetExampleExpectedFileRenameResponse;
2357
+ };
2358
+
2359
+ export type AutomationsExamplesExpectedFileUpdateResponse = AutomationsExamplesExpectedFileUpdateResponses[keyof AutomationsExamplesExpectedFileUpdateResponses];
2360
+
2361
+ export type AutomationsExamplesInputFilesListData = {
2362
+ body?: never;
2363
+ path: {
2364
+ /**
2365
+ * Automation id or typed alias.
2366
+ */
2367
+ id: string;
2368
+ /**
2369
+ * Dataset example id.
2370
+ */
2371
+ exampleId: string;
2372
+ };
2373
+ query?: never;
2374
+ url: '/api/v1/automations/{id}/examples/{exampleId}/input';
2375
+ };
2376
+
2377
+ export type AutomationsExamplesInputFilesListErrors = {
2378
+ /**
2379
+ * Validation error. Request shape did not match the spec.
2380
+ */
2381
+ 400: ApiErrorEnvelope;
2382
+ /**
2383
+ * Missing or invalid API key
2384
+ */
2385
+ 401: ApiErrorEnvelope;
2386
+ /**
2387
+ * API key lacks required scope
2388
+ */
2389
+ 403: ApiErrorEnvelope;
2390
+ /**
2391
+ * Resource not found
2392
+ */
2393
+ 404: ApiErrorEnvelope;
2394
+ /**
2395
+ * Payload too large. Upload exceeded the per-request size cap.
2396
+ */
2397
+ 413: ApiErrorEnvelope;
2398
+ /**
2399
+ * Rate limit exceeded
2400
+ */
2401
+ 429: ApiErrorEnvelope;
2402
+ /**
2403
+ * Internal server error
2404
+ */
2405
+ 500: ApiErrorEnvelope;
2406
+ };
2407
+
2408
+ export type AutomationsExamplesInputFilesListError = AutomationsExamplesInputFilesListErrors[keyof AutomationsExamplesInputFilesListErrors];
2409
+
2410
+ export type AutomationsExamplesInputFilesListResponses = {
2411
+ /**
2412
+ * Input file paths.
2413
+ */
2414
+ 200: DatasetExampleInputFileList;
2415
+ };
2416
+
2417
+ export type AutomationsExamplesInputFilesListResponse = AutomationsExamplesInputFilesListResponses[keyof AutomationsExamplesInputFilesListResponses];
2418
+
2419
+ export type AutomationsExamplesInputFilesCreateData = {
2420
+ body: DatasetExampleInputFileUploadRequest;
2421
+ path: {
2422
+ /**
2423
+ * Automation id or typed alias.
2424
+ */
2425
+ id: string;
2426
+ /**
2427
+ * Dataset example id.
2428
+ */
2429
+ exampleId: string;
2430
+ };
2431
+ query?: never;
2432
+ url: '/api/v1/automations/{id}/examples/{exampleId}/input';
2433
+ };
2434
+
2435
+ export type AutomationsExamplesInputFilesCreateErrors = {
2436
+ /**
2437
+ * Validation error. Request shape did not match the spec.
2438
+ */
2439
+ 400: ApiErrorEnvelope;
2440
+ /**
2441
+ * Missing or invalid API key
2442
+ */
2443
+ 401: ApiErrorEnvelope;
2444
+ /**
2445
+ * API key lacks required scope
2446
+ */
2447
+ 403: ApiErrorEnvelope;
2448
+ /**
2449
+ * Resource not found
2450
+ */
2451
+ 404: ApiErrorEnvelope;
2452
+ /**
2453
+ * Payload too large. Upload exceeded the per-request size cap.
2454
+ */
2455
+ 413: ApiErrorEnvelope;
2456
+ /**
2457
+ * Rate limit exceeded
2458
+ */
2459
+ 429: ApiErrorEnvelope;
2460
+ /**
2461
+ * Internal server error
2462
+ */
2463
+ 500: ApiErrorEnvelope;
2464
+ };
2465
+
2466
+ export type AutomationsExamplesInputFilesCreateError = AutomationsExamplesInputFilesCreateErrors[keyof AutomationsExamplesInputFilesCreateErrors];
829
2467
 
830
- export type RunStepsResponse = {
831
- steps: Array<unknown>;
2468
+ export type AutomationsExamplesInputFilesCreateResponses = {
2469
+ /**
2470
+ * Uploaded input files.
2471
+ */
2472
+ 201: DatasetExampleInputFileUploadResponse;
832
2473
  };
833
2474
 
834
- export type RunUsageResponse = {
835
- usage: RunUsage | null;
836
- };
2475
+ export type AutomationsExamplesInputFilesCreateResponse = AutomationsExamplesInputFilesCreateResponses[keyof AutomationsExamplesInputFilesCreateResponses];
837
2476
 
838
- export type AuthCheckData = {
2477
+ export type AutomationsExamplesInputFileDeleteData = {
839
2478
  body?: never;
840
- path?: never;
2479
+ path: {
2480
+ /**
2481
+ * Automation id or typed alias.
2482
+ */
2483
+ id: string;
2484
+ /**
2485
+ * Dataset example id.
2486
+ */
2487
+ exampleId: string;
2488
+ /**
2489
+ * Slash-delimited path under the example input folder.
2490
+ */
2491
+ path: string;
2492
+ };
841
2493
  query?: never;
842
- url: '/api/v1/auth/check';
2494
+ url: '/api/v1/automations/{id}/examples/{exampleId}/input/{path}';
843
2495
  };
844
2496
 
845
- export type AuthCheckErrors = {
2497
+ export type AutomationsExamplesInputFileDeleteErrors = {
846
2498
  /**
847
2499
  * Validation error. Request shape did not match the spec.
848
2500
  */
@@ -873,29 +2525,36 @@ export type AuthCheckErrors = {
873
2525
  500: ApiErrorEnvelope;
874
2526
  };
875
2527
 
876
- export type AuthCheckError = AuthCheckErrors[keyof AuthCheckErrors];
2528
+ export type AutomationsExamplesInputFileDeleteError = AutomationsExamplesInputFileDeleteErrors[keyof AutomationsExamplesInputFileDeleteErrors];
877
2529
 
878
- export type AuthCheckResponses = {
2530
+ export type AutomationsExamplesInputFileDeleteResponses = {
879
2531
  /**
880
- * Authenticated identity
2532
+ * Input file deleted.
881
2533
  */
882
- 200: AuthCheckResponse;
2534
+ 200: unknown;
883
2535
  };
884
2536
 
885
- export type AuthCheckResponse2 = AuthCheckResponses[keyof AuthCheckResponses];
886
-
887
- export type AutomationsDatasetExportData = {
2537
+ export type AutomationsExamplesInputFileGetData = {
888
2538
  body?: never;
889
2539
  path: {
2540
+ /**
2541
+ * Automation id or typed alias.
2542
+ */
890
2543
  id: string;
2544
+ /**
2545
+ * Dataset example id.
2546
+ */
2547
+ exampleId: string;
2548
+ /**
2549
+ * Slash-delimited path under the example input folder.
2550
+ */
2551
+ path: string;
891
2552
  };
892
- query?: {
893
- exampleIds?: string;
894
- };
895
- url: '/api/v1/automations/{id}/dataset/export';
2553
+ query?: never;
2554
+ url: '/api/v1/automations/{id}/examples/{exampleId}/input/{path}';
896
2555
  };
897
2556
 
898
- export type AutomationsDatasetExportErrors = {
2557
+ export type AutomationsExamplesInputFileGetErrors = {
899
2558
  /**
900
2559
  * Validation error. Request shape did not match the spec.
901
2560
  */
@@ -926,27 +2585,38 @@ export type AutomationsDatasetExportErrors = {
926
2585
  500: ApiErrorEnvelope;
927
2586
  };
928
2587
 
929
- export type AutomationsDatasetExportError = AutomationsDatasetExportErrors[keyof AutomationsDatasetExportErrors];
2588
+ export type AutomationsExamplesInputFileGetError = AutomationsExamplesInputFileGetErrors[keyof AutomationsExamplesInputFileGetErrors];
930
2589
 
931
- export type AutomationsDatasetExportResponses = {
2590
+ export type AutomationsExamplesInputFileGetResponses = {
932
2591
  /**
933
- * ZIP archive
2592
+ * Input file bytes.
934
2593
  */
935
- 200: string;
2594
+ 200: Blob | File;
936
2595
  };
937
2596
 
938
- export type AutomationsDatasetExportResponse = AutomationsDatasetExportResponses[keyof AutomationsDatasetExportResponses];
2597
+ export type AutomationsExamplesInputFileGetResponse = AutomationsExamplesInputFileGetResponses[keyof AutomationsExamplesInputFileGetResponses];
939
2598
 
940
- export type AutomationsDatasetImportData = {
941
- body: AutomationDatasetImportMultipartRequest;
2599
+ export type AutomationsExamplesInputFileUpdateData = {
2600
+ body: DatasetExampleInputFileRenameRequest;
942
2601
  path: {
2602
+ /**
2603
+ * Automation id or typed alias.
2604
+ */
943
2605
  id: string;
2606
+ /**
2607
+ * Dataset example id.
2608
+ */
2609
+ exampleId: string;
2610
+ /**
2611
+ * Slash-delimited path under the example input folder.
2612
+ */
2613
+ path: string;
944
2614
  };
945
2615
  query?: never;
946
- url: '/api/v1/automations/{id}/dataset/import';
2616
+ url: '/api/v1/automations/{id}/examples/{exampleId}/input/{path}';
947
2617
  };
948
2618
 
949
- export type AutomationsDatasetImportErrors = {
2619
+ export type AutomationsExamplesInputFileUpdateErrors = {
950
2620
  /**
951
2621
  * Validation error. Request shape did not match the spec.
952
2622
  */
@@ -977,27 +2647,34 @@ export type AutomationsDatasetImportErrors = {
977
2647
  500: ApiErrorEnvelope;
978
2648
  };
979
2649
 
980
- export type AutomationsDatasetImportError = AutomationsDatasetImportErrors[keyof AutomationsDatasetImportErrors];
2650
+ export type AutomationsExamplesInputFileUpdateError = AutomationsExamplesInputFileUpdateErrors[keyof AutomationsExamplesInputFileUpdateErrors];
981
2651
 
982
- export type AutomationsDatasetImportResponses = {
2652
+ export type AutomationsExamplesInputFileUpdateResponses = {
983
2653
  /**
984
- * Import result
2654
+ * Renamed input file.
985
2655
  */
986
- 200: DatasetImportResponse;
2656
+ 200: DatasetExampleInputFileRenameResponse;
987
2657
  };
988
2658
 
989
- export type AutomationsDatasetImportResponse = AutomationsDatasetImportResponses[keyof AutomationsDatasetImportResponses];
2659
+ export type AutomationsExamplesInputFileUpdateResponse = AutomationsExamplesInputFileUpdateResponses[keyof AutomationsExamplesInputFileUpdateResponses];
990
2660
 
991
- export type AutomationsEvaluatorsGetData = {
2661
+ export type AutomationsExamplesRunData = {
992
2662
  body?: never;
993
2663
  path: {
2664
+ /**
2665
+ * Automation id or typed alias.
2666
+ */
994
2667
  id: string;
2668
+ /**
2669
+ * Dataset example id to run.
2670
+ */
2671
+ exampleId: string;
995
2672
  };
996
2673
  query?: never;
997
- url: '/api/v1/automations/{id}/evaluators';
2674
+ url: '/api/v1/automations/{id}/examples/{exampleId}/run';
998
2675
  };
999
2676
 
1000
- export type AutomationsEvaluatorsGetErrors = {
2677
+ export type AutomationsExamplesRunErrors = {
1001
2678
  /**
1002
2679
  * Validation error. Request shape did not match the spec.
1003
2680
  */
@@ -1028,27 +2705,47 @@ export type AutomationsEvaluatorsGetErrors = {
1028
2705
  500: ApiErrorEnvelope;
1029
2706
  };
1030
2707
 
1031
- export type AutomationsEvaluatorsGetError = AutomationsEvaluatorsGetErrors[keyof AutomationsEvaluatorsGetErrors];
2708
+ export type AutomationsExamplesRunError = AutomationsExamplesRunErrors[keyof AutomationsExamplesRunErrors];
1032
2709
 
1033
- export type AutomationsEvaluatorsGetResponses = {
2710
+ export type AutomationsExamplesRunResponses = {
1034
2711
  /**
1035
- * Evaluator config
2712
+ * Example run accepted
1036
2713
  */
1037
- 200: EvaluatorConfigResponse;
2714
+ 201: ExampleRunResponse;
1038
2715
  };
1039
2716
 
1040
- export type AutomationsEvaluatorsGetResponse = AutomationsEvaluatorsGetResponses[keyof AutomationsEvaluatorsGetResponses];
2717
+ export type AutomationsExamplesRunResponse = AutomationsExamplesRunResponses[keyof AutomationsExamplesRunResponses];
1041
2718
 
1042
- export type AutomationsEvaluatorsUpdateData = {
1043
- body: EvaluatorConfigUpdate;
2719
+ export type AutomationsExperimentsListData = {
2720
+ body?: never;
1044
2721
  path: {
2722
+ /**
2723
+ * Automation id or typed alias.
2724
+ */
1045
2725
  id: string;
1046
2726
  };
1047
- query?: never;
1048
- url: '/api/v1/automations/{id}/evaluators';
2727
+ query?: {
2728
+ /**
2729
+ * Maximum number of experiment batches to return.
2730
+ */
2731
+ limit?: number;
2732
+ /**
2733
+ * Zero-based offset for paging through experiment batches.
2734
+ */
2735
+ offset?: number;
2736
+ /**
2737
+ * Filter to experiment batches created at or after this date or relative date.
2738
+ */
2739
+ fromDate?: string;
2740
+ /**
2741
+ * Filter to experiment batches created at or before this date or relative date.
2742
+ */
2743
+ toDate?: string;
2744
+ };
2745
+ url: '/api/v1/automations/{id}/experiments';
1049
2746
  };
1050
2747
 
1051
- export type AutomationsEvaluatorsUpdateErrors = {
2748
+ export type AutomationsExperimentsListErrors = {
1052
2749
  /**
1053
2750
  * Validation error. Request shape did not match the spec.
1054
2751
  */
@@ -1079,28 +2776,35 @@ export type AutomationsEvaluatorsUpdateErrors = {
1079
2776
  500: ApiErrorEnvelope;
1080
2777
  };
1081
2778
 
1082
- export type AutomationsEvaluatorsUpdateError = AutomationsEvaluatorsUpdateErrors[keyof AutomationsEvaluatorsUpdateErrors];
2779
+ export type AutomationsExperimentsListError = AutomationsExperimentsListErrors[keyof AutomationsExperimentsListErrors];
1083
2780
 
1084
- export type AutomationsEvaluatorsUpdateResponses = {
2781
+ export type AutomationsExperimentsListResponses = {
1085
2782
  /**
1086
- * Evaluator config
2783
+ * Page of experiment batches.
1087
2784
  */
1088
- 200: EvaluatorConfigResponse;
2785
+ 200: {
2786
+ data: Array<Experiment>;
2787
+ total: number;
2788
+ limit: number;
2789
+ offset: number;
2790
+ };
1089
2791
  };
1090
2792
 
1091
- export type AutomationsEvaluatorsUpdateResponse = AutomationsEvaluatorsUpdateResponses[keyof AutomationsEvaluatorsUpdateResponses];
2793
+ export type AutomationsExperimentsListResponse = AutomationsExperimentsListResponses[keyof AutomationsExperimentsListResponses];
1092
2794
 
1093
- export type AutomationsExamplesDeleteData = {
1094
- body?: never;
2795
+ export type AutomationsExperimentsCreateData = {
2796
+ body: ExperimentCreate;
1095
2797
  path: {
2798
+ /**
2799
+ * Automation id or typed alias.
2800
+ */
1096
2801
  id: string;
1097
- exampleId: string;
1098
2802
  };
1099
2803
  query?: never;
1100
- url: '/api/v1/automations/{id}/examples/{exampleId}';
2804
+ url: '/api/v1/automations/{id}/experiments';
1101
2805
  };
1102
2806
 
1103
- export type AutomationsExamplesDeleteErrors = {
2807
+ export type AutomationsExperimentsCreateErrors = {
1104
2808
  /**
1105
2809
  * Validation error. Request shape did not match the spec.
1106
2810
  */
@@ -1131,28 +2835,34 @@ export type AutomationsExamplesDeleteErrors = {
1131
2835
  500: ApiErrorEnvelope;
1132
2836
  };
1133
2837
 
1134
- export type AutomationsExamplesDeleteError = AutomationsExamplesDeleteErrors[keyof AutomationsExamplesDeleteErrors];
2838
+ export type AutomationsExperimentsCreateError = AutomationsExperimentsCreateErrors[keyof AutomationsExperimentsCreateErrors];
1135
2839
 
1136
- export type AutomationsExamplesDeleteResponses = {
2840
+ export type AutomationsExperimentsCreateResponses = {
1137
2841
  /**
1138
- * Deleted example
2842
+ * Experiment accepted and runs enqueued.
1139
2843
  */
1140
- 200: DatasetExample;
2844
+ 202: ExperimentCreateResponse;
1141
2845
  };
1142
2846
 
1143
- export type AutomationsExamplesDeleteResponse = AutomationsExamplesDeleteResponses[keyof AutomationsExamplesDeleteResponses];
2847
+ export type AutomationsExperimentsCreateResponse = AutomationsExperimentsCreateResponses[keyof AutomationsExperimentsCreateResponses];
1144
2848
 
1145
- export type AutomationsExamplesGetData = {
2849
+ export type AutomationsExperimentsGetData = {
1146
2850
  body?: never;
1147
2851
  path: {
2852
+ /**
2853
+ * Automation id or typed alias.
2854
+ */
1148
2855
  id: string;
1149
- exampleId: string;
2856
+ /**
2857
+ * Experiment batch id.
2858
+ */
2859
+ experimentId: string;
1150
2860
  };
1151
2861
  query?: never;
1152
- url: '/api/v1/automations/{id}/examples/{exampleId}';
2862
+ url: '/api/v1/automations/{id}/experiments/{experimentId}';
1153
2863
  };
1154
2864
 
1155
- export type AutomationsExamplesGetErrors = {
2865
+ export type AutomationsExperimentsGetErrors = {
1156
2866
  /**
1157
2867
  * Validation error. Request shape did not match the spec.
1158
2868
  */
@@ -1183,28 +2893,34 @@ export type AutomationsExamplesGetErrors = {
1183
2893
  500: ApiErrorEnvelope;
1184
2894
  };
1185
2895
 
1186
- export type AutomationsExamplesGetError = AutomationsExamplesGetErrors[keyof AutomationsExamplesGetErrors];
2896
+ export type AutomationsExperimentsGetError = AutomationsExperimentsGetErrors[keyof AutomationsExperimentsGetErrors];
1187
2897
 
1188
- export type AutomationsExamplesGetResponses = {
2898
+ export type AutomationsExperimentsGetResponses = {
1189
2899
  /**
1190
- * Example
2900
+ * Experiment detail with runs and results.
1191
2901
  */
1192
- 200: DatasetExample;
2902
+ 200: ExperimentDetail;
1193
2903
  };
1194
2904
 
1195
- export type AutomationsExamplesGetResponse = AutomationsExamplesGetResponses[keyof AutomationsExamplesGetResponses];
2905
+ export type AutomationsExperimentsGetResponse = AutomationsExperimentsGetResponses[keyof AutomationsExperimentsGetResponses];
1196
2906
 
1197
- export type AutomationsExamplesUpdateData = {
1198
- body: DatasetExampleUpdate;
2907
+ export type AutomationsExperimentsCancelData = {
2908
+ body?: never;
1199
2909
  path: {
2910
+ /**
2911
+ * Automation id or typed alias.
2912
+ */
1200
2913
  id: string;
1201
- exampleId: string;
2914
+ /**
2915
+ * Experiment batch id.
2916
+ */
2917
+ experimentId: string;
1202
2918
  };
1203
2919
  query?: never;
1204
- url: '/api/v1/automations/{id}/examples/{exampleId}';
2920
+ url: '/api/v1/automations/{id}/experiments/{experimentId}/cancel';
1205
2921
  };
1206
2922
 
1207
- export type AutomationsExamplesUpdateErrors = {
2923
+ export type AutomationsExperimentsCancelErrors = {
1208
2924
  /**
1209
2925
  * Validation error. Request shape did not match the spec.
1210
2926
  */
@@ -1235,28 +2951,30 @@ export type AutomationsExamplesUpdateErrors = {
1235
2951
  500: ApiErrorEnvelope;
1236
2952
  };
1237
2953
 
1238
- export type AutomationsExamplesUpdateError = AutomationsExamplesUpdateErrors[keyof AutomationsExamplesUpdateErrors];
2954
+ export type AutomationsExperimentsCancelError = AutomationsExperimentsCancelErrors[keyof AutomationsExperimentsCancelErrors];
1239
2955
 
1240
- export type AutomationsExamplesUpdateResponses = {
2956
+ export type AutomationsExperimentsCancelResponses = {
1241
2957
  /**
1242
- * Updated example
2958
+ * Experiment detail after the cancellation request.
1243
2959
  */
1244
- 200: DatasetExample;
2960
+ 200: ExperimentDetail;
1245
2961
  };
1246
2962
 
1247
- export type AutomationsExamplesUpdateResponse = AutomationsExamplesUpdateResponses[keyof AutomationsExamplesUpdateResponses];
2963
+ export type AutomationsExperimentsCancelResponse = AutomationsExperimentsCancelResponses[keyof AutomationsExperimentsCancelResponses];
1248
2964
 
1249
- export type AutomationsExamplesRunData = {
2965
+ export type AutomationsExperimentsExportData = {
1250
2966
  body?: never;
1251
2967
  path: {
1252
2968
  id: string;
1253
- exampleId: string;
2969
+ experimentId: string;
1254
2970
  };
1255
- query?: never;
1256
- url: '/api/v1/automations/{id}/examples/{exampleId}/run';
2971
+ query: {
2972
+ format: 'csv' | 'json';
2973
+ };
2974
+ url: '/api/v1/automations/{id}/experiments/{experimentId}/export';
1257
2975
  };
1258
2976
 
1259
- export type AutomationsExamplesRunErrors = {
2977
+ export type AutomationsExperimentsExportErrors = {
1260
2978
  /**
1261
2979
  * Validation error. Request shape did not match the spec.
1262
2980
  */
@@ -1287,30 +3005,80 @@ export type AutomationsExamplesRunErrors = {
1287
3005
  500: ApiErrorEnvelope;
1288
3006
  };
1289
3007
 
1290
- export type AutomationsExamplesRunError = AutomationsExamplesRunErrors[keyof AutomationsExamplesRunErrors];
3008
+ export type AutomationsExperimentsExportError = AutomationsExperimentsExportErrors[keyof AutomationsExperimentsExportErrors];
1291
3009
 
1292
- export type AutomationsExamplesRunResponses = {
3010
+ export type AutomationsExperimentsExportResponses = {
1293
3011
  /**
1294
- * Example run accepted
3012
+ * CSV or JSON document
1295
3013
  */
1296
- 201: ExampleRunResponse;
3014
+ 200: string;
1297
3015
  };
1298
3016
 
1299
- export type AutomationsExamplesRunResponse = AutomationsExamplesRunResponses[keyof AutomationsExamplesRunResponses];
3017
+ export type AutomationsExperimentsExportResponse = AutomationsExperimentsExportResponses[keyof AutomationsExperimentsExportResponses];
1300
3018
 
1301
- export type AutomationsExamplesListData = {
3019
+ export type AutomationsExperimentsExportAllData = {
1302
3020
  body?: never;
1303
3021
  path: {
1304
3022
  id: string;
1305
3023
  };
1306
- query?: {
1307
- limit?: number;
1308
- offset?: number;
3024
+ query: {
3025
+ format: 'csv' | 'json';
3026
+ };
3027
+ url: '/api/v1/automations/{id}/experiments/export';
3028
+ };
3029
+
3030
+ export type AutomationsExperimentsExportAllErrors = {
3031
+ /**
3032
+ * Validation error. Request shape did not match the spec.
3033
+ */
3034
+ 400: ApiErrorEnvelope;
3035
+ /**
3036
+ * Missing or invalid API key
3037
+ */
3038
+ 401: ApiErrorEnvelope;
3039
+ /**
3040
+ * API key lacks required scope
3041
+ */
3042
+ 403: ApiErrorEnvelope;
3043
+ /**
3044
+ * Resource not found
3045
+ */
3046
+ 404: ApiErrorEnvelope;
3047
+ /**
3048
+ * Payload too large. Upload exceeded the per-request size cap.
3049
+ */
3050
+ 413: ApiErrorEnvelope;
3051
+ /**
3052
+ * Rate limit exceeded
3053
+ */
3054
+ 429: ApiErrorEnvelope;
3055
+ /**
3056
+ * Internal server error
3057
+ */
3058
+ 500: ApiErrorEnvelope;
3059
+ };
3060
+
3061
+ export type AutomationsExperimentsExportAllError = AutomationsExperimentsExportAllErrors[keyof AutomationsExperimentsExportAllErrors];
3062
+
3063
+ export type AutomationsExperimentsExportAllResponses = {
3064
+ /**
3065
+ * CSV or JSON document
3066
+ */
3067
+ 200: string;
3068
+ };
3069
+
3070
+ export type AutomationsExperimentsExportAllResponse = AutomationsExperimentsExportAllResponses[keyof AutomationsExperimentsExportAllResponses];
3071
+
3072
+ export type AutomationsExperimentsCreateStreamData = {
3073
+ body: ExperimentCreate;
3074
+ path: {
3075
+ id: string;
1309
3076
  };
1310
- url: '/api/v1/automations/{id}/examples';
3077
+ query?: never;
3078
+ url: '/api/v1/automations/{id}/experiments/stream';
1311
3079
  };
1312
3080
 
1313
- export type AutomationsExamplesListErrors = {
3081
+ export type AutomationsExperimentsCreateStreamErrors = {
1314
3082
  /**
1315
3083
  * Validation error. Request shape did not match the spec.
1316
3084
  */
@@ -1341,27 +3109,30 @@ export type AutomationsExamplesListErrors = {
1341
3109
  500: ApiErrorEnvelope;
1342
3110
  };
1343
3111
 
1344
- export type AutomationsExamplesListError = AutomationsExamplesListErrors[keyof AutomationsExamplesListErrors];
3112
+ export type AutomationsExperimentsCreateStreamError = AutomationsExperimentsCreateStreamErrors[keyof AutomationsExperimentsCreateStreamErrors];
1345
3113
 
1346
- export type AutomationsExamplesListResponses = {
3114
+ export type AutomationsExperimentsCreateStreamResponses = {
1347
3115
  /**
1348
- * Examples
3116
+ * application/x-ndjson event stream
1349
3117
  */
1350
- 200: DatasetExampleList;
3118
+ 200: string;
1351
3119
  };
1352
3120
 
1353
- export type AutomationsExamplesListResponse = AutomationsExamplesListResponses[keyof AutomationsExamplesListResponses];
3121
+ export type AutomationsExperimentsCreateStreamResponse = AutomationsExperimentsCreateStreamResponses[keyof AutomationsExperimentsCreateStreamResponses];
1354
3122
 
1355
- export type AutomationsExamplesCreateData = {
1356
- body: DatasetExampleMutation;
3123
+ export type AutomationsSyncData = {
3124
+ body?: never;
1357
3125
  path: {
3126
+ /**
3127
+ * Automation target to sync, such as agents.invoice-agent or workflows.extract. Do not include a version; sync always uses the latest Git release.
3128
+ */
1358
3129
  id: string;
1359
3130
  };
1360
3131
  query?: never;
1361
- url: '/api/v1/automations/{id}/examples';
3132
+ url: '/api/v1/automations/{id}/sync';
1362
3133
  };
1363
3134
 
1364
- export type AutomationsExamplesCreateErrors = {
3135
+ export type AutomationsSyncErrors = {
1365
3136
  /**
1366
3137
  * Validation error. Request shape did not match the spec.
1367
3138
  */
@@ -1392,30 +3163,71 @@ export type AutomationsExamplesCreateErrors = {
1392
3163
  500: ApiErrorEnvelope;
1393
3164
  };
1394
3165
 
1395
- export type AutomationsExamplesCreateError = AutomationsExamplesCreateErrors[keyof AutomationsExamplesCreateErrors];
3166
+ export type AutomationsSyncError = AutomationsSyncErrors[keyof AutomationsSyncErrors];
1396
3167
 
1397
- export type AutomationsExamplesCreateResponses = {
3168
+ export type AutomationsSyncResponses = {
1398
3169
  /**
1399
- * Created example
3170
+ * Automation metadata, latest release information, and non-fatal sync warnings.
1400
3171
  */
1401
- 201: DatasetExample;
3172
+ 200: {
3173
+ automation: {
3174
+ /**
3175
+ * Automation id after reconciliation.
3176
+ */
3177
+ id: string;
3178
+ /**
3179
+ * Automation kind inferred from the source package path.
3180
+ */
3181
+ type: 'agent' | 'workflow';
3182
+ /**
3183
+ * Source package slug within agents/ or workflows/.
3184
+ */
3185
+ slug: string;
3186
+ /**
3187
+ * Current automation registry status.
3188
+ */
3189
+ status: 'active' | 'archived';
3190
+ /**
3191
+ * ISO timestamp for the reconciled automation row.
3192
+ */
3193
+ updatedAt: string;
3194
+ };
3195
+ release: {
3196
+ /**
3197
+ * Latest released source package version that was synced.
3198
+ */
3199
+ version: string;
3200
+ /**
3201
+ * Git release tag read during sync.
3202
+ */
3203
+ tag: string;
3204
+ /**
3205
+ * Git commit for the release tag.
3206
+ */
3207
+ commit: string;
3208
+ };
3209
+ /**
3210
+ * Non-fatal source-state warnings, such as unsupported email alias domains.
3211
+ */
3212
+ warnings: Array<string>;
3213
+ };
1402
3214
  };
1403
3215
 
1404
- export type AutomationsExamplesCreateResponse = AutomationsExamplesCreateResponses[keyof AutomationsExamplesCreateResponses];
3216
+ export type AutomationsSyncResponse = AutomationsSyncResponses[keyof AutomationsSyncResponses];
1405
3217
 
1406
- export type AutomationsExperimentsListData = {
3218
+ export type AutomationsTriggersGetData = {
1407
3219
  body?: never;
1408
3220
  path: {
3221
+ /**
3222
+ * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
3223
+ */
1409
3224
  id: string;
1410
3225
  };
1411
- query?: {
1412
- limit?: number;
1413
- offset?: number;
1414
- };
1415
- url: '/api/v1/automations/{id}/experiments';
3226
+ query?: never;
3227
+ url: '/api/v1/automations/{id}/triggers';
1416
3228
  };
1417
3229
 
1418
- export type AutomationsExperimentsListErrors = {
3230
+ export type AutomationsTriggersGetErrors = {
1419
3231
  /**
1420
3232
  * Validation error. Request shape did not match the spec.
1421
3233
  */
@@ -1446,32 +3258,30 @@ export type AutomationsExperimentsListErrors = {
1446
3258
  500: ApiErrorEnvelope;
1447
3259
  };
1448
3260
 
1449
- export type AutomationsExperimentsListError = AutomationsExperimentsListErrors[keyof AutomationsExperimentsListErrors];
3261
+ export type AutomationsTriggersGetError = AutomationsTriggersGetErrors[keyof AutomationsTriggersGetErrors];
1450
3262
 
1451
- export type AutomationsExperimentsListResponses = {
3263
+ export type AutomationsTriggersGetResponses = {
1452
3264
  /**
1453
- * Experiments
3265
+ * Automation trigger state
1454
3266
  */
1455
- 200: {
1456
- data: Array<Experiment>;
1457
- total: number;
1458
- limit: number;
1459
- offset: number;
1460
- };
3267
+ 200: AutomationTriggersResponse;
1461
3268
  };
1462
3269
 
1463
- export type AutomationsExperimentsListResponse = AutomationsExperimentsListResponses[keyof AutomationsExperimentsListResponses];
3270
+ export type AutomationsTriggersGetResponse = AutomationsTriggersGetResponses[keyof AutomationsTriggersGetResponses];
1464
3271
 
1465
- export type AutomationsExperimentsCreateData = {
1466
- body: ExperimentCreate;
3272
+ export type AutomationsVersionsListData = {
3273
+ body?: never;
1467
3274
  path: {
3275
+ /**
3276
+ * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
3277
+ */
1468
3278
  id: string;
1469
3279
  };
1470
3280
  query?: never;
1471
- url: '/api/v1/automations/{id}/experiments';
3281
+ url: '/api/v1/automations/{id}/versions';
1472
3282
  };
1473
3283
 
1474
- export type AutomationsExperimentsCreateErrors = {
3284
+ export type AutomationsVersionsListErrors = {
1475
3285
  /**
1476
3286
  * Validation error. Request shape did not match the spec.
1477
3287
  */
@@ -1502,28 +3312,27 @@ export type AutomationsExperimentsCreateErrors = {
1502
3312
  500: ApiErrorEnvelope;
1503
3313
  };
1504
3314
 
1505
- export type AutomationsExperimentsCreateError = AutomationsExperimentsCreateErrors[keyof AutomationsExperimentsCreateErrors];
3315
+ export type AutomationsVersionsListError = AutomationsVersionsListErrors[keyof AutomationsVersionsListErrors];
1506
3316
 
1507
- export type AutomationsExperimentsCreateResponses = {
3317
+ export type AutomationsVersionsListResponses = {
1508
3318
  /**
1509
- * Experiment accepted
3319
+ * Automation versions
1510
3320
  */
1511
- 202: ExperimentCreateResponse;
3321
+ 200: ListAutomationVersionsResponse;
1512
3322
  };
1513
3323
 
1514
- export type AutomationsExperimentsCreateResponse = AutomationsExperimentsCreateResponses[keyof AutomationsExperimentsCreateResponses];
3324
+ export type AutomationsVersionsListResponse = AutomationsVersionsListResponses[keyof AutomationsVersionsListResponses];
1515
3325
 
1516
- export type AutomationsExperimentsCancelData = {
3326
+ export type ExperimentsResolveData = {
1517
3327
  body?: never;
1518
3328
  path: {
1519
- id: string;
1520
3329
  experimentId: string;
1521
3330
  };
1522
3331
  query?: never;
1523
- url: '/api/v1/automations/{id}/experiments/{experimentId}/cancel';
3332
+ url: '/api/v1/experiments/{experimentId}';
1524
3333
  };
1525
3334
 
1526
- export type AutomationsExperimentsCancelErrors = {
3335
+ export type ExperimentsResolveErrors = {
1527
3336
  /**
1528
3337
  * Validation error. Request shape did not match the spec.
1529
3338
  */
@@ -1554,28 +3363,25 @@ export type AutomationsExperimentsCancelErrors = {
1554
3363
  500: ApiErrorEnvelope;
1555
3364
  };
1556
3365
 
1557
- export type AutomationsExperimentsCancelError = AutomationsExperimentsCancelErrors[keyof AutomationsExperimentsCancelErrors];
3366
+ export type ExperimentsResolveError = ExperimentsResolveErrors[keyof ExperimentsResolveErrors];
1558
3367
 
1559
- export type AutomationsExperimentsCancelResponses = {
3368
+ export type ExperimentsResolveResponses = {
1560
3369
  /**
1561
- * Experiment after cancellation request
3370
+ * Experiment reference
1562
3371
  */
1563
- 200: ExperimentDetail;
3372
+ 200: ExperimentRef;
1564
3373
  };
1565
3374
 
1566
- export type AutomationsExperimentsCancelResponse = AutomationsExperimentsCancelResponses[keyof AutomationsExperimentsCancelResponses];
3375
+ export type ExperimentsResolveResponse = ExperimentsResolveResponses[keyof ExperimentsResolveResponses];
1567
3376
 
1568
- export type AutomationsExperimentsGetData = {
1569
- body?: never;
1570
- path: {
1571
- id: string;
1572
- experimentId: string;
1573
- };
3377
+ export type FilesCreateData = {
3378
+ body: CreateFileMultipartRequest;
3379
+ path?: never;
1574
3380
  query?: never;
1575
- url: '/api/v1/automations/{id}/experiments/{experimentId}';
3381
+ url: '/api/v1/files';
1576
3382
  };
1577
3383
 
1578
- export type AutomationsExperimentsGetErrors = {
3384
+ export type FilesCreateErrors = {
1579
3385
  /**
1580
3386
  * Validation error. Request shape did not match the spec.
1581
3387
  */
@@ -1606,30 +3412,30 @@ export type AutomationsExperimentsGetErrors = {
1606
3412
  500: ApiErrorEnvelope;
1607
3413
  };
1608
3414
 
1609
- export type AutomationsExperimentsGetError = AutomationsExperimentsGetErrors[keyof AutomationsExperimentsGetErrors];
3415
+ export type FilesCreateError = FilesCreateErrors[keyof FilesCreateErrors];
1610
3416
 
1611
- export type AutomationsExperimentsGetResponses = {
3417
+ export type FilesCreateResponses = {
1612
3418
  /**
1613
- * Experiment detail
3419
+ * Uploaded file
1614
3420
  */
1615
- 200: ExperimentDetail;
3421
+ 200: File;
1616
3422
  };
1617
3423
 
1618
- export type AutomationsExperimentsGetResponse = AutomationsExperimentsGetResponses[keyof AutomationsExperimentsGetResponses];
3424
+ export type FilesCreateResponse = FilesCreateResponses[keyof FilesCreateResponses];
1619
3425
 
1620
- export type AutomationsGetData = {
3426
+ export type FilesDeleteData = {
1621
3427
  body?: never;
1622
3428
  path: {
1623
3429
  /**
1624
- * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
3430
+ * File id
1625
3431
  */
1626
3432
  id: string;
1627
3433
  };
1628
3434
  query?: never;
1629
- url: '/api/v1/automations/{id}';
3435
+ url: '/api/v1/files/{id}';
1630
3436
  };
1631
3437
 
1632
- export type AutomationsGetErrors = {
3438
+ export type FilesDeleteErrors = {
1633
3439
  /**
1634
3440
  * Validation error. Request shape did not match the spec.
1635
3441
  */
@@ -1660,30 +3466,30 @@ export type AutomationsGetErrors = {
1660
3466
  500: ApiErrorEnvelope;
1661
3467
  };
1662
3468
 
1663
- export type AutomationsGetError = AutomationsGetErrors[keyof AutomationsGetErrors];
3469
+ export type FilesDeleteError = FilesDeleteErrors[keyof FilesDeleteErrors];
1664
3470
 
1665
- export type AutomationsGetResponses = {
3471
+ export type FilesDeleteResponses = {
1666
3472
  /**
1667
- * Automation
3473
+ * File deleted
1668
3474
  */
1669
- 200: AutomationDetail;
3475
+ 200: DeleteFileResponse;
1670
3476
  };
1671
3477
 
1672
- export type AutomationsGetResponse = AutomationsGetResponses[keyof AutomationsGetResponses];
3478
+ export type FilesDeleteResponse = FilesDeleteResponses[keyof FilesDeleteResponses];
1673
3479
 
1674
- export type AutomationsTriggersGetData = {
3480
+ export type FilesGetData = {
1675
3481
  body?: never;
1676
3482
  path: {
1677
3483
  /**
1678
- * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
3484
+ * File id
1679
3485
  */
1680
3486
  id: string;
1681
3487
  };
1682
3488
  query?: never;
1683
- url: '/api/v1/automations/{id}/triggers';
3489
+ url: '/api/v1/files/{id}';
1684
3490
  };
1685
3491
 
1686
- export type AutomationsTriggersGetErrors = {
3492
+ export type FilesGetErrors = {
1687
3493
  /**
1688
3494
  * Validation error. Request shape did not match the spec.
1689
3495
  */
@@ -1714,30 +3520,30 @@ export type AutomationsTriggersGetErrors = {
1714
3520
  500: ApiErrorEnvelope;
1715
3521
  };
1716
3522
 
1717
- export type AutomationsTriggersGetError = AutomationsTriggersGetErrors[keyof AutomationsTriggersGetErrors];
3523
+ export type FilesGetError = FilesGetErrors[keyof FilesGetErrors];
1718
3524
 
1719
- export type AutomationsTriggersGetResponses = {
3525
+ export type FilesGetResponses = {
1720
3526
  /**
1721
- * Automation trigger state
3527
+ * File metadata
1722
3528
  */
1723
- 200: AutomationTriggersResponse;
3529
+ 200: File;
1724
3530
  };
1725
3531
 
1726
- export type AutomationsTriggersGetResponse = AutomationsTriggersGetResponses[keyof AutomationsTriggersGetResponses];
3532
+ export type FilesGetResponse = FilesGetResponses[keyof FilesGetResponses];
1727
3533
 
1728
- export type AutomationsVersionsListData = {
3534
+ export type FilesContentGetData = {
1729
3535
  body?: never;
1730
3536
  path: {
1731
3537
  /**
1732
- * Workflow id, agent id, or typed alias like workflows.slug / agents.slug
3538
+ * File id
1733
3539
  */
1734
3540
  id: string;
1735
3541
  };
1736
3542
  query?: never;
1737
- url: '/api/v1/automations/{id}/versions';
3543
+ url: '/api/v1/files/{id}/content';
1738
3544
  };
1739
3545
 
1740
- export type AutomationsVersionsListErrors = {
3546
+ export type FilesContentGetErrors = {
1741
3547
  /**
1742
3548
  * Validation error. Request shape did not match the spec.
1743
3549
  */
@@ -1768,36 +3574,43 @@ export type AutomationsVersionsListErrors = {
1768
3574
  500: ApiErrorEnvelope;
1769
3575
  };
1770
3576
 
1771
- export type AutomationsVersionsListError = AutomationsVersionsListErrors[keyof AutomationsVersionsListErrors];
3577
+ export type FilesContentGetError = FilesContentGetErrors[keyof FilesContentGetErrors];
1772
3578
 
1773
- export type AutomationsVersionsListResponses = {
3579
+ export type FilesContentGetResponses = {
1774
3580
  /**
1775
- * Automation versions
3581
+ * File content
1776
3582
  */
1777
- 200: ListAutomationVersionsResponse;
3583
+ 200: unknown;
1778
3584
  };
1779
3585
 
1780
- export type AutomationsVersionsListResponse = AutomationsVersionsListResponses[keyof AutomationsVersionsListResponses];
1781
-
1782
- export type AutomationsListData = {
3586
+ export type RunsListData = {
1783
3587
  body?: never;
1784
3588
  path?: never;
1785
3589
  query?: {
1786
- /**
1787
- * Substring match against slug, name, or description
1788
- */
1789
- search?: string;
1790
- /**
1791
- * Filter by implementation type
1792
- */
1793
- type?: 'workflow' | 'agent';
1794
- limit?: number;
3590
+ type?: string;
3591
+ source?: string;
3592
+ status?: string;
3593
+ trigger?: string;
3594
+ triggeredBy?: string;
3595
+ sourceRef?: string;
3596
+ batchId?: string;
3597
+ exampleId?: string;
3598
+ exampleIdContains?: string;
3599
+ from?: string;
3600
+ to?: string;
3601
+ createdAfter?: string;
3602
+ createdBefore?: string;
3603
+ completedAfter?: string;
3604
+ completedBefore?: string;
3605
+ cursor?: string;
1795
3606
  offset?: number;
3607
+ limit?: number;
3608
+ ids?: string;
1796
3609
  };
1797
- url: '/api/v1/automations';
3610
+ url: '/api/v1/runs';
1798
3611
  };
1799
3612
 
1800
- export type AutomationsListErrors = {
3613
+ export type RunsListErrors = {
1801
3614
  /**
1802
3615
  * Validation error. Request shape did not match the spec.
1803
3616
  */
@@ -1828,30 +3641,34 @@ export type AutomationsListErrors = {
1828
3641
  500: ApiErrorEnvelope;
1829
3642
  };
1830
3643
 
1831
- export type AutomationsListError = AutomationsListErrors[keyof AutomationsListErrors];
3644
+ export type RunsListError = RunsListErrors[keyof RunsListErrors];
1832
3645
 
1833
- export type AutomationsListResponses = {
3646
+ export type RunsListResponses = {
1834
3647
  /**
1835
- * Paginated list of automations
3648
+ * Runs page
1836
3649
  */
1837
- 200: ListAutomationsResponse;
3650
+ 200: RunsListResponse;
1838
3651
  };
1839
3652
 
1840
- export type AutomationsListResponse = AutomationsListResponses[keyof AutomationsListResponses];
3653
+ export type RunsListResponse2 = RunsListResponses[keyof RunsListResponses];
1841
3654
 
1842
- export type FilesContentGetData = {
1843
- body?: never;
1844
- path: {
3655
+ export type RunsStartData = {
3656
+ body: RunStartBody;
3657
+ path?: never;
3658
+ query?: {
1845
3659
  /**
1846
- * File id
3660
+ * Release or git ref. Defaults to latest.
1847
3661
  */
1848
- id: string;
3662
+ version?: string;
3663
+ /**
3664
+ * Seconds to wait before returning (max 600). Omit for async.
3665
+ */
3666
+ wait_for_completion?: number;
1849
3667
  };
1850
- query?: never;
1851
- url: '/api/v1/files/{id}/content';
3668
+ url: '/api/v1/runs';
1852
3669
  };
1853
3670
 
1854
- export type FilesContentGetErrors = {
3671
+ export type RunsStartErrors = {
1855
3672
  /**
1856
3673
  * Validation error. Request shape did not match the spec.
1857
3674
  */
@@ -1861,7 +3678,7 @@ export type FilesContentGetErrors = {
1861
3678
  */
1862
3679
  401: ApiErrorEnvelope;
1863
3680
  /**
1864
- * API key lacks required scope
3681
+ * Trigger disabled or insufficient scope. Run start may return api_trigger_disabled when the API trigger is off, or manual_trigger_disabled for dashboard runs on API-only workflows.
1865
3682
  */
1866
3683
  403: ApiErrorEnvelope;
1867
3684
  /**
@@ -1882,28 +3699,43 @@ export type FilesContentGetErrors = {
1882
3699
  500: ApiErrorEnvelope;
1883
3700
  };
1884
3701
 
1885
- export type FilesContentGetError = FilesContentGetErrors[keyof FilesContentGetErrors];
3702
+ export type RunsStartError = RunsStartErrors[keyof RunsStartErrors];
1886
3703
 
1887
- export type FilesContentGetResponses = {
3704
+ export type RunsStartResponses = {
1888
3705
  /**
1889
- * File content
3706
+ * Run completed while waiting — same body as GET /api/v1/runs/:id
1890
3707
  */
1891
- 200: unknown;
3708
+ 200: RunStartResponse;
3709
+ /**
3710
+ * Run accepted (async)
3711
+ */
3712
+ 201: RunStartResponse;
3713
+ /**
3714
+ * Wait expired with a non-terminal status — poll GET /api/v1/runs/:id
3715
+ */
3716
+ 202: RunStartResponse;
1892
3717
  };
1893
3718
 
1894
- export type FilesDeleteData = {
3719
+ export type RunsStartResponse = RunsStartResponses[keyof RunsStartResponses];
3720
+
3721
+ export type RunsGetData = {
1895
3722
  body?: never;
1896
3723
  path: {
1897
3724
  /**
1898
- * File id
3725
+ * Run id
1899
3726
  */
1900
3727
  id: string;
1901
3728
  };
1902
- query?: never;
1903
- url: '/api/v1/files/{id}';
3729
+ query?: {
3730
+ /**
3731
+ * Optional sections: `input`, `usage`, `execution`, `debug`. Terminal runs always include top-level output, files, and error.
3732
+ */
3733
+ expand?: string;
3734
+ };
3735
+ url: '/api/v1/runs/{id}';
1904
3736
  };
1905
3737
 
1906
- export type FilesDeleteErrors = {
3738
+ export type RunsGetErrors = {
1907
3739
  /**
1908
3740
  * Validation error. Request shape did not match the spec.
1909
3741
  */
@@ -1934,30 +3766,39 @@ export type FilesDeleteErrors = {
1934
3766
  500: ApiErrorEnvelope;
1935
3767
  };
1936
3768
 
1937
- export type FilesDeleteError = FilesDeleteErrors[keyof FilesDeleteErrors];
3769
+ export type RunsGetError = RunsGetErrors[keyof RunsGetErrors];
1938
3770
 
1939
- export type FilesDeleteResponses = {
3771
+ export type RunsGetResponses = {
1940
3772
  /**
1941
- * File deleted
3773
+ * Run detail. Expanded sections appear only when requested.
1942
3774
  */
1943
- 200: DeleteFileResponse;
3775
+ 200: Run;
1944
3776
  };
1945
3777
 
1946
- export type FilesDeleteResponse = FilesDeleteResponses[keyof FilesDeleteResponses];
3778
+ export type RunsGetResponse = RunsGetResponses[keyof RunsGetResponses];
1947
3779
 
1948
- export type FilesGetData = {
3780
+ export type RunsArtifactsListData = {
1949
3781
  body?: never;
1950
3782
  path: {
1951
3783
  /**
1952
- * File id
3784
+ * Run id
1953
3785
  */
1954
3786
  id: string;
1955
3787
  };
1956
- query?: never;
1957
- url: '/api/v1/files/{id}';
3788
+ query?: {
3789
+ /**
3790
+ * When `1`, download output files as a ZIP instead of listing paths. Does not include trace, scores, or input — use `GET /runs/{id}/scores` and `GET /runs/{id}/trace` for those.
3791
+ */
3792
+ zip?: '1';
3793
+ /**
3794
+ * Signed email download token (zip only; no Bearer required).
3795
+ */
3796
+ token?: string;
3797
+ };
3798
+ url: '/api/v1/runs/{id}/artifacts';
1958
3799
  };
1959
3800
 
1960
- export type FilesGetErrors = {
3801
+ export type RunsArtifactsListErrors = {
1961
3802
  /**
1962
3803
  * Validation error. Request shape did not match the spec.
1963
3804
  */
@@ -1988,25 +3829,28 @@ export type FilesGetErrors = {
1988
3829
  500: ApiErrorEnvelope;
1989
3830
  };
1990
3831
 
1991
- export type FilesGetError = FilesGetErrors[keyof FilesGetErrors];
3832
+ export type RunsArtifactsListError = RunsArtifactsListErrors[keyof RunsArtifactsListErrors];
1992
3833
 
1993
- export type FilesGetResponses = {
3834
+ export type RunsArtifactsListResponses = {
1994
3835
  /**
1995
- * File metadata
3836
+ * JSON artifact list, or ZIP bytes when `zip=1`.
1996
3837
  */
1997
- 200: File;
3838
+ 200: RunArtifactsResponse | Blob;
1998
3839
  };
1999
3840
 
2000
- export type FilesGetResponse = FilesGetResponses[keyof FilesGetResponses];
3841
+ export type RunsArtifactsListResponse = RunsArtifactsListResponses[keyof RunsArtifactsListResponses];
2001
3842
 
2002
- export type FilesCreateData = {
2003
- body: CreateFileMultipartRequest;
2004
- path?: never;
3843
+ export type RunsArtifactsGetData = {
3844
+ body?: never;
3845
+ path: {
3846
+ id: string;
3847
+ path: string;
3848
+ };
2005
3849
  query?: never;
2006
- url: '/api/v1/files';
3850
+ url: '/api/v1/runs/{id}/artifacts/{path}';
2007
3851
  };
2008
3852
 
2009
- export type FilesCreateErrors = {
3853
+ export type RunsArtifactsGetErrors = {
2010
3854
  /**
2011
3855
  * Validation error. Request shape did not match the spec.
2012
3856
  */
@@ -2037,45 +3881,25 @@ export type FilesCreateErrors = {
2037
3881
  500: ApiErrorEnvelope;
2038
3882
  };
2039
3883
 
2040
- export type FilesCreateError = FilesCreateErrors[keyof FilesCreateErrors];
3884
+ export type RunsArtifactsGetError = RunsArtifactsGetErrors[keyof RunsArtifactsGetErrors];
2041
3885
 
2042
- export type FilesCreateResponses = {
3886
+ export type RunsArtifactsGetResponses = {
2043
3887
  /**
2044
- * Uploaded file
3888
+ * Run artifact
2045
3889
  */
2046
- 200: File;
3890
+ 200: unknown;
2047
3891
  };
2048
3892
 
2049
- export type FilesCreateResponse = FilesCreateResponses[keyof FilesCreateResponses];
2050
-
2051
- export type RunsListData = {
3893
+ export type RunsCancelData = {
2052
3894
  body?: never;
2053
- path?: never;
2054
- query?: {
2055
- type?: string;
2056
- source?: string;
2057
- status?: string;
2058
- trigger?: string;
2059
- triggeredBy?: string;
2060
- sourceRef?: string;
2061
- batchId?: string;
2062
- exampleId?: string;
2063
- exampleIdContains?: string;
2064
- from?: string;
2065
- to?: string;
2066
- createdAfter?: string;
2067
- createdBefore?: string;
2068
- completedAfter?: string;
2069
- completedBefore?: string;
2070
- cursor?: string;
2071
- offset?: number;
2072
- limit?: number;
2073
- ids?: string;
3895
+ path: {
3896
+ id: string;
2074
3897
  };
2075
- url: '/api/v1/runs';
3898
+ query?: never;
3899
+ url: '/api/v1/runs/{id}/cancel';
2076
3900
  };
2077
3901
 
2078
- export type RunsListErrors = {
3902
+ export type RunsCancelErrors = {
2079
3903
  /**
2080
3904
  * Validation error. Request shape did not match the spec.
2081
3905
  */
@@ -2106,34 +3930,30 @@ export type RunsListErrors = {
2106
3930
  500: ApiErrorEnvelope;
2107
3931
  };
2108
3932
 
2109
- export type RunsListError = RunsListErrors[keyof RunsListErrors];
3933
+ export type RunsCancelError = RunsCancelErrors[keyof RunsCancelErrors];
2110
3934
 
2111
- export type RunsListResponses = {
3935
+ export type RunsCancelResponses = {
2112
3936
  /**
2113
- * Runs page
3937
+ * Cancellation result
2114
3938
  */
2115
- 200: RunsListResponse;
3939
+ 200: RunCancelResponse;
2116
3940
  };
2117
3941
 
2118
- export type RunsListResponse2 = RunsListResponses[keyof RunsListResponses];
3942
+ export type RunsCancelResponse = RunsCancelResponses[keyof RunsCancelResponses];
2119
3943
 
2120
- export type RunsStartData = {
2121
- body: RunStartBody;
2122
- path?: never;
2123
- query?: {
2124
- /**
2125
- * Release or git ref. Defaults to latest.
2126
- */
2127
- version?: string;
3944
+ export type RunsEventsListData = {
3945
+ body?: never;
3946
+ path: {
2128
3947
  /**
2129
- * Seconds to wait before returning (max 600). Omit for async.
3948
+ * Run id
2130
3949
  */
2131
- wait_for_completion?: number;
3950
+ id: string;
2132
3951
  };
2133
- url: '/api/v1/runs';
3952
+ query?: never;
3953
+ url: '/api/v1/runs/{id}/events';
2134
3954
  };
2135
3955
 
2136
- export type RunsStartErrors = {
3956
+ export type RunsEventsListErrors = {
2137
3957
  /**
2138
3958
  * Validation error. Request shape did not match the spec.
2139
3959
  */
@@ -2143,7 +3963,7 @@ export type RunsStartErrors = {
2143
3963
  */
2144
3964
  401: ApiErrorEnvelope;
2145
3965
  /**
2146
- * Trigger disabled or insufficient scope. Run start may return api_trigger_disabled when the API trigger is off, or manual_trigger_disabled for dashboard runs on API-only workflows.
3966
+ * API key lacks required scope
2147
3967
  */
2148
3968
  403: ApiErrorEnvelope;
2149
3969
  /**
@@ -2164,36 +3984,30 @@ export type RunsStartErrors = {
2164
3984
  500: ApiErrorEnvelope;
2165
3985
  };
2166
3986
 
2167
- export type RunsStartError = RunsStartErrors[keyof RunsStartErrors];
3987
+ export type RunsEventsListError = RunsEventsListErrors[keyof RunsEventsListErrors];
2168
3988
 
2169
- export type RunsStartResponses = {
2170
- /**
2171
- * Run completed while waiting — same body as GET /api/v1/runs/:id
2172
- */
2173
- 200: RunStartResponse;
2174
- /**
2175
- * Run accepted (async)
2176
- */
2177
- 201: RunStartResponse;
3989
+ export type RunsEventsListResponses = {
2178
3990
  /**
2179
- * Wait expired with a non-terminal status — poll GET /api/v1/runs/:id
3991
+ * Run events
2180
3992
  */
2181
- 202: RunStartResponse;
3993
+ 200: RunEventsResponse;
2182
3994
  };
2183
3995
 
2184
- export type RunsStartResponse = RunsStartResponses[keyof RunsStartResponses];
3996
+ export type RunsEventsListResponse = RunsEventsListResponses[keyof RunsEventsListResponses];
2185
3997
 
2186
- export type RunsArtifactsGetData = {
3998
+ export type RunsFeedbackClearData = {
2187
3999
  body?: never;
2188
4000
  path: {
4001
+ /**
4002
+ * Run id.
4003
+ */
2189
4004
  id: string;
2190
- path: string;
2191
4005
  };
2192
4006
  query?: never;
2193
- url: '/api/v1/runs/{id}/artifacts/{path}';
4007
+ url: '/api/v1/runs/{id}/feedback';
2194
4008
  };
2195
4009
 
2196
- export type RunsArtifactsGetErrors = {
4010
+ export type RunsFeedbackClearErrors = {
2197
4011
  /**
2198
4012
  * Validation error. Request shape did not match the spec.
2199
4013
  */
@@ -2224,28 +4038,30 @@ export type RunsArtifactsGetErrors = {
2224
4038
  500: ApiErrorEnvelope;
2225
4039
  };
2226
4040
 
2227
- export type RunsArtifactsGetError = RunsArtifactsGetErrors[keyof RunsArtifactsGetErrors];
4041
+ export type RunsFeedbackClearError = RunsFeedbackClearErrors[keyof RunsFeedbackClearErrors];
2228
4042
 
2229
- export type RunsArtifactsGetResponses = {
4043
+ export type RunsFeedbackClearResponses = {
2230
4044
  /**
2231
- * Run artifact
4045
+ * Empty complete run feedback state.
2232
4046
  */
2233
- 200: unknown;
4047
+ 200: RunFeedbackDetail;
2234
4048
  };
2235
4049
 
2236
- export type RunsArtifactsListData = {
4050
+ export type RunsFeedbackClearResponse = RunsFeedbackClearResponses[keyof RunsFeedbackClearResponses];
4051
+
4052
+ export type RunsFeedbackGetData = {
2237
4053
  body?: never;
2238
4054
  path: {
2239
4055
  /**
2240
- * Run id
4056
+ * Run id.
2241
4057
  */
2242
4058
  id: string;
2243
4059
  };
2244
4060
  query?: never;
2245
- url: '/api/v1/runs/{id}/artifacts';
4061
+ url: '/api/v1/runs/{id}/feedback';
2246
4062
  };
2247
4063
 
2248
- export type RunsArtifactsListErrors = {
4064
+ export type RunsFeedbackGetErrors = {
2249
4065
  /**
2250
4066
  * Validation error. Request shape did not match the spec.
2251
4067
  */
@@ -2276,27 +4092,30 @@ export type RunsArtifactsListErrors = {
2276
4092
  500: ApiErrorEnvelope;
2277
4093
  };
2278
4094
 
2279
- export type RunsArtifactsListError = RunsArtifactsListErrors[keyof RunsArtifactsListErrors];
4095
+ export type RunsFeedbackGetError = RunsFeedbackGetErrors[keyof RunsFeedbackGetErrors];
2280
4096
 
2281
- export type RunsArtifactsListResponses = {
4097
+ export type RunsFeedbackGetResponses = {
2282
4098
  /**
2283
- * Run artifacts
4099
+ * Complete run feedback state.
2284
4100
  */
2285
- 200: RunArtifactsResponse;
4101
+ 200: RunFeedbackDetail;
2286
4102
  };
2287
4103
 
2288
- export type RunsArtifactsListResponse = RunsArtifactsListResponses[keyof RunsArtifactsListResponses];
4104
+ export type RunsFeedbackGetResponse = RunsFeedbackGetResponses[keyof RunsFeedbackGetResponses];
2289
4105
 
2290
- export type RunsCancelData = {
2291
- body?: never;
4106
+ export type RunsFeedbackUpdateData = {
4107
+ body: RunFeedbackRequest;
2292
4108
  path: {
4109
+ /**
4110
+ * Run id.
4111
+ */
2293
4112
  id: string;
2294
4113
  };
2295
4114
  query?: never;
2296
- url: '/api/v1/runs/{id}/cancel';
4115
+ url: '/api/v1/runs/{id}/feedback';
2297
4116
  };
2298
4117
 
2299
- export type RunsCancelErrors = {
4118
+ export type RunsFeedbackUpdateErrors = {
2300
4119
  /**
2301
4120
  * Validation error. Request shape did not match the spec.
2302
4121
  */
@@ -2327,27 +4146,30 @@ export type RunsCancelErrors = {
2327
4146
  500: ApiErrorEnvelope;
2328
4147
  };
2329
4148
 
2330
- export type RunsCancelError = RunsCancelErrors[keyof RunsCancelErrors];
4149
+ export type RunsFeedbackUpdateError = RunsFeedbackUpdateErrors[keyof RunsFeedbackUpdateErrors];
2331
4150
 
2332
- export type RunsCancelResponses = {
4151
+ export type RunsFeedbackUpdateResponses = {
2333
4152
  /**
2334
- * Cancellation result
4153
+ * Updated complete run feedback state.
2335
4154
  */
2336
- 200: RunCancelResponse;
4155
+ 200: RunFeedbackDetail;
2337
4156
  };
2338
4157
 
2339
- export type RunsCancelResponse = RunsCancelResponses[keyof RunsCancelResponses];
4158
+ export type RunsFeedbackUpdateResponse = RunsFeedbackUpdateResponses[keyof RunsFeedbackUpdateResponses];
2340
4159
 
2341
- export type RunsEvalResultsListData = {
4160
+ export type RunsFeedbackExpectedGetData = {
2342
4161
  body?: never;
2343
4162
  path: {
4163
+ /**
4164
+ * Run id.
4165
+ */
2344
4166
  id: string;
2345
4167
  };
2346
4168
  query?: never;
2347
- url: '/api/v1/runs/{id}/eval-results';
4169
+ url: '/api/v1/runs/{id}/feedback/expected';
2348
4170
  };
2349
4171
 
2350
- export type RunsEvalResultsListErrors = {
4172
+ export type RunsFeedbackExpectedGetErrors = {
2351
4173
  /**
2352
4174
  * Validation error. Request shape did not match the spec.
2353
4175
  */
@@ -2378,30 +4200,30 @@ export type RunsEvalResultsListErrors = {
2378
4200
  500: ApiErrorEnvelope;
2379
4201
  };
2380
4202
 
2381
- export type RunsEvalResultsListError = RunsEvalResultsListErrors[keyof RunsEvalResultsListErrors];
4203
+ export type RunsFeedbackExpectedGetError = RunsFeedbackExpectedGetErrors[keyof RunsFeedbackExpectedGetErrors];
2382
4204
 
2383
- export type RunsEvalResultsListResponses = {
4205
+ export type RunsFeedbackExpectedGetResponses = {
2384
4206
  /**
2385
- * Eval results
4207
+ * Expected JSON output and files.
2386
4208
  */
2387
- 200: EvalResultsResponse;
4209
+ 200: RunExpectedArtifacts;
2388
4210
  };
2389
4211
 
2390
- export type RunsEvalResultsListResponse = RunsEvalResultsListResponses[keyof RunsEvalResultsListResponses];
4212
+ export type RunsFeedbackExpectedGetResponse = RunsFeedbackExpectedGetResponses[keyof RunsFeedbackExpectedGetResponses];
2391
4213
 
2392
- export type RunsEventsListData = {
2393
- body?: never;
4214
+ export type RunsFeedbackExpectedCreateData = {
4215
+ body: RunExpectedFileCopyRequest | RunExpectedFileUploadRequest;
2394
4216
  path: {
2395
4217
  /**
2396
- * Run id
4218
+ * Run id.
2397
4219
  */
2398
4220
  id: string;
2399
4221
  };
2400
4222
  query?: never;
2401
- url: '/api/v1/runs/{id}/events';
4223
+ url: '/api/v1/runs/{id}/feedback/expected';
2402
4224
  };
2403
4225
 
2404
- export type RunsEventsListErrors = {
4226
+ export type RunsFeedbackExpectedCreateErrors = {
2405
4227
  /**
2406
4228
  * Validation error. Request shape did not match the spec.
2407
4229
  */
@@ -2432,27 +4254,34 @@ export type RunsEventsListErrors = {
2432
4254
  500: ApiErrorEnvelope;
2433
4255
  };
2434
4256
 
2435
- export type RunsEventsListError = RunsEventsListErrors[keyof RunsEventsListErrors];
4257
+ export type RunsFeedbackExpectedCreateError = RunsFeedbackExpectedCreateErrors[keyof RunsFeedbackExpectedCreateErrors];
2436
4258
 
2437
- export type RunsEventsListResponses = {
4259
+ export type RunsFeedbackExpectedCreateResponses = {
2438
4260
  /**
2439
- * Run events
4261
+ * Expected file created.
2440
4262
  */
2441
- 200: RunEventsResponse;
4263
+ 201: RunExpectedFileMutationResponse;
2442
4264
  };
2443
4265
 
2444
- export type RunsEventsListResponse = RunsEventsListResponses[keyof RunsEventsListResponses];
4266
+ export type RunsFeedbackExpectedCreateResponse = RunsFeedbackExpectedCreateResponses[keyof RunsFeedbackExpectedCreateResponses];
2445
4267
 
2446
- export type RunsFeedbackClearData = {
4268
+ export type RunsFeedbackExpectedFileDeleteData = {
2447
4269
  body?: never;
2448
4270
  path: {
4271
+ /**
4272
+ * Run id.
4273
+ */
2449
4274
  id: string;
4275
+ /**
4276
+ * Expected artifact file name or slash-delimited path, as returned by `GET /runs/{id}/feedback/expected`.
4277
+ */
4278
+ filename: string;
2450
4279
  };
2451
4280
  query?: never;
2452
- url: '/api/v1/runs/{id}/feedback';
4281
+ url: '/api/v1/runs/{id}/feedback/expected/{filename}';
2453
4282
  };
2454
4283
 
2455
- export type RunsFeedbackClearErrors = {
4284
+ export type RunsFeedbackExpectedFileDeleteErrors = {
2456
4285
  /**
2457
4286
  * Validation error. Request shape did not match the spec.
2458
4287
  */
@@ -2483,27 +4312,34 @@ export type RunsFeedbackClearErrors = {
2483
4312
  500: ApiErrorEnvelope;
2484
4313
  };
2485
4314
 
2486
- export type RunsFeedbackClearError = RunsFeedbackClearErrors[keyof RunsFeedbackClearErrors];
4315
+ export type RunsFeedbackExpectedFileDeleteError = RunsFeedbackExpectedFileDeleteErrors[keyof RunsFeedbackExpectedFileDeleteErrors];
2487
4316
 
2488
- export type RunsFeedbackClearResponses = {
4317
+ export type RunsFeedbackExpectedFileDeleteResponses = {
2489
4318
  /**
2490
- * Feedback cleared
4319
+ * Expected file deleted; no response body.
2491
4320
  */
2492
- 200: RunFeedbackDetail;
4321
+ 204: void;
2493
4322
  };
2494
4323
 
2495
- export type RunsFeedbackClearResponse = RunsFeedbackClearResponses[keyof RunsFeedbackClearResponses];
4324
+ export type RunsFeedbackExpectedFileDeleteResponse = RunsFeedbackExpectedFileDeleteResponses[keyof RunsFeedbackExpectedFileDeleteResponses];
2496
4325
 
2497
- export type RunsFeedbackGetData = {
4326
+ export type RunsFeedbackExpectedFileGetData = {
2498
4327
  body?: never;
2499
4328
  path: {
4329
+ /**
4330
+ * Run id.
4331
+ */
2500
4332
  id: string;
4333
+ /**
4334
+ * Expected artifact file name or slash-delimited path, as returned by `GET /runs/{id}/feedback/expected`.
4335
+ */
4336
+ filename: string;
2501
4337
  };
2502
4338
  query?: never;
2503
- url: '/api/v1/runs/{id}/feedback';
4339
+ url: '/api/v1/runs/{id}/feedback/expected/{filename}';
2504
4340
  };
2505
4341
 
2506
- export type RunsFeedbackGetErrors = {
4342
+ export type RunsFeedbackExpectedFileGetErrors = {
2507
4343
  /**
2508
4344
  * Validation error. Request shape did not match the spec.
2509
4345
  */
@@ -2534,27 +4370,34 @@ export type RunsFeedbackGetErrors = {
2534
4370
  500: ApiErrorEnvelope;
2535
4371
  };
2536
4372
 
2537
- export type RunsFeedbackGetError = RunsFeedbackGetErrors[keyof RunsFeedbackGetErrors];
4373
+ export type RunsFeedbackExpectedFileGetError = RunsFeedbackExpectedFileGetErrors[keyof RunsFeedbackExpectedFileGetErrors];
2538
4374
 
2539
- export type RunsFeedbackGetResponses = {
4375
+ export type RunsFeedbackExpectedFileGetResponses = {
2540
4376
  /**
2541
- * Run feedback
4377
+ * Expected file bytes.
2542
4378
  */
2543
- 200: RunFeedbackDetail;
4379
+ 200: Blob | File;
2544
4380
  };
2545
4381
 
2546
- export type RunsFeedbackGetResponse = RunsFeedbackGetResponses[keyof RunsFeedbackGetResponses];
4382
+ export type RunsFeedbackExpectedFileGetResponse = RunsFeedbackExpectedFileGetResponses[keyof RunsFeedbackExpectedFileGetResponses];
2547
4383
 
2548
- export type RunsFeedbackUpdateData = {
2549
- body: RunFeedbackRequest;
4384
+ export type RunsFeedbackExpectedFileUpdateData = {
4385
+ body: RunExpectedFileUpdateRequest;
2550
4386
  path: {
4387
+ /**
4388
+ * Run id.
4389
+ */
2551
4390
  id: string;
4391
+ /**
4392
+ * Expected artifact file name or slash-delimited path, as returned by `GET /runs/{id}/feedback/expected`.
4393
+ */
4394
+ filename: string;
2552
4395
  };
2553
4396
  query?: never;
2554
- url: '/api/v1/runs/{id}/feedback';
4397
+ url: '/api/v1/runs/{id}/feedback/expected/{filename}';
2555
4398
  };
2556
4399
 
2557
- export type RunsFeedbackUpdateErrors = {
4400
+ export type RunsFeedbackExpectedFileUpdateErrors = {
2558
4401
  /**
2559
4402
  * Validation error. Request shape did not match the spec.
2560
4403
  */
@@ -2585,20 +4428,23 @@ export type RunsFeedbackUpdateErrors = {
2585
4428
  500: ApiErrorEnvelope;
2586
4429
  };
2587
4430
 
2588
- export type RunsFeedbackUpdateError = RunsFeedbackUpdateErrors[keyof RunsFeedbackUpdateErrors];
4431
+ export type RunsFeedbackExpectedFileUpdateError = RunsFeedbackExpectedFileUpdateErrors[keyof RunsFeedbackExpectedFileUpdateErrors];
2589
4432
 
2590
- export type RunsFeedbackUpdateResponses = {
4433
+ export type RunsFeedbackExpectedFileUpdateResponses = {
2591
4434
  /**
2592
- * Feedback updated
4435
+ * Renamed expected file.
2593
4436
  */
2594
- 200: RunFeedbackDetail;
4437
+ 200: RunExpectedFileUpdateResponse;
2595
4438
  };
2596
4439
 
2597
- export type RunsFeedbackUpdateResponse = RunsFeedbackUpdateResponses[keyof RunsFeedbackUpdateResponses];
4440
+ export type RunsFeedbackExpectedFileUpdateResponse = RunsFeedbackExpectedFileUpdateResponses[keyof RunsFeedbackExpectedFileUpdateResponses];
2598
4441
 
2599
4442
  export type RunsPromoteData = {
2600
4443
  body: PromoteRunRequest;
2601
4444
  path: {
4445
+ /**
4446
+ * Run id.
4447
+ */
2602
4448
  id: string;
2603
4449
  };
2604
4450
  query?: never;
@@ -2650,6 +4496,9 @@ export type RunsPromoteResponse = RunsPromoteResponses[keyof RunsPromoteResponse
2650
4496
  export type RunsRerunData = {
2651
4497
  body?: never;
2652
4498
  path: {
4499
+ /**
4500
+ * Source run id to retry.
4501
+ */
2653
4502
  id: string;
2654
4503
  };
2655
4504
  query?: {
@@ -2715,24 +4564,19 @@ export type RunsRerunResponses = {
2715
4564
 
2716
4565
  export type RunsRerunResponse = RunsRerunResponses[keyof RunsRerunResponses];
2717
4566
 
2718
- export type RunsGetData = {
4567
+ export type RunsScoresListData = {
2719
4568
  body?: never;
2720
4569
  path: {
2721
4570
  /**
2722
- * Run id
4571
+ * Run id.
2723
4572
  */
2724
4573
  id: string;
2725
4574
  };
2726
- query?: {
2727
- /**
2728
- * Optional sections: `input`, `usage`, `execution`, `debug`. Terminal runs always include top-level output, files, and error.
2729
- */
2730
- expand?: string;
2731
- };
2732
- url: '/api/v1/runs/{id}';
4575
+ query?: never;
4576
+ url: '/api/v1/runs/{id}/scores';
2733
4577
  };
2734
4578
 
2735
- export type RunsGetErrors = {
4579
+ export type RunsScoresListErrors = {
2736
4580
  /**
2737
4581
  * Validation error. Request shape did not match the spec.
2738
4582
  */
@@ -2763,16 +4607,16 @@ export type RunsGetErrors = {
2763
4607
  500: ApiErrorEnvelope;
2764
4608
  };
2765
4609
 
2766
- export type RunsGetError = RunsGetErrors[keyof RunsGetErrors];
4610
+ export type RunsScoresListError = RunsScoresListErrors[keyof RunsScoresListErrors];
2767
4611
 
2768
- export type RunsGetResponses = {
4612
+ export type RunsScoresListResponses = {
2769
4613
  /**
2770
- * Run
4614
+ * Per-evaluator scores for the run
2771
4615
  */
2772
- 200: Run;
4616
+ 200: RunScoresResponse;
2773
4617
  };
2774
4618
 
2775
- export type RunsGetResponse = RunsGetResponses[keyof RunsGetResponses];
4619
+ export type RunsScoresListResponse = RunsScoresListResponses[keyof RunsScoresListResponses];
2776
4620
 
2777
4621
  export type RunsStepsListData = {
2778
4622
  body?: never;
@@ -2831,6 +4675,9 @@ export type RunsStepsListResponse = RunsStepsListResponses[keyof RunsStepsListRe
2831
4675
  export type RunsTraceGetData = {
2832
4676
  body?: never;
2833
4677
  path: {
4678
+ /**
4679
+ * Run id.
4680
+ */
2834
4681
  id: string;
2835
4682
  };
2836
4683
  query?: never;
@@ -2872,11 +4719,9 @@ export type RunsTraceGetError = RunsTraceGetErrors[keyof RunsTraceGetErrors];
2872
4719
 
2873
4720
  export type RunsTraceGetResponses = {
2874
4721
  /**
2875
- * Run trace events
4722
+ * Run trace events.
2876
4723
  */
2877
- 200: {
2878
- events: Array<unknown>;
2879
- };
4724
+ 200: RunTraceResponse;
2880
4725
  };
2881
4726
 
2882
4727
  export type RunsTraceGetResponse = RunsTraceGetResponses[keyof RunsTraceGetResponses];