@hasna/switcher 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1174 @@
1
+ export interface paths {
2
+ "/v1/providers": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ get: operations["listProviders"];
10
+ put?: never;
11
+ post: operations["createProvider"];
12
+ delete?: never;
13
+ options?: never;
14
+ head?: never;
15
+ patch?: never;
16
+ trace?: never;
17
+ };
18
+ "/v1/providers/{id}": {
19
+ parameters: {
20
+ query?: never;
21
+ header?: never;
22
+ path?: never;
23
+ cookie?: never;
24
+ };
25
+ get: operations["getProvider"];
26
+ put: operations["updateProvider"];
27
+ post?: never;
28
+ delete: operations["deleteProvider"];
29
+ options?: never;
30
+ head?: never;
31
+ patch?: never;
32
+ trace?: never;
33
+ };
34
+ "/v1/profiles": {
35
+ parameters: {
36
+ query?: never;
37
+ header?: never;
38
+ path?: never;
39
+ cookie?: never;
40
+ };
41
+ get: operations["listProfiles"];
42
+ put?: never;
43
+ post: operations["createProfile"];
44
+ delete?: never;
45
+ options?: never;
46
+ head?: never;
47
+ patch?: never;
48
+ trace?: never;
49
+ };
50
+ "/v1/profiles/{id}": {
51
+ parameters: {
52
+ query?: never;
53
+ header?: never;
54
+ path?: never;
55
+ cookie?: never;
56
+ };
57
+ get: operations["getProfile"];
58
+ put: operations["updateProfile"];
59
+ post?: never;
60
+ delete: operations["deleteProfile"];
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/v1/providers/{id}/models": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ get: operations["listModels"];
74
+ put?: never;
75
+ post?: never;
76
+ delete?: never;
77
+ options?: never;
78
+ head?: never;
79
+ patch?: never;
80
+ trace?: never;
81
+ };
82
+ "/v1/providers/{id}/refresh": {
83
+ parameters: {
84
+ query?: never;
85
+ header?: never;
86
+ path?: never;
87
+ cookie?: never;
88
+ };
89
+ get?: never;
90
+ put?: never;
91
+ post: operations["refreshModels"];
92
+ delete?: never;
93
+ options?: never;
94
+ head?: never;
95
+ patch?: never;
96
+ trace?: never;
97
+ };
98
+ "/v1/launch-plans": {
99
+ parameters: {
100
+ query?: never;
101
+ header?: never;
102
+ path?: never;
103
+ cookie?: never;
104
+ };
105
+ get?: never;
106
+ put?: never;
107
+ post: operations["launchPlan"];
108
+ delete?: never;
109
+ options?: never;
110
+ head?: never;
111
+ patch?: never;
112
+ trace?: never;
113
+ };
114
+ "/v1/runs": {
115
+ parameters: {
116
+ query?: never;
117
+ header?: never;
118
+ path?: never;
119
+ cookie?: never;
120
+ };
121
+ get: operations["listRuns"];
122
+ put?: never;
123
+ post: operations["createRun"];
124
+ delete?: never;
125
+ options?: never;
126
+ head?: never;
127
+ patch?: never;
128
+ trace?: never;
129
+ };
130
+ "/v1/runs/{id}": {
131
+ parameters: {
132
+ query?: never;
133
+ header?: never;
134
+ path?: never;
135
+ cookie?: never;
136
+ };
137
+ get: operations["getRun"];
138
+ put?: never;
139
+ post?: never;
140
+ delete?: never;
141
+ options?: never;
142
+ head?: never;
143
+ patch: operations["finishRun"];
144
+ trace?: never;
145
+ };
146
+ "/health": {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ get: operations["health"];
154
+ put?: never;
155
+ post?: never;
156
+ delete?: never;
157
+ options?: never;
158
+ head?: never;
159
+ patch?: never;
160
+ trace?: never;
161
+ };
162
+ "/ready": {
163
+ parameters: {
164
+ query?: never;
165
+ header?: never;
166
+ path?: never;
167
+ cookie?: never;
168
+ };
169
+ get: operations["ready"];
170
+ put?: never;
171
+ post?: never;
172
+ delete?: never;
173
+ options?: never;
174
+ head?: never;
175
+ patch?: never;
176
+ trace?: never;
177
+ };
178
+ "/version": {
179
+ parameters: {
180
+ query?: never;
181
+ header?: never;
182
+ path?: never;
183
+ cookie?: never;
184
+ };
185
+ get: operations["version"];
186
+ put?: never;
187
+ post?: never;
188
+ delete?: never;
189
+ options?: never;
190
+ head?: never;
191
+ patch?: never;
192
+ trace?: never;
193
+ };
194
+ "/v1/openapi.json": {
195
+ parameters: {
196
+ query?: never;
197
+ header?: never;
198
+ path?: never;
199
+ cookie?: never;
200
+ };
201
+ get: operations["openApi"];
202
+ put?: never;
203
+ post?: never;
204
+ delete?: never;
205
+ options?: never;
206
+ head?: never;
207
+ patch?: never;
208
+ trace?: never;
209
+ };
210
+ }
211
+ export type webhooks = Record<string, never>;
212
+ export interface components {
213
+ schemas: {
214
+ ProviderInput: {
215
+ id: string;
216
+ name: string;
217
+ baseUrl: string;
218
+ /** @enum {string} */
219
+ protocol: "anthropic-messages" | "openai-responses" | "openai-chat";
220
+ credentialEnv?: string;
221
+ /**
222
+ * @default bearer
223
+ * @enum {string}
224
+ */
225
+ authStyle: "bearer" | "x-api-key";
226
+ /** @default models */
227
+ modelsPath: string;
228
+ /** @default [] */
229
+ manualModels: {
230
+ id: string;
231
+ name: string;
232
+ description?: string;
233
+ contextWindow?: number;
234
+ maxOutputTokens?: number;
235
+ inputModalities?: string[];
236
+ outputModalities?: string[];
237
+ supportedParameters?: string[];
238
+ }[];
239
+ };
240
+ Provider: {
241
+ id: string;
242
+ name: string;
243
+ baseUrl: string;
244
+ /** @enum {string} */
245
+ protocol: "anthropic-messages" | "openai-responses" | "openai-chat";
246
+ credentialEnv?: string;
247
+ /**
248
+ * @default bearer
249
+ * @enum {string}
250
+ */
251
+ authStyle: "bearer" | "x-api-key";
252
+ /** @default models */
253
+ modelsPath: string;
254
+ /** @default [] */
255
+ manualModels: {
256
+ id: string;
257
+ name: string;
258
+ description?: string;
259
+ contextWindow?: number;
260
+ maxOutputTokens?: number;
261
+ inputModalities?: string[];
262
+ outputModalities?: string[];
263
+ supportedParameters?: string[];
264
+ }[];
265
+ version: number;
266
+ updatedAt: string;
267
+ };
268
+ ProfileInput: {
269
+ id: string;
270
+ name: string;
271
+ providerId: string;
272
+ /** @enum {string} */
273
+ harness: "claude" | "codex" | "grok" | "opencode2";
274
+ model: string;
275
+ };
276
+ Profile: {
277
+ id: string;
278
+ name: string;
279
+ providerId: string;
280
+ /** @enum {string} */
281
+ harness: "claude" | "codex" | "grok" | "opencode2";
282
+ model: string;
283
+ version: number;
284
+ updatedAt: string;
285
+ };
286
+ Model: {
287
+ id: string;
288
+ name: string;
289
+ description?: string;
290
+ contextWindow?: number;
291
+ maxOutputTokens?: number;
292
+ inputModalities?: string[];
293
+ outputModalities?: string[];
294
+ supportedParameters?: string[];
295
+ };
296
+ ModelPage: {
297
+ data: {
298
+ id: string;
299
+ name: string;
300
+ description?: string;
301
+ contextWindow?: number;
302
+ maxOutputTokens?: number;
303
+ inputModalities?: string[];
304
+ outputModalities?: string[];
305
+ supportedParameters?: string[];
306
+ codingEligible: boolean;
307
+ }[];
308
+ total: number;
309
+ limit: number;
310
+ offset: number;
311
+ refreshedAt: string;
312
+ /** @enum {string} */
313
+ source: "remote" | "manual";
314
+ };
315
+ Catalog: {
316
+ models: {
317
+ id: string;
318
+ name: string;
319
+ description?: string;
320
+ contextWindow?: number;
321
+ maxOutputTokens?: number;
322
+ inputModalities?: string[];
323
+ outputModalities?: string[];
324
+ supportedParameters?: string[];
325
+ }[];
326
+ refreshedAt: string;
327
+ /** @enum {string} */
328
+ source: "remote" | "manual";
329
+ };
330
+ LaunchPlan: {
331
+ provider: {
332
+ id: string;
333
+ name: string;
334
+ baseUrl: string;
335
+ /** @enum {string} */
336
+ protocol: "anthropic-messages" | "openai-responses" | "openai-chat";
337
+ credentialEnv?: string;
338
+ /**
339
+ * @default bearer
340
+ * @enum {string}
341
+ */
342
+ authStyle: "bearer" | "x-api-key";
343
+ /** @default models */
344
+ modelsPath: string;
345
+ /** @default [] */
346
+ manualModels: {
347
+ id: string;
348
+ name: string;
349
+ description?: string;
350
+ contextWindow?: number;
351
+ maxOutputTokens?: number;
352
+ inputModalities?: string[];
353
+ outputModalities?: string[];
354
+ supportedParameters?: string[];
355
+ }[];
356
+ version: number;
357
+ updatedAt: string;
358
+ };
359
+ profile: {
360
+ id: string;
361
+ name: string;
362
+ providerId: string;
363
+ /** @enum {string} */
364
+ harness: "claude" | "codex" | "grok" | "opencode2";
365
+ model: string;
366
+ version: number;
367
+ updatedAt: string;
368
+ };
369
+ catalog: {
370
+ models: {
371
+ id: string;
372
+ name: string;
373
+ description?: string;
374
+ contextWindow?: number;
375
+ maxOutputTokens?: number;
376
+ inputModalities?: string[];
377
+ outputModalities?: string[];
378
+ supportedParameters?: string[];
379
+ }[];
380
+ refreshedAt: string;
381
+ /** @enum {string} */
382
+ source: "remote" | "manual";
383
+ };
384
+ planToken: string;
385
+ warnings: string[];
386
+ };
387
+ RunInput: {
388
+ profileId: string;
389
+ /** @enum {string} */
390
+ harness: "claude" | "codex" | "grok" | "opencode2";
391
+ model: string;
392
+ planToken: string;
393
+ };
394
+ RunUpdate: {
395
+ /** @enum {string} */
396
+ status: "exited" | "failed" | "interrupted";
397
+ exitCode: number;
398
+ };
399
+ Run: {
400
+ profileId: string;
401
+ /** @enum {string} */
402
+ harness: "claude" | "codex" | "grok" | "opencode2";
403
+ model: string;
404
+ planToken: string;
405
+ version: number;
406
+ updatedAt: string;
407
+ providerId: string;
408
+ providerVersion: number;
409
+ profileVersion: number;
410
+ id: string;
411
+ /** @enum {string} */
412
+ status: "running" | "exited" | "failed" | "interrupted";
413
+ startedAt: string;
414
+ endedAt?: string;
415
+ exitCode?: number;
416
+ };
417
+ Health: {
418
+ /** @enum {string} */
419
+ status: "ok" | "degraded" | "unavailable";
420
+ version: string;
421
+ /** @enum {string} */
422
+ backend: "sqlite" | "postgresql";
423
+ };
424
+ Ready: {
425
+ ready: boolean;
426
+ reason?: string;
427
+ };
428
+ Version: {
429
+ version: string;
430
+ };
431
+ LaunchInput: {
432
+ profileId: string;
433
+ };
434
+ Empty: Record<string, never>;
435
+ Error: {
436
+ error: {
437
+ code: string;
438
+ message: string;
439
+ requestId: string;
440
+ };
441
+ };
442
+ };
443
+ responses: never;
444
+ parameters: never;
445
+ requestBodies: never;
446
+ headers: never;
447
+ pathItems: never;
448
+ }
449
+ export type $defs = Record<string, never>;
450
+ export interface operations {
451
+ listProviders: {
452
+ parameters: {
453
+ query?: {
454
+ limit?: number;
455
+ offset?: number;
456
+ search?: string;
457
+ };
458
+ header?: never;
459
+ path?: never;
460
+ cookie?: never;
461
+ };
462
+ requestBody?: never;
463
+ responses: {
464
+ /** @description Success */
465
+ 200: {
466
+ headers: {
467
+ [name: string]: unknown;
468
+ };
469
+ content: {
470
+ "application/json": {
471
+ data: components["schemas"]["Provider"][];
472
+ total: number;
473
+ limit: number;
474
+ offset: number;
475
+ };
476
+ };
477
+ };
478
+ /** @description Structured error */
479
+ default: {
480
+ headers: {
481
+ [name: string]: unknown;
482
+ };
483
+ content: {
484
+ "application/json": components["schemas"]["Error"];
485
+ };
486
+ };
487
+ };
488
+ };
489
+ createProvider: {
490
+ parameters: {
491
+ query?: never;
492
+ header: {
493
+ "Idempotency-Key": string;
494
+ };
495
+ path?: never;
496
+ cookie?: never;
497
+ };
498
+ requestBody: {
499
+ content: {
500
+ "application/json": components["schemas"]["ProviderInput"];
501
+ };
502
+ };
503
+ responses: {
504
+ /** @description Success */
505
+ 201: {
506
+ headers: {
507
+ [name: string]: unknown;
508
+ };
509
+ content: {
510
+ "application/json": components["schemas"]["Provider"];
511
+ };
512
+ };
513
+ /** @description Structured error */
514
+ default: {
515
+ headers: {
516
+ [name: string]: unknown;
517
+ };
518
+ content: {
519
+ "application/json": components["schemas"]["Error"];
520
+ };
521
+ };
522
+ };
523
+ };
524
+ getProvider: {
525
+ parameters: {
526
+ query?: never;
527
+ header?: never;
528
+ path: {
529
+ id: string;
530
+ };
531
+ cookie?: never;
532
+ };
533
+ requestBody?: never;
534
+ responses: {
535
+ /** @description Success */
536
+ 200: {
537
+ headers: {
538
+ [name: string]: unknown;
539
+ };
540
+ content: {
541
+ "application/json": components["schemas"]["Provider"];
542
+ };
543
+ };
544
+ /** @description Structured error */
545
+ default: {
546
+ headers: {
547
+ [name: string]: unknown;
548
+ };
549
+ content: {
550
+ "application/json": components["schemas"]["Error"];
551
+ };
552
+ };
553
+ };
554
+ };
555
+ updateProvider: {
556
+ parameters: {
557
+ query?: never;
558
+ header: {
559
+ "Idempotency-Key": string;
560
+ "If-Match": number;
561
+ };
562
+ path: {
563
+ id: string;
564
+ };
565
+ cookie?: never;
566
+ };
567
+ requestBody: {
568
+ content: {
569
+ "application/json": components["schemas"]["ProviderInput"];
570
+ };
571
+ };
572
+ responses: {
573
+ /** @description Success */
574
+ 200: {
575
+ headers: {
576
+ [name: string]: unknown;
577
+ };
578
+ content: {
579
+ "application/json": components["schemas"]["Provider"];
580
+ };
581
+ };
582
+ /** @description Structured error */
583
+ default: {
584
+ headers: {
585
+ [name: string]: unknown;
586
+ };
587
+ content: {
588
+ "application/json": components["schemas"]["Error"];
589
+ };
590
+ };
591
+ };
592
+ };
593
+ deleteProvider: {
594
+ parameters: {
595
+ query?: never;
596
+ header: {
597
+ "Idempotency-Key": string;
598
+ "If-Match": number;
599
+ };
600
+ path: {
601
+ id: string;
602
+ };
603
+ cookie?: never;
604
+ };
605
+ requestBody?: never;
606
+ responses: {
607
+ /** @description Success */
608
+ 200: {
609
+ headers: {
610
+ [name: string]: unknown;
611
+ };
612
+ content: {
613
+ "application/json": {
614
+ deleted: string;
615
+ };
616
+ };
617
+ };
618
+ /** @description Structured error */
619
+ default: {
620
+ headers: {
621
+ [name: string]: unknown;
622
+ };
623
+ content: {
624
+ "application/json": components["schemas"]["Error"];
625
+ };
626
+ };
627
+ };
628
+ };
629
+ listProfiles: {
630
+ parameters: {
631
+ query?: {
632
+ limit?: number;
633
+ offset?: number;
634
+ search?: string;
635
+ };
636
+ header?: never;
637
+ path?: never;
638
+ cookie?: never;
639
+ };
640
+ requestBody?: never;
641
+ responses: {
642
+ /** @description Success */
643
+ 200: {
644
+ headers: {
645
+ [name: string]: unknown;
646
+ };
647
+ content: {
648
+ "application/json": {
649
+ data: components["schemas"]["Profile"][];
650
+ total: number;
651
+ limit: number;
652
+ offset: number;
653
+ };
654
+ };
655
+ };
656
+ /** @description Structured error */
657
+ default: {
658
+ headers: {
659
+ [name: string]: unknown;
660
+ };
661
+ content: {
662
+ "application/json": components["schemas"]["Error"];
663
+ };
664
+ };
665
+ };
666
+ };
667
+ createProfile: {
668
+ parameters: {
669
+ query?: never;
670
+ header: {
671
+ "Idempotency-Key": string;
672
+ };
673
+ path?: never;
674
+ cookie?: never;
675
+ };
676
+ requestBody: {
677
+ content: {
678
+ "application/json": components["schemas"]["ProfileInput"];
679
+ };
680
+ };
681
+ responses: {
682
+ /** @description Success */
683
+ 201: {
684
+ headers: {
685
+ [name: string]: unknown;
686
+ };
687
+ content: {
688
+ "application/json": components["schemas"]["Profile"];
689
+ };
690
+ };
691
+ /** @description Structured error */
692
+ default: {
693
+ headers: {
694
+ [name: string]: unknown;
695
+ };
696
+ content: {
697
+ "application/json": components["schemas"]["Error"];
698
+ };
699
+ };
700
+ };
701
+ };
702
+ getProfile: {
703
+ parameters: {
704
+ query?: never;
705
+ header?: never;
706
+ path: {
707
+ id: string;
708
+ };
709
+ cookie?: never;
710
+ };
711
+ requestBody?: never;
712
+ responses: {
713
+ /** @description Success */
714
+ 200: {
715
+ headers: {
716
+ [name: string]: unknown;
717
+ };
718
+ content: {
719
+ "application/json": components["schemas"]["Profile"];
720
+ };
721
+ };
722
+ /** @description Structured error */
723
+ default: {
724
+ headers: {
725
+ [name: string]: unknown;
726
+ };
727
+ content: {
728
+ "application/json": components["schemas"]["Error"];
729
+ };
730
+ };
731
+ };
732
+ };
733
+ updateProfile: {
734
+ parameters: {
735
+ query?: never;
736
+ header: {
737
+ "Idempotency-Key": string;
738
+ "If-Match": number;
739
+ };
740
+ path: {
741
+ id: string;
742
+ };
743
+ cookie?: never;
744
+ };
745
+ requestBody: {
746
+ content: {
747
+ "application/json": components["schemas"]["ProfileInput"];
748
+ };
749
+ };
750
+ responses: {
751
+ /** @description Success */
752
+ 200: {
753
+ headers: {
754
+ [name: string]: unknown;
755
+ };
756
+ content: {
757
+ "application/json": components["schemas"]["Profile"];
758
+ };
759
+ };
760
+ /** @description Structured error */
761
+ default: {
762
+ headers: {
763
+ [name: string]: unknown;
764
+ };
765
+ content: {
766
+ "application/json": components["schemas"]["Error"];
767
+ };
768
+ };
769
+ };
770
+ };
771
+ deleteProfile: {
772
+ parameters: {
773
+ query?: never;
774
+ header: {
775
+ "Idempotency-Key": string;
776
+ "If-Match": number;
777
+ };
778
+ path: {
779
+ id: string;
780
+ };
781
+ cookie?: never;
782
+ };
783
+ requestBody?: never;
784
+ responses: {
785
+ /** @description Success */
786
+ 200: {
787
+ headers: {
788
+ [name: string]: unknown;
789
+ };
790
+ content: {
791
+ "application/json": {
792
+ deleted: string;
793
+ };
794
+ };
795
+ };
796
+ /** @description Structured error */
797
+ default: {
798
+ headers: {
799
+ [name: string]: unknown;
800
+ };
801
+ content: {
802
+ "application/json": components["schemas"]["Error"];
803
+ };
804
+ };
805
+ };
806
+ };
807
+ listModels: {
808
+ parameters: {
809
+ query?: {
810
+ limit?: number;
811
+ offset?: number;
812
+ search?: string;
813
+ };
814
+ header?: never;
815
+ path: {
816
+ id: string;
817
+ };
818
+ cookie?: never;
819
+ };
820
+ requestBody?: never;
821
+ responses: {
822
+ /** @description Success */
823
+ 200: {
824
+ headers: {
825
+ [name: string]: unknown;
826
+ };
827
+ content: {
828
+ "application/json": components["schemas"]["ModelPage"];
829
+ };
830
+ };
831
+ /** @description Structured error */
832
+ default: {
833
+ headers: {
834
+ [name: string]: unknown;
835
+ };
836
+ content: {
837
+ "application/json": components["schemas"]["Error"];
838
+ };
839
+ };
840
+ };
841
+ };
842
+ refreshModels: {
843
+ parameters: {
844
+ query?: never;
845
+ header: {
846
+ "Idempotency-Key": string;
847
+ };
848
+ path: {
849
+ id: string;
850
+ };
851
+ cookie?: never;
852
+ };
853
+ requestBody: {
854
+ content: {
855
+ "application/json": components["schemas"]["Empty"];
856
+ };
857
+ };
858
+ responses: {
859
+ /** @description Success */
860
+ 200: {
861
+ headers: {
862
+ [name: string]: unknown;
863
+ };
864
+ content: {
865
+ "application/json": components["schemas"]["Catalog"];
866
+ };
867
+ };
868
+ /** @description Structured error */
869
+ default: {
870
+ headers: {
871
+ [name: string]: unknown;
872
+ };
873
+ content: {
874
+ "application/json": components["schemas"]["Error"];
875
+ };
876
+ };
877
+ };
878
+ };
879
+ launchPlan: {
880
+ parameters: {
881
+ query?: never;
882
+ header: {
883
+ "Idempotency-Key": string;
884
+ };
885
+ path?: never;
886
+ cookie?: never;
887
+ };
888
+ requestBody: {
889
+ content: {
890
+ "application/json": components["schemas"]["LaunchInput"];
891
+ };
892
+ };
893
+ responses: {
894
+ /** @description Success */
895
+ 200: {
896
+ headers: {
897
+ [name: string]: unknown;
898
+ };
899
+ content: {
900
+ "application/json": components["schemas"]["LaunchPlan"];
901
+ };
902
+ };
903
+ /** @description Structured error */
904
+ default: {
905
+ headers: {
906
+ [name: string]: unknown;
907
+ };
908
+ content: {
909
+ "application/json": components["schemas"]["Error"];
910
+ };
911
+ };
912
+ };
913
+ };
914
+ listRuns: {
915
+ parameters: {
916
+ query?: {
917
+ limit?: number;
918
+ offset?: number;
919
+ search?: string;
920
+ };
921
+ header?: never;
922
+ path?: never;
923
+ cookie?: never;
924
+ };
925
+ requestBody?: never;
926
+ responses: {
927
+ /** @description Success */
928
+ 200: {
929
+ headers: {
930
+ [name: string]: unknown;
931
+ };
932
+ content: {
933
+ "application/json": {
934
+ data: components["schemas"]["Run"][];
935
+ total: number;
936
+ limit: number;
937
+ offset: number;
938
+ };
939
+ };
940
+ };
941
+ /** @description Structured error */
942
+ default: {
943
+ headers: {
944
+ [name: string]: unknown;
945
+ };
946
+ content: {
947
+ "application/json": components["schemas"]["Error"];
948
+ };
949
+ };
950
+ };
951
+ };
952
+ createRun: {
953
+ parameters: {
954
+ query?: never;
955
+ header: {
956
+ "Idempotency-Key": string;
957
+ };
958
+ path?: never;
959
+ cookie?: never;
960
+ };
961
+ requestBody: {
962
+ content: {
963
+ "application/json": components["schemas"]["RunInput"];
964
+ };
965
+ };
966
+ responses: {
967
+ /** @description Success */
968
+ 201: {
969
+ headers: {
970
+ [name: string]: unknown;
971
+ };
972
+ content: {
973
+ "application/json": components["schemas"]["Run"];
974
+ };
975
+ };
976
+ /** @description Structured error */
977
+ default: {
978
+ headers: {
979
+ [name: string]: unknown;
980
+ };
981
+ content: {
982
+ "application/json": components["schemas"]["Error"];
983
+ };
984
+ };
985
+ };
986
+ };
987
+ getRun: {
988
+ parameters: {
989
+ query?: never;
990
+ header?: never;
991
+ path: {
992
+ id: string;
993
+ };
994
+ cookie?: never;
995
+ };
996
+ requestBody?: never;
997
+ responses: {
998
+ /** @description Success */
999
+ 200: {
1000
+ headers: {
1001
+ [name: string]: unknown;
1002
+ };
1003
+ content: {
1004
+ "application/json": components["schemas"]["Run"];
1005
+ };
1006
+ };
1007
+ /** @description Structured error */
1008
+ default: {
1009
+ headers: {
1010
+ [name: string]: unknown;
1011
+ };
1012
+ content: {
1013
+ "application/json": components["schemas"]["Error"];
1014
+ };
1015
+ };
1016
+ };
1017
+ };
1018
+ finishRun: {
1019
+ parameters: {
1020
+ query?: never;
1021
+ header: {
1022
+ "Idempotency-Key": string;
1023
+ "If-Match": number;
1024
+ };
1025
+ path: {
1026
+ id: string;
1027
+ };
1028
+ cookie?: never;
1029
+ };
1030
+ requestBody: {
1031
+ content: {
1032
+ "application/json": components["schemas"]["RunUpdate"];
1033
+ };
1034
+ };
1035
+ responses: {
1036
+ /** @description Success */
1037
+ 200: {
1038
+ headers: {
1039
+ [name: string]: unknown;
1040
+ };
1041
+ content: {
1042
+ "application/json": components["schemas"]["Run"];
1043
+ };
1044
+ };
1045
+ /** @description Structured error */
1046
+ default: {
1047
+ headers: {
1048
+ [name: string]: unknown;
1049
+ };
1050
+ content: {
1051
+ "application/json": components["schemas"]["Error"];
1052
+ };
1053
+ };
1054
+ };
1055
+ };
1056
+ health: {
1057
+ parameters: {
1058
+ query?: never;
1059
+ header?: never;
1060
+ path?: never;
1061
+ cookie?: never;
1062
+ };
1063
+ requestBody?: never;
1064
+ responses: {
1065
+ /** @description Success */
1066
+ 200: {
1067
+ headers: {
1068
+ [name: string]: unknown;
1069
+ };
1070
+ content: {
1071
+ "application/json": components["schemas"]["Health"];
1072
+ };
1073
+ };
1074
+ /** @description Structured error */
1075
+ default: {
1076
+ headers: {
1077
+ [name: string]: unknown;
1078
+ };
1079
+ content: {
1080
+ "application/json": components["schemas"]["Error"];
1081
+ };
1082
+ };
1083
+ };
1084
+ };
1085
+ ready: {
1086
+ parameters: {
1087
+ query?: never;
1088
+ header?: never;
1089
+ path?: never;
1090
+ cookie?: never;
1091
+ };
1092
+ requestBody?: never;
1093
+ responses: {
1094
+ /** @description Success */
1095
+ 200: {
1096
+ headers: {
1097
+ [name: string]: unknown;
1098
+ };
1099
+ content: {
1100
+ "application/json": components["schemas"]["Ready"];
1101
+ };
1102
+ };
1103
+ /** @description Structured error */
1104
+ default: {
1105
+ headers: {
1106
+ [name: string]: unknown;
1107
+ };
1108
+ content: {
1109
+ "application/json": components["schemas"]["Error"];
1110
+ };
1111
+ };
1112
+ };
1113
+ };
1114
+ version: {
1115
+ parameters: {
1116
+ query?: never;
1117
+ header?: never;
1118
+ path?: never;
1119
+ cookie?: never;
1120
+ };
1121
+ requestBody?: never;
1122
+ responses: {
1123
+ /** @description Success */
1124
+ 200: {
1125
+ headers: {
1126
+ [name: string]: unknown;
1127
+ };
1128
+ content: {
1129
+ "application/json": components["schemas"]["Version"];
1130
+ };
1131
+ };
1132
+ /** @description Structured error */
1133
+ default: {
1134
+ headers: {
1135
+ [name: string]: unknown;
1136
+ };
1137
+ content: {
1138
+ "application/json": components["schemas"]["Error"];
1139
+ };
1140
+ };
1141
+ };
1142
+ };
1143
+ openApi: {
1144
+ parameters: {
1145
+ query?: never;
1146
+ header?: never;
1147
+ path?: never;
1148
+ cookie?: never;
1149
+ };
1150
+ requestBody?: never;
1151
+ responses: {
1152
+ /** @description Success */
1153
+ 200: {
1154
+ headers: {
1155
+ [name: string]: unknown;
1156
+ };
1157
+ content: {
1158
+ "application/json": {
1159
+ [key: string]: unknown;
1160
+ };
1161
+ };
1162
+ };
1163
+ /** @description Structured error */
1164
+ default: {
1165
+ headers: {
1166
+ [name: string]: unknown;
1167
+ };
1168
+ content: {
1169
+ "application/json": components["schemas"]["Error"];
1170
+ };
1171
+ };
1172
+ };
1173
+ };
1174
+ }