@klex/agent-admin-api 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +30 -0
  2. package/dist/index.d.ts +1101 -687
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -15,6 +15,15 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
15
15
  } & {
16
16
  "/v1/cloud/status": {
17
17
  $get: {
18
+ output: {
19
+ error: string;
20
+ code: string;
21
+ remediation?: string | undefined;
22
+ };
23
+ outputFormat: "json";
24
+ status: 500;
25
+ input: {};
26
+ } | {
18
27
  output: {
19
28
  cloudEnabled: boolean;
20
29
  enrolled: boolean;
@@ -26,14 +35,6 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
26
35
  outputFormat: "json";
27
36
  status: 200;
28
37
  input: {};
29
- } | {
30
- output: {
31
- error: string;
32
- code: string;
33
- };
34
- outputFormat: "json";
35
- status: 500;
36
- input: {};
37
38
  };
38
39
  };
39
40
  } & {
@@ -42,6 +43,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
42
43
  output: {
43
44
  error: string;
44
45
  code: string;
46
+ remediation?: string | undefined;
45
47
  };
46
48
  outputFormat: "json";
47
49
  status: 400;
@@ -54,6 +56,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
54
56
  output: {
55
57
  error: string;
56
58
  code: string;
59
+ remediation?: string | undefined;
57
60
  };
58
61
  outputFormat: "json";
59
62
  status: 500;
@@ -93,6 +96,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
93
96
  output: {
94
97
  error: string;
95
98
  code: string;
99
+ remediation?: string | undefined;
96
100
  };
97
101
  outputFormat: "json";
98
102
  status: 400;
@@ -105,6 +109,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
105
109
  output: {
106
110
  error: string;
107
111
  code: string;
112
+ remediation?: string | undefined;
108
113
  };
109
114
  outputFormat: "json";
110
115
  status: 500;
@@ -132,46 +137,86 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
132
137
  output: {
133
138
  error: string;
134
139
  code: string;
140
+ remediation?: string | undefined;
135
141
  };
136
142
  outputFormat: "json";
137
143
  status: 500;
138
144
  input: {};
139
145
  } | {
140
146
  output: {
141
- chat: ({
142
- model: `${string}:${string}`;
147
+ chat: {
148
+ providerId: string;
149
+ modelId: string;
143
150
  providerOptions?: {
144
- [x: string]: import("hono/utils/types").JSONValue;
151
+ [x: string]: {
152
+ [x: string]: import("hono/utils/types").JSONValue;
153
+ };
145
154
  } | undefined;
146
- } | `${string}:${string}`)[];
147
- compaction: ({
148
- model: `${string}:${string}`;
155
+ }[];
156
+ compaction: {
157
+ providerId: string;
158
+ modelId: string;
149
159
  providerOptions?: {
150
- [x: string]: import("hono/utils/types").JSONValue;
160
+ [x: string]: {
161
+ [x: string]: import("hono/utils/types").JSONValue;
162
+ };
151
163
  } | undefined;
152
- } | `${string}:${string}`)[];
153
- memory: ({
154
- model: `${string}:${string}`;
164
+ }[];
165
+ memory: {
166
+ providerId: string;
167
+ modelId: string;
155
168
  providerOptions?: {
156
- [x: string]: import("hono/utils/types").JSONValue;
169
+ [x: string]: {
170
+ [x: string]: import("hono/utils/types").JSONValue;
171
+ };
157
172
  } | undefined;
158
- } | `${string}:${string}`)[];
159
- imageVision: ({
160
- model: `${string}:${string}`;
173
+ }[];
174
+ imageVision: {
175
+ providerId: string;
176
+ modelId: string;
161
177
  providerOptions?: {
162
- [x: string]: import("hono/utils/types").JSONValue;
178
+ [x: string]: {
179
+ [x: string]: import("hono/utils/types").JSONValue;
180
+ };
163
181
  } | undefined;
164
- } | `${string}:${string}`)[];
165
- audioListening: ({
166
- model: `${string}:${string}`;
182
+ }[];
183
+ audioListening: {
184
+ providerId: string;
185
+ modelId: string;
167
186
  providerOptions?: {
168
- [x: string]: import("hono/utils/types").JSONValue;
187
+ [x: string]: {
188
+ [x: string]: import("hono/utils/types").JSONValue;
189
+ };
169
190
  } | undefined;
170
- } | `${string}:${string}`)[];
191
+ }[];
171
192
  voice: {
172
- sts: `${string}:${string}`[];
173
- tts: `${string}:${string}`[];
174
- stt: `${string}:${string}`[];
193
+ sts: {
194
+ providerId: string;
195
+ modelId: string;
196
+ providerOptions?: {
197
+ [x: string]: {
198
+ [x: string]: import("hono/utils/types").JSONValue;
199
+ };
200
+ } | undefined;
201
+ }[];
202
+ tts: {
203
+ providerId: string;
204
+ modelId: string;
205
+ providerOptions?: {
206
+ [x: string]: {
207
+ [x: string]: import("hono/utils/types").JSONValue;
208
+ };
209
+ } | undefined;
210
+ }[];
211
+ stt: {
212
+ providerId: string;
213
+ modelId: string;
214
+ providerOptions?: {
215
+ [x: string]: {
216
+ [x: string]: import("hono/utils/types").JSONValue;
217
+ };
218
+ } | undefined;
219
+ }[];
175
220
  };
176
221
  };
177
222
  outputFormat: "json";
@@ -185,20 +230,53 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
185
230
  output: {
186
231
  error: string;
187
232
  code: string;
233
+ remediation?: string | undefined;
188
234
  };
189
235
  outputFormat: "json";
190
236
  status: 400;
191
237
  input: {
192
238
  json: {
193
- chat?: unknown[] | undefined;
194
- compaction?: unknown[] | undefined;
195
- memory?: unknown[] | undefined;
196
- imageVision?: unknown[] | undefined;
197
- audioListening?: unknown[] | undefined;
239
+ chat?: {
240
+ providerId: string;
241
+ modelId: string;
242
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
243
+ }[] | undefined;
244
+ compaction?: {
245
+ providerId: string;
246
+ modelId: string;
247
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
248
+ }[] | undefined;
249
+ memory?: {
250
+ providerId: string;
251
+ modelId: string;
252
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
253
+ }[] | undefined;
254
+ imageVision?: {
255
+ providerId: string;
256
+ modelId: string;
257
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
258
+ }[] | undefined;
259
+ audioListening?: {
260
+ providerId: string;
261
+ modelId: string;
262
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
263
+ }[] | undefined;
198
264
  voice?: {
199
- sts: unknown[];
200
- tts: unknown[];
201
- stt: unknown[];
265
+ sts: {
266
+ providerId: string;
267
+ modelId: string;
268
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
269
+ }[];
270
+ tts: {
271
+ providerId: string;
272
+ modelId: string;
273
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
274
+ }[];
275
+ stt: {
276
+ providerId: string;
277
+ modelId: string;
278
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
279
+ }[];
202
280
  } | undefined;
203
281
  };
204
282
  };
@@ -206,59 +284,131 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
206
284
  output: {
207
285
  error: string;
208
286
  code: string;
287
+ remediation?: string | undefined;
209
288
  };
210
289
  outputFormat: "json";
211
290
  status: 500;
212
291
  input: {
213
292
  json: {
214
- chat?: unknown[] | undefined;
215
- compaction?: unknown[] | undefined;
216
- memory?: unknown[] | undefined;
217
- imageVision?: unknown[] | undefined;
218
- audioListening?: unknown[] | undefined;
293
+ chat?: {
294
+ providerId: string;
295
+ modelId: string;
296
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
297
+ }[] | undefined;
298
+ compaction?: {
299
+ providerId: string;
300
+ modelId: string;
301
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
302
+ }[] | undefined;
303
+ memory?: {
304
+ providerId: string;
305
+ modelId: string;
306
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
307
+ }[] | undefined;
308
+ imageVision?: {
309
+ providerId: string;
310
+ modelId: string;
311
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
312
+ }[] | undefined;
313
+ audioListening?: {
314
+ providerId: string;
315
+ modelId: string;
316
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
317
+ }[] | undefined;
219
318
  voice?: {
220
- sts: unknown[];
221
- tts: unknown[];
222
- stt: unknown[];
319
+ sts: {
320
+ providerId: string;
321
+ modelId: string;
322
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
323
+ }[];
324
+ tts: {
325
+ providerId: string;
326
+ modelId: string;
327
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
328
+ }[];
329
+ stt: {
330
+ providerId: string;
331
+ modelId: string;
332
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
333
+ }[];
223
334
  } | undefined;
224
335
  };
225
336
  };
226
337
  } | {
227
338
  output: {
228
- chat: ({
229
- model: `${string}:${string}`;
339
+ chat: {
340
+ providerId: string;
341
+ modelId: string;
230
342
  providerOptions?: {
231
- [x: string]: import("hono/utils/types").JSONValue;
343
+ [x: string]: {
344
+ [x: string]: import("hono/utils/types").JSONValue;
345
+ };
232
346
  } | undefined;
233
- } | `${string}:${string}`)[];
234
- compaction: ({
235
- model: `${string}:${string}`;
347
+ }[];
348
+ compaction: {
349
+ providerId: string;
350
+ modelId: string;
236
351
  providerOptions?: {
237
- [x: string]: import("hono/utils/types").JSONValue;
352
+ [x: string]: {
353
+ [x: string]: import("hono/utils/types").JSONValue;
354
+ };
238
355
  } | undefined;
239
- } | `${string}:${string}`)[];
240
- memory: ({
241
- model: `${string}:${string}`;
356
+ }[];
357
+ memory: {
358
+ providerId: string;
359
+ modelId: string;
242
360
  providerOptions?: {
243
- [x: string]: import("hono/utils/types").JSONValue;
361
+ [x: string]: {
362
+ [x: string]: import("hono/utils/types").JSONValue;
363
+ };
244
364
  } | undefined;
245
- } | `${string}:${string}`)[];
246
- imageVision: ({
247
- model: `${string}:${string}`;
365
+ }[];
366
+ imageVision: {
367
+ providerId: string;
368
+ modelId: string;
248
369
  providerOptions?: {
249
- [x: string]: import("hono/utils/types").JSONValue;
370
+ [x: string]: {
371
+ [x: string]: import("hono/utils/types").JSONValue;
372
+ };
250
373
  } | undefined;
251
- } | `${string}:${string}`)[];
252
- audioListening: ({
253
- model: `${string}:${string}`;
374
+ }[];
375
+ audioListening: {
376
+ providerId: string;
377
+ modelId: string;
254
378
  providerOptions?: {
255
- [x: string]: import("hono/utils/types").JSONValue;
379
+ [x: string]: {
380
+ [x: string]: import("hono/utils/types").JSONValue;
381
+ };
256
382
  } | undefined;
257
- } | `${string}:${string}`)[];
383
+ }[];
258
384
  voice: {
259
- sts: `${string}:${string}`[];
260
- tts: `${string}:${string}`[];
261
- stt: `${string}:${string}`[];
385
+ sts: {
386
+ providerId: string;
387
+ modelId: string;
388
+ providerOptions?: {
389
+ [x: string]: {
390
+ [x: string]: import("hono/utils/types").JSONValue;
391
+ };
392
+ } | undefined;
393
+ }[];
394
+ tts: {
395
+ providerId: string;
396
+ modelId: string;
397
+ providerOptions?: {
398
+ [x: string]: {
399
+ [x: string]: import("hono/utils/types").JSONValue;
400
+ };
401
+ } | undefined;
402
+ }[];
403
+ stt: {
404
+ providerId: string;
405
+ modelId: string;
406
+ providerOptions?: {
407
+ [x: string]: {
408
+ [x: string]: import("hono/utils/types").JSONValue;
409
+ };
410
+ } | undefined;
411
+ }[];
262
412
  };
263
413
  warnings: {
264
414
  modelId: string;
@@ -269,15 +419,47 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
269
419
  status: 200;
270
420
  input: {
271
421
  json: {
272
- chat?: unknown[] | undefined;
273
- compaction?: unknown[] | undefined;
274
- memory?: unknown[] | undefined;
275
- imageVision?: unknown[] | undefined;
276
- audioListening?: unknown[] | undefined;
422
+ chat?: {
423
+ providerId: string;
424
+ modelId: string;
425
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
426
+ }[] | undefined;
427
+ compaction?: {
428
+ providerId: string;
429
+ modelId: string;
430
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
431
+ }[] | undefined;
432
+ memory?: {
433
+ providerId: string;
434
+ modelId: string;
435
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
436
+ }[] | undefined;
437
+ imageVision?: {
438
+ providerId: string;
439
+ modelId: string;
440
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
441
+ }[] | undefined;
442
+ audioListening?: {
443
+ providerId: string;
444
+ modelId: string;
445
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
446
+ }[] | undefined;
277
447
  voice?: {
278
- sts: unknown[];
279
- tts: unknown[];
280
- stt: unknown[];
448
+ sts: {
449
+ providerId: string;
450
+ modelId: string;
451
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
452
+ }[];
453
+ tts: {
454
+ providerId: string;
455
+ modelId: string;
456
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
457
+ }[];
458
+ stt: {
459
+ providerId: string;
460
+ modelId: string;
461
+ providerOptions?: Record<string, Record<string, unknown>> | undefined;
462
+ }[];
281
463
  } | undefined;
282
464
  };
283
465
  };
@@ -289,6 +471,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
289
471
  output: {
290
472
  error: string;
291
473
  code: string;
474
+ remediation?: string | undefined;
292
475
  };
293
476
  outputFormat: "json";
294
477
  status: 500;
@@ -308,6 +491,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
308
491
  output: {
309
492
  error: string;
310
493
  code: string;
494
+ remediation?: string | undefined;
311
495
  };
312
496
  outputFormat: "json";
313
497
  status: 400;
@@ -320,6 +504,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
320
504
  output: {
321
505
  error: string;
322
506
  code: string;
507
+ remediation?: string | undefined;
323
508
  };
324
509
  outputFormat: "json";
325
510
  status: 500;
@@ -347,6 +532,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
347
532
  output: {
348
533
  error: string;
349
534
  code: string;
535
+ remediation?: string | undefined;
350
536
  };
351
537
  outputFormat: "json";
352
538
  status: 500;
@@ -374,6 +560,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
374
560
  output: {
375
561
  error: string;
376
562
  code: string;
563
+ remediation?: string | undefined;
377
564
  };
378
565
  outputFormat: "json";
379
566
  status: 500;
@@ -412,6 +599,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
412
599
  output: {
413
600
  error: string;
414
601
  code: string;
602
+ remediation?: string | undefined;
415
603
  };
416
604
  outputFormat: "json";
417
605
  status: 404;
@@ -424,6 +612,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
424
612
  output: {
425
613
  error: string;
426
614
  code: string;
615
+ remediation?: string | undefined;
427
616
  };
428
617
  outputFormat: "json";
429
618
  status: 500;
@@ -470,6 +659,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
470
659
  output: {
471
660
  error: string;
472
661
  code: string;
662
+ remediation?: string | undefined;
473
663
  };
474
664
  outputFormat: "json";
475
665
  status: 400;
@@ -497,6 +687,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
497
687
  output: {
498
688
  error: string;
499
689
  code: string;
690
+ remediation?: string | undefined;
500
691
  };
501
692
  outputFormat: "json";
502
693
  status: 409;
@@ -524,6 +715,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
524
715
  output: {
525
716
  error: string;
526
717
  code: string;
718
+ remediation?: string | undefined;
527
719
  };
528
720
  outputFormat: "json";
529
721
  status: 500;
@@ -600,6 +792,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
600
792
  output: {
601
793
  error: string;
602
794
  code: string;
795
+ remediation?: string | undefined;
603
796
  };
604
797
  outputFormat: "json";
605
798
  status: 400;
@@ -629,6 +822,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
629
822
  output: {
630
823
  error: string;
631
824
  code: string;
825
+ remediation?: string | undefined;
632
826
  };
633
827
  outputFormat: "json";
634
828
  status: 404;
@@ -658,6 +852,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
658
852
  output: {
659
853
  error: string;
660
854
  code: string;
855
+ remediation?: string | undefined;
661
856
  };
662
857
  outputFormat: "json";
663
858
  status: 500;
@@ -738,6 +933,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
738
933
  output: {
739
934
  error: string;
740
935
  code: string;
936
+ remediation?: string | undefined;
741
937
  };
742
938
  outputFormat: "json";
743
939
  status: 404;
@@ -750,6 +946,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
750
946
  output: {
751
947
  error: string;
752
948
  code: string;
949
+ remediation?: string | undefined;
753
950
  };
754
951
  outputFormat: "json";
755
952
  status: 500;
@@ -796,6 +993,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
796
993
  output: {
797
994
  error: string;
798
995
  code: string;
996
+ remediation?: string | undefined;
799
997
  };
800
998
  outputFormat: "json";
801
999
  status: 500;
@@ -835,6 +1033,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
835
1033
  output: {
836
1034
  error: string;
837
1035
  code: string;
1036
+ remediation?: string | undefined;
838
1037
  };
839
1038
  outputFormat: "json";
840
1039
  status: 404;
@@ -847,6 +1046,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
847
1046
  output: {
848
1047
  error: string;
849
1048
  code: string;
1049
+ remediation?: string | undefined;
850
1050
  };
851
1051
  outputFormat: "json";
852
1052
  status: 409;
@@ -859,6 +1059,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
859
1059
  output: {
860
1060
  error: string;
861
1061
  code: string;
1062
+ remediation?: string | undefined;
862
1063
  };
863
1064
  outputFormat: "json";
864
1065
  status: 503;
@@ -871,6 +1072,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
871
1072
  output: {
872
1073
  error: string;
873
1074
  code: string;
1075
+ remediation?: string | undefined;
874
1076
  };
875
1077
  outputFormat: "json";
876
1078
  status: 504;
@@ -903,6 +1105,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
903
1105
  output: {
904
1106
  error: string;
905
1107
  code: string;
1108
+ remediation?: string | undefined;
906
1109
  };
907
1110
  outputFormat: "json";
908
1111
  status: 404;
@@ -928,6 +1131,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
928
1131
  output: {
929
1132
  error: string;
930
1133
  code: string;
1134
+ remediation?: string | undefined;
931
1135
  };
932
1136
  outputFormat: "json";
933
1137
  status: 400;
@@ -943,6 +1147,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
943
1147
  output: {
944
1148
  error: string;
945
1149
  code: string;
1150
+ remediation?: string | undefined;
946
1151
  };
947
1152
  outputFormat: "json";
948
1153
  status: 404;
@@ -971,114 +1176,264 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
971
1176
  };
972
1177
  };
973
1178
  } & {
974
- "/v1/usage": {
975
- $get: {
1179
+ "/v1/god-messages": {
1180
+ $post: {
1181
+ output: {
1182
+ sessionId: string;
1183
+ };
1184
+ outputFormat: "json";
1185
+ status: 202;
1186
+ input: {
1187
+ json: {
1188
+ content: ({
1189
+ type: "text";
1190
+ text: string;
1191
+ } | {
1192
+ type: "image";
1193
+ mimeType: string;
1194
+ data: string;
1195
+ } | {
1196
+ type: "audio";
1197
+ mimeType: string;
1198
+ data: string;
1199
+ } | {
1200
+ type: "resource_link";
1201
+ uri: string;
1202
+ name: string;
1203
+ title?: string | undefined;
1204
+ description?: string | undefined;
1205
+ mimeType?: string | undefined;
1206
+ size?: number | undefined;
1207
+ } | {
1208
+ type: "resource";
1209
+ resource: {
1210
+ uri: string;
1211
+ mimeType?: string | undefined;
1212
+ text?: string | undefined;
1213
+ blob?: string | undefined;
1214
+ };
1215
+ })[];
1216
+ };
1217
+ };
1218
+ } | {
976
1219
  output: {
977
1220
  error: string;
978
1221
  code: string;
1222
+ remediation?: string | undefined;
979
1223
  };
980
1224
  outputFormat: "json";
981
1225
  status: 400;
982
1226
  input: {
983
- query: {
984
- splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
985
- from?: string | undefined;
986
- to?: string | undefined;
987
- granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
988
- limit?: unknown;
1227
+ json: {
1228
+ content: ({
1229
+ type: "text";
1230
+ text: string;
1231
+ } | {
1232
+ type: "image";
1233
+ mimeType: string;
1234
+ data: string;
1235
+ } | {
1236
+ type: "audio";
1237
+ mimeType: string;
1238
+ data: string;
1239
+ } | {
1240
+ type: "resource_link";
1241
+ uri: string;
1242
+ name: string;
1243
+ title?: string | undefined;
1244
+ description?: string | undefined;
1245
+ mimeType?: string | undefined;
1246
+ size?: number | undefined;
1247
+ } | {
1248
+ type: "resource";
1249
+ resource: {
1250
+ uri: string;
1251
+ mimeType?: string | undefined;
1252
+ text?: string | undefined;
1253
+ blob?: string | undefined;
1254
+ };
1255
+ })[];
1256
+ };
1257
+ };
1258
+ } | {
1259
+ output: {
1260
+ error: string;
1261
+ code: string;
1262
+ remediation?: string | undefined;
1263
+ };
1264
+ outputFormat: "json";
1265
+ status: 409;
1266
+ input: {
1267
+ json: {
1268
+ content: ({
1269
+ type: "text";
1270
+ text: string;
1271
+ } | {
1272
+ type: "image";
1273
+ mimeType: string;
1274
+ data: string;
1275
+ } | {
1276
+ type: "audio";
1277
+ mimeType: string;
1278
+ data: string;
1279
+ } | {
1280
+ type: "resource_link";
1281
+ uri: string;
1282
+ name: string;
1283
+ title?: string | undefined;
1284
+ description?: string | undefined;
1285
+ mimeType?: string | undefined;
1286
+ size?: number | undefined;
1287
+ } | {
1288
+ type: "resource";
1289
+ resource: {
1290
+ uri: string;
1291
+ mimeType?: string | undefined;
1292
+ text?: string | undefined;
1293
+ blob?: string | undefined;
1294
+ };
1295
+ })[];
989
1296
  };
990
1297
  };
991
1298
  } | {
992
1299
  output: {
993
1300
  error: string;
994
1301
  code: string;
1302
+ remediation?: string | undefined;
995
1303
  };
996
1304
  outputFormat: "json";
997
1305
  status: 500;
998
1306
  input: {
999
- query: {
1000
- splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
1001
- from?: string | undefined;
1002
- to?: string | undefined;
1003
- granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
1004
- limit?: unknown;
1307
+ json: {
1308
+ content: ({
1309
+ type: "text";
1310
+ text: string;
1311
+ } | {
1312
+ type: "image";
1313
+ mimeType: string;
1314
+ data: string;
1315
+ } | {
1316
+ type: "audio";
1317
+ mimeType: string;
1318
+ data: string;
1319
+ } | {
1320
+ type: "resource_link";
1321
+ uri: string;
1322
+ name: string;
1323
+ title?: string | undefined;
1324
+ description?: string | undefined;
1325
+ mimeType?: string | undefined;
1326
+ size?: number | undefined;
1327
+ } | {
1328
+ type: "resource";
1329
+ resource: {
1330
+ uri: string;
1331
+ mimeType?: string | undefined;
1332
+ text?: string | undefined;
1333
+ blob?: string | undefined;
1334
+ };
1335
+ })[];
1005
1336
  };
1006
1337
  };
1007
1338
  } | {
1008
1339
  output: {
1009
- dataPoints: {
1010
- bucket: string | null;
1011
- splitKey: string | null;
1012
- callCount: number;
1013
- inputTokens: number;
1014
- outputTokens: number;
1015
- inputCacheWriteTokens: number;
1016
- inputCacheReadTokens: number;
1017
- ttftMs: number | null;
1018
- totalDurationMs: number | null;
1019
- errorCount: number;
1020
- id: string | null;
1021
- sessionId: string | null;
1022
- providerId: string | null;
1023
- endpointId: string | null;
1024
- modelId: string | null;
1025
- source: "chat" | "extension" | null;
1026
- extensionId: string | null;
1027
- finishReason: string | null;
1028
- errorType: string | null;
1029
- startedAt: string | null;
1030
- finishedAt: string | null;
1031
- }[];
1340
+ error: string;
1341
+ code: string;
1342
+ remediation?: string | undefined;
1032
1343
  };
1033
1344
  outputFormat: "json";
1034
- status: 200;
1345
+ status: 503;
1035
1346
  input: {
1036
- query: {
1037
- splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
1038
- from?: string | undefined;
1039
- to?: string | undefined;
1040
- granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
1041
- limit?: unknown;
1347
+ json: {
1348
+ content: ({
1349
+ type: "text";
1350
+ text: string;
1351
+ } | {
1352
+ type: "image";
1353
+ mimeType: string;
1354
+ data: string;
1355
+ } | {
1356
+ type: "audio";
1357
+ mimeType: string;
1358
+ data: string;
1359
+ } | {
1360
+ type: "resource_link";
1361
+ uri: string;
1362
+ name: string;
1363
+ title?: string | undefined;
1364
+ description?: string | undefined;
1365
+ mimeType?: string | undefined;
1366
+ size?: number | undefined;
1367
+ } | {
1368
+ type: "resource";
1369
+ resource: {
1370
+ uri: string;
1371
+ mimeType?: string | undefined;
1372
+ text?: string | undefined;
1373
+ blob?: string | undefined;
1374
+ };
1375
+ })[];
1042
1376
  };
1043
1377
  };
1044
1378
  };
1045
1379
  };
1046
1380
  } & {
1047
- "/v1/providers": {
1381
+ "/v1/god-messages/session": {
1048
1382
  $get: {
1049
1383
  output: {
1050
1384
  error: string;
1051
1385
  code: string;
1386
+ remediation?: string | undefined;
1052
1387
  };
1053
1388
  outputFormat: "json";
1054
- status: 500;
1389
+ status: 404;
1055
1390
  input: {};
1056
1391
  } | {
1057
1392
  output: {
1058
- providers: ({
1059
- name: string;
1060
- preset: "anthropic" | "google" | "openai";
1061
- auth: {
1062
- apiKey?: string | undefined;
1063
- headers?: {
1064
- [x: string]: string;
1065
- } | undefined;
1393
+ id: string;
1394
+ status: "active" | "terminated";
1395
+ runtimeState: "idle" | "retrying" | "success" | "terminated" | "working";
1396
+ model: {
1397
+ id: string | null;
1398
+ isFallback: boolean;
1399
+ fallbackIndex: number;
1400
+ };
1401
+ usage: {
1402
+ chat: {
1403
+ latest: {
1404
+ inputTokens: number;
1405
+ outputTokens: number;
1406
+ inputCacheWriteTokens: number;
1407
+ inputCacheReadTokens: number;
1408
+ } | null;
1409
+ total: {
1410
+ inputTokens: number;
1411
+ outputTokens: number;
1412
+ inputCacheWriteTokens: number;
1413
+ inputCacheReadTokens: number;
1414
+ };
1066
1415
  };
1067
- } | {
1068
- name: string;
1069
- endpoints: {
1416
+ extensions: {
1070
1417
  [x: string]: {
1071
- url: string;
1072
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1073
- auth: {
1074
- apiKey?: string | undefined;
1075
- headers?: {
1076
- [x: string]: string;
1077
- } | undefined;
1418
+ latest: {
1419
+ inputTokens: number;
1420
+ outputTokens: number;
1421
+ inputCacheWriteTokens: number;
1422
+ inputCacheReadTokens: number;
1423
+ } | null;
1424
+ total: {
1425
+ inputTokens: number;
1426
+ outputTokens: number;
1427
+ inputCacheWriteTokens: number;
1428
+ inputCacheReadTokens: number;
1078
1429
  };
1079
1430
  };
1080
1431
  };
1081
- })[];
1432
+ };
1433
+ turns: number;
1434
+ steps: number;
1435
+ messageCount: number;
1436
+ createdAt: string;
1082
1437
  };
1083
1438
  outputFormat: "json";
1084
1439
  status: 200;
@@ -1086,792 +1441,754 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1086
1441
  };
1087
1442
  };
1088
1443
  } & {
1089
- "/v1/providers": {
1090
- $post: {
1444
+ "/v1/god-messages/messages": {
1445
+ $get: {
1091
1446
  output: {
1092
1447
  error: string;
1093
1448
  code: string;
1449
+ remediation?: string | undefined;
1094
1450
  };
1095
1451
  outputFormat: "json";
1096
1452
  status: 400;
1097
1453
  input: {
1098
- json: {
1099
- name: string;
1100
- preset: "anthropic" | "google" | "openai";
1101
- auth: {
1102
- apiKey?: string | undefined;
1103
- headers?: Record<string, string> | undefined;
1104
- };
1105
- } | {
1106
- name: string;
1107
- endpoints: Record<string, {
1108
- url: string;
1109
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1110
- auth: {
1111
- apiKey?: string | undefined;
1112
- headers?: Record<string, string> | undefined;
1113
- };
1114
- }>;
1115
- };
1116
- };
1117
- } | {
1118
- output: {
1119
- error: string;
1120
- code: string;
1121
- };
1122
- outputFormat: "json";
1123
- status: 409;
1124
- input: {
1125
- json: {
1126
- name: string;
1127
- preset: "anthropic" | "google" | "openai";
1128
- auth: {
1129
- apiKey?: string | undefined;
1130
- headers?: Record<string, string> | undefined;
1131
- };
1132
- } | {
1133
- name: string;
1134
- endpoints: Record<string, {
1135
- url: string;
1136
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1137
- auth: {
1138
- apiKey?: string | undefined;
1139
- headers?: Record<string, string> | undefined;
1140
- };
1141
- }>;
1454
+ query: {
1455
+ limit?: unknown;
1456
+ cursor?: string | undefined;
1142
1457
  };
1143
1458
  };
1144
1459
  } | {
1145
1460
  output: {
1146
1461
  error: string;
1147
1462
  code: string;
1463
+ remediation?: string | undefined;
1148
1464
  };
1149
1465
  outputFormat: "json";
1150
1466
  status: 500;
1151
1467
  input: {
1152
- json: {
1153
- name: string;
1154
- preset: "anthropic" | "google" | "openai";
1155
- auth: {
1156
- apiKey?: string | undefined;
1157
- headers?: Record<string, string> | undefined;
1158
- };
1159
- } | {
1160
- name: string;
1161
- endpoints: Record<string, {
1162
- url: string;
1163
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1164
- auth: {
1165
- apiKey?: string | undefined;
1166
- headers?: Record<string, string> | undefined;
1167
- };
1168
- }>;
1468
+ query: {
1469
+ limit?: unknown;
1470
+ cursor?: string | undefined;
1169
1471
  };
1170
1472
  };
1171
1473
  } | {
1172
1474
  output: {
1173
- providers: ({
1174
- name: string;
1175
- preset: "anthropic" | "google" | "openai";
1176
- auth: {
1177
- apiKey?: string | undefined;
1178
- headers?: {
1179
- [x: string]: string;
1180
- } | undefined;
1181
- };
1182
- } | {
1183
- name: string;
1184
- endpoints: {
1185
- [x: string]: {
1186
- url: string;
1187
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1188
- auth: {
1189
- apiKey?: string | undefined;
1190
- headers?: {
1191
- [x: string]: string;
1192
- } | undefined;
1193
- };
1194
- };
1195
- };
1196
- })[];
1475
+ messages: {
1476
+ id: string;
1477
+ role: string;
1478
+ parts: {
1479
+ [x: string]: import("hono/utils/types").JSONValue;
1480
+ }[];
1481
+ }[];
1482
+ nextCursor: string | null;
1483
+ hasMore: boolean;
1197
1484
  };
1198
1485
  outputFormat: "json";
1199
- status: 201;
1486
+ status: 200;
1200
1487
  input: {
1201
- json: {
1202
- name: string;
1203
- preset: "anthropic" | "google" | "openai";
1204
- auth: {
1205
- apiKey?: string | undefined;
1206
- headers?: Record<string, string> | undefined;
1207
- };
1208
- } | {
1209
- name: string;
1210
- endpoints: Record<string, {
1211
- url: string;
1212
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1213
- auth: {
1214
- apiKey?: string | undefined;
1215
- headers?: Record<string, string> | undefined;
1216
- };
1217
- }>;
1488
+ query: {
1489
+ limit?: unknown;
1490
+ cursor?: string | undefined;
1218
1491
  };
1219
1492
  };
1220
1493
  };
1221
1494
  };
1222
1495
  } & {
1223
- "/v1/providers/:name": {
1224
- $patch: {
1496
+ "/v1/god-messages/reset": {
1497
+ $post: {
1225
1498
  output: {
1226
1499
  error: string;
1227
1500
  code: string;
1501
+ remediation?: string | undefined;
1228
1502
  };
1229
1503
  outputFormat: "json";
1230
- status: 400;
1231
- input: {
1232
- param: {
1233
- name: string;
1234
- };
1235
- } & {
1236
- json: {
1237
- preset?: "anthropic" | "google" | "openai" | undefined;
1238
- auth?: {
1239
- apiKey?: string | undefined;
1240
- headers?: Record<string, string> | undefined;
1241
- } | undefined;
1242
- endpoints?: Record<string, {
1243
- url: string;
1244
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1245
- auth: {
1246
- apiKey?: string | undefined;
1247
- headers?: Record<string, string> | undefined;
1248
- };
1249
- }> | undefined;
1250
- };
1251
- };
1504
+ status: 404;
1505
+ input: {};
1252
1506
  } | {
1253
1507
  output: {
1254
1508
  error: string;
1255
1509
  code: string;
1510
+ remediation?: string | undefined;
1256
1511
  };
1257
1512
  outputFormat: "json";
1258
- status: 404;
1259
- input: {
1260
- param: {
1261
- name: string;
1262
- };
1263
- } & {
1264
- json: {
1265
- preset?: "anthropic" | "google" | "openai" | undefined;
1266
- auth?: {
1267
- apiKey?: string | undefined;
1268
- headers?: Record<string, string> | undefined;
1269
- } | undefined;
1270
- endpoints?: Record<string, {
1271
- url: string;
1272
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1273
- auth: {
1274
- apiKey?: string | undefined;
1275
- headers?: Record<string, string> | undefined;
1276
- };
1277
- }> | undefined;
1278
- };
1279
- };
1513
+ status: 409;
1514
+ input: {};
1280
1515
  } | {
1281
1516
  output: {
1282
1517
  error: string;
1283
1518
  code: string;
1519
+ remediation?: string | undefined;
1284
1520
  };
1285
1521
  outputFormat: "json";
1286
1522
  status: 500;
1287
- input: {
1288
- param: {
1289
- name: string;
1290
- };
1291
- } & {
1292
- json: {
1293
- preset?: "anthropic" | "google" | "openai" | undefined;
1294
- auth?: {
1295
- apiKey?: string | undefined;
1296
- headers?: Record<string, string> | undefined;
1297
- } | undefined;
1298
- endpoints?: Record<string, {
1299
- url: string;
1300
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1301
- auth: {
1302
- apiKey?: string | undefined;
1303
- headers?: Record<string, string> | undefined;
1304
- };
1305
- }> | undefined;
1306
- };
1307
- };
1523
+ input: {};
1308
1524
  } | {
1309
1525
  output: {
1310
- providers: ({
1311
- name: string;
1312
- preset: "anthropic" | "google" | "openai";
1313
- auth: {
1314
- apiKey?: string | undefined;
1315
- headers?: {
1316
- [x: string]: string;
1317
- } | undefined;
1318
- };
1319
- } | {
1320
- name: string;
1321
- endpoints: {
1322
- [x: string]: {
1323
- url: string;
1324
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1325
- auth: {
1326
- apiKey?: string | undefined;
1327
- headers?: {
1328
- [x: string]: string;
1329
- } | undefined;
1330
- };
1331
- };
1332
- };
1333
- })[];
1526
+ sessionId: string;
1334
1527
  };
1335
1528
  outputFormat: "json";
1336
1529
  status: 200;
1337
- input: {
1338
- param: {
1339
- name: string;
1340
- };
1341
- } & {
1342
- json: {
1343
- preset?: "anthropic" | "google" | "openai" | undefined;
1344
- auth?: {
1345
- apiKey?: string | undefined;
1346
- headers?: Record<string, string> | undefined;
1347
- } | undefined;
1348
- endpoints?: Record<string, {
1349
- url: string;
1350
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1351
- auth: {
1352
- apiKey?: string | undefined;
1353
- headers?: Record<string, string> | undefined;
1354
- };
1355
- }> | undefined;
1356
- };
1357
- };
1530
+ input: {};
1358
1531
  };
1359
1532
  };
1360
1533
  } & {
1361
- "/v1/providers/:name": {
1362
- $delete: {
1534
+ "/v1/usage": {
1535
+ $get: {
1363
1536
  output: {
1364
1537
  error: string;
1365
1538
  code: string;
1539
+ remediation?: string | undefined;
1366
1540
  };
1367
1541
  outputFormat: "json";
1368
1542
  status: 400;
1369
1543
  input: {
1370
- param: {
1371
- name: string;
1544
+ query: {
1545
+ splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
1546
+ from?: string | undefined;
1547
+ to?: string | undefined;
1548
+ granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
1549
+ limit?: unknown;
1372
1550
  };
1373
1551
  };
1374
1552
  } | {
1375
1553
  output: {
1376
1554
  error: string;
1377
1555
  code: string;
1556
+ remediation?: string | undefined;
1378
1557
  };
1379
1558
  outputFormat: "json";
1380
- status: 404;
1559
+ status: 500;
1381
1560
  input: {
1382
- param: {
1383
- name: string;
1561
+ query: {
1562
+ splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
1563
+ from?: string | undefined;
1564
+ to?: string | undefined;
1565
+ granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
1566
+ limit?: unknown;
1384
1567
  };
1385
1568
  };
1386
1569
  } | {
1570
+ output: {
1571
+ dataPoints: {
1572
+ bucket: string | null;
1573
+ splitKey: string | null;
1574
+ callCount: number;
1575
+ inputTokens: number;
1576
+ outputTokens: number;
1577
+ inputCacheWriteTokens: number;
1578
+ inputCacheReadTokens: number;
1579
+ ttftMs: number | null;
1580
+ totalDurationMs: number | null;
1581
+ errorCount: number;
1582
+ id: string | null;
1583
+ sessionId: string | null;
1584
+ providerType: string | null;
1585
+ providerId: string | null;
1586
+ endpointId: string | null;
1587
+ modelId: string | null;
1588
+ source: "chat" | "extension" | null;
1589
+ extensionId: string | null;
1590
+ finishReason: string | null;
1591
+ errorType: string | null;
1592
+ startedAt: string | null;
1593
+ finishedAt: string | null;
1594
+ }[];
1595
+ };
1596
+ outputFormat: "json";
1597
+ status: 200;
1598
+ input: {
1599
+ query: {
1600
+ splitBy?: "endpoint" | "model" | "none" | "provider" | undefined;
1601
+ from?: string | undefined;
1602
+ to?: string | undefined;
1603
+ granularity?: "daily" | "event" | "hourly" | "weekly" | undefined;
1604
+ limit?: unknown;
1605
+ };
1606
+ };
1607
+ };
1608
+ };
1609
+ } & {
1610
+ "/v1/provider-types": {
1611
+ $get: {
1612
+ output: {
1613
+ providerTypes: {
1614
+ displayName: string;
1615
+ description: string;
1616
+ logoSvg?: string | undefined;
1617
+ documentationUrl?: string | undefined;
1618
+ capabilities: {
1619
+ modelDiscovery: boolean;
1620
+ connectivityTest: boolean;
1621
+ customModels: boolean;
1622
+ };
1623
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1624
+ settingsSchema: {
1625
+ [x: string]: import("hono/utils/types").JSONValue;
1626
+ };
1627
+ }[];
1628
+ };
1629
+ outputFormat: "json";
1630
+ status: 200;
1631
+ input: {};
1632
+ };
1633
+ };
1634
+ } & {
1635
+ "/v1/provider-types/:type/can-add": {
1636
+ $post: {
1387
1637
  output: {
1388
1638
  error: string;
1389
1639
  code: string;
1640
+ remediation?: string | undefined;
1390
1641
  };
1391
1642
  outputFormat: "json";
1392
- status: 409;
1643
+ status: 400;
1393
1644
  input: {
1394
1645
  param: {
1395
- name: string;
1646
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1647
+ };
1648
+ } & {
1649
+ json: {
1650
+ settings: Record<string, unknown>;
1396
1651
  };
1397
1652
  };
1398
1653
  } | {
1399
1654
  output: {
1400
1655
  error: string;
1401
1656
  code: string;
1657
+ remediation?: string | undefined;
1402
1658
  };
1403
1659
  outputFormat: "json";
1404
1660
  status: 500;
1405
1661
  input: {
1406
1662
  param: {
1407
- name: string;
1663
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1664
+ };
1665
+ } & {
1666
+ json: {
1667
+ settings: Record<string, unknown>;
1408
1668
  };
1409
1669
  };
1410
1670
  } | {
1411
1671
  output: {
1412
- providers: ({
1413
- name: string;
1414
- preset: "anthropic" | "google" | "openai";
1415
- auth: {
1416
- apiKey?: string | undefined;
1417
- headers?: {
1418
- [x: string]: string;
1419
- } | undefined;
1672
+ ok: boolean;
1673
+ code?: string | undefined;
1674
+ message?: string | undefined;
1675
+ provider?: {
1676
+ id: string;
1677
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1678
+ metadata: {
1679
+ displayName: string;
1680
+ description: string;
1681
+ logoSvg?: string | undefined;
1682
+ documentationUrl?: string | undefined;
1683
+ capabilities: {
1684
+ modelDiscovery: boolean;
1685
+ connectivityTest: boolean;
1686
+ customModels: boolean;
1687
+ };
1420
1688
  };
1421
- } | {
1422
- name: string;
1423
- endpoints: {
1424
- [x: string]: {
1425
- url: string;
1426
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1427
- auth: {
1428
- apiKey?: string | undefined;
1429
- headers?: {
1430
- [x: string]: string;
1431
- } | undefined;
1432
- };
1689
+ settings: {
1690
+ [x: string]: import("hono/utils/types").JSONValue;
1691
+ };
1692
+ operations: {
1693
+ update: {
1694
+ available: boolean;
1695
+ code?: string | undefined;
1696
+ message?: string | undefined;
1697
+ remediation?: string | undefined;
1698
+ };
1699
+ remove: {
1700
+ available: boolean;
1701
+ code?: string | undefined;
1702
+ message?: string | undefined;
1703
+ remediation?: string | undefined;
1433
1704
  };
1434
1705
  };
1435
- })[];
1706
+ } | undefined;
1436
1707
  };
1437
1708
  outputFormat: "json";
1438
1709
  status: 200;
1439
1710
  input: {
1440
1711
  param: {
1441
- name: string;
1712
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1713
+ };
1714
+ } & {
1715
+ json: {
1716
+ settings: Record<string, unknown>;
1442
1717
  };
1443
1718
  };
1444
1719
  };
1445
1720
  };
1446
1721
  } & {
1447
- "/v1/providers/:name/endpoints": {
1722
+ "/v1/providers": {
1448
1723
  $get: {
1724
+ output: {
1725
+ providers: {
1726
+ id: string;
1727
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1728
+ metadata: {
1729
+ displayName: string;
1730
+ description: string;
1731
+ logoSvg?: string | undefined;
1732
+ documentationUrl?: string | undefined;
1733
+ capabilities: {
1734
+ modelDiscovery: boolean;
1735
+ connectivityTest: boolean;
1736
+ customModels: boolean;
1737
+ };
1738
+ };
1739
+ settings: {
1740
+ [x: string]: import("hono/utils/types").JSONValue;
1741
+ };
1742
+ operations: {
1743
+ update: {
1744
+ available: boolean;
1745
+ code?: string | undefined;
1746
+ message?: string | undefined;
1747
+ remediation?: string | undefined;
1748
+ };
1749
+ remove: {
1750
+ available: boolean;
1751
+ code?: string | undefined;
1752
+ message?: string | undefined;
1753
+ remediation?: string | undefined;
1754
+ };
1755
+ };
1756
+ }[];
1757
+ };
1758
+ outputFormat: "json";
1759
+ status: 200;
1760
+ input: {};
1761
+ };
1762
+ };
1763
+ } & {
1764
+ "/v1/providers": {
1765
+ $post: {
1449
1766
  output: {
1450
1767
  error: string;
1451
1768
  code: string;
1769
+ remediation?: string | undefined;
1452
1770
  };
1453
1771
  outputFormat: "json";
1454
1772
  status: 400;
1455
1773
  input: {
1456
- param: {
1457
- name: string;
1774
+ json: {
1775
+ id: string;
1776
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1777
+ settings: Record<string, unknown>;
1458
1778
  };
1459
1779
  };
1460
1780
  } | {
1461
1781
  output: {
1462
1782
  error: string;
1463
1783
  code: string;
1784
+ remediation?: string | undefined;
1464
1785
  };
1465
1786
  outputFormat: "json";
1466
- status: 404;
1787
+ status: 409;
1467
1788
  input: {
1468
- param: {
1469
- name: string;
1789
+ json: {
1790
+ id: string;
1791
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1792
+ settings: Record<string, unknown>;
1470
1793
  };
1471
1794
  };
1472
1795
  } | {
1473
1796
  output: {
1474
1797
  error: string;
1475
1798
  code: string;
1799
+ remediation?: string | undefined;
1476
1800
  };
1477
1801
  outputFormat: "json";
1478
1802
  status: 500;
1479
1803
  input: {
1480
- param: {
1481
- name: string;
1804
+ json: {
1805
+ id: string;
1806
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1807
+ settings: Record<string, unknown>;
1482
1808
  };
1483
1809
  };
1484
1810
  } | {
1485
1811
  output: {
1486
- endpoints: {
1487
- name: string;
1488
- url: string;
1489
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1490
- auth: {
1491
- apiKey?: string | undefined;
1492
- headers?: {
1493
- [x: string]: string;
1494
- } | undefined;
1812
+ ok: boolean;
1813
+ code?: string | undefined;
1814
+ message?: string | undefined;
1815
+ provider?: {
1816
+ id: string;
1817
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1818
+ metadata: {
1819
+ displayName: string;
1820
+ description: string;
1821
+ logoSvg?: string | undefined;
1822
+ documentationUrl?: string | undefined;
1823
+ capabilities: {
1824
+ modelDiscovery: boolean;
1825
+ connectivityTest: boolean;
1826
+ customModels: boolean;
1827
+ };
1495
1828
  };
1496
- }[];
1829
+ settings: {
1830
+ [x: string]: import("hono/utils/types").JSONValue;
1831
+ };
1832
+ operations: {
1833
+ update: {
1834
+ available: boolean;
1835
+ code?: string | undefined;
1836
+ message?: string | undefined;
1837
+ remediation?: string | undefined;
1838
+ };
1839
+ remove: {
1840
+ available: boolean;
1841
+ code?: string | undefined;
1842
+ message?: string | undefined;
1843
+ remediation?: string | undefined;
1844
+ };
1845
+ };
1846
+ } | undefined;
1497
1847
  };
1498
1848
  outputFormat: "json";
1499
- status: 200;
1849
+ status: 201;
1500
1850
  input: {
1501
- param: {
1502
- name: string;
1851
+ json: {
1852
+ id: string;
1853
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1854
+ settings: Record<string, unknown>;
1503
1855
  };
1504
1856
  };
1505
1857
  };
1506
1858
  };
1507
1859
  } & {
1508
- "/v1/providers/:name/endpoints": {
1509
- $post: {
1860
+ "/v1/providers/:id": {
1861
+ $patch: {
1510
1862
  output: {
1511
1863
  error: string;
1512
1864
  code: string;
1865
+ remediation?: string | undefined;
1513
1866
  };
1514
1867
  outputFormat: "json";
1515
1868
  status: 400;
1516
1869
  input: {
1517
1870
  param: {
1518
- name: string;
1871
+ id: string;
1519
1872
  };
1520
1873
  } & {
1521
1874
  json: {
1522
- name: string;
1523
- url: string;
1524
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1525
- auth: {
1526
- apiKey?: string | undefined;
1527
- headers?: Record<string, string> | undefined;
1528
- };
1875
+ settings?: Record<string, unknown> | undefined;
1529
1876
  };
1530
1877
  };
1531
1878
  } | {
1532
1879
  output: {
1533
1880
  error: string;
1534
1881
  code: string;
1882
+ remediation?: string | undefined;
1535
1883
  };
1536
1884
  outputFormat: "json";
1537
1885
  status: 404;
1538
1886
  input: {
1539
1887
  param: {
1540
- name: string;
1541
- };
1542
- } & {
1543
- json: {
1544
- name: string;
1545
- url: string;
1546
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1547
- auth: {
1548
- apiKey?: string | undefined;
1549
- headers?: Record<string, string> | undefined;
1550
- };
1551
- };
1552
- };
1553
- } | {
1554
- output: {
1555
- error: string;
1556
- code: string;
1557
- };
1558
- outputFormat: "json";
1559
- status: 409;
1560
- input: {
1561
- param: {
1562
- name: string;
1888
+ id: string;
1563
1889
  };
1564
1890
  } & {
1565
1891
  json: {
1566
- name: string;
1567
- url: string;
1568
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1569
- auth: {
1570
- apiKey?: string | undefined;
1571
- headers?: Record<string, string> | undefined;
1572
- };
1892
+ settings?: Record<string, unknown> | undefined;
1573
1893
  };
1574
1894
  };
1575
1895
  } | {
1576
1896
  output: {
1577
1897
  error: string;
1578
1898
  code: string;
1899
+ remediation?: string | undefined;
1579
1900
  };
1580
1901
  outputFormat: "json";
1581
1902
  status: 500;
1582
1903
  input: {
1583
1904
  param: {
1584
- name: string;
1905
+ id: string;
1585
1906
  };
1586
1907
  } & {
1587
1908
  json: {
1588
- name: string;
1589
- url: string;
1590
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1591
- auth: {
1592
- apiKey?: string | undefined;
1593
- headers?: Record<string, string> | undefined;
1594
- };
1909
+ settings?: Record<string, unknown> | undefined;
1595
1910
  };
1596
1911
  };
1597
1912
  } | {
1598
1913
  output: {
1599
- endpoints: {
1600
- name: string;
1601
- url: string;
1602
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1603
- auth: {
1604
- apiKey?: string | undefined;
1605
- headers?: {
1606
- [x: string]: string;
1607
- } | undefined;
1914
+ ok: boolean;
1915
+ code?: string | undefined;
1916
+ message?: string | undefined;
1917
+ provider?: {
1918
+ id: string;
1919
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
1920
+ metadata: {
1921
+ displayName: string;
1922
+ description: string;
1923
+ logoSvg?: string | undefined;
1924
+ documentationUrl?: string | undefined;
1925
+ capabilities: {
1926
+ modelDiscovery: boolean;
1927
+ connectivityTest: boolean;
1928
+ customModels: boolean;
1929
+ };
1608
1930
  };
1609
- }[];
1931
+ settings: {
1932
+ [x: string]: import("hono/utils/types").JSONValue;
1933
+ };
1934
+ operations: {
1935
+ update: {
1936
+ available: boolean;
1937
+ code?: string | undefined;
1938
+ message?: string | undefined;
1939
+ remediation?: string | undefined;
1940
+ };
1941
+ remove: {
1942
+ available: boolean;
1943
+ code?: string | undefined;
1944
+ message?: string | undefined;
1945
+ remediation?: string | undefined;
1946
+ };
1947
+ };
1948
+ } | undefined;
1610
1949
  };
1611
1950
  outputFormat: "json";
1612
- status: 201;
1951
+ status: 200;
1613
1952
  input: {
1614
1953
  param: {
1615
- name: string;
1954
+ id: string;
1616
1955
  };
1617
1956
  } & {
1618
1957
  json: {
1619
- name: string;
1620
- url: string;
1621
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1622
- auth: {
1623
- apiKey?: string | undefined;
1624
- headers?: Record<string, string> | undefined;
1625
- };
1958
+ settings?: Record<string, unknown> | undefined;
1626
1959
  };
1627
1960
  };
1628
1961
  };
1629
1962
  };
1630
1963
  } & {
1631
- "/v1/providers/:name/endpoints/:endpointName": {
1632
- $patch: {
1964
+ "/v1/providers/:id": {
1965
+ $delete: {
1633
1966
  output: {
1634
1967
  error: string;
1635
1968
  code: string;
1969
+ remediation?: string | undefined;
1636
1970
  };
1637
1971
  outputFormat: "json";
1638
1972
  status: 400;
1639
1973
  input: {
1640
1974
  param: {
1641
- name: string;
1642
- endpointName: string;
1643
- };
1644
- } & {
1645
- json: {
1646
- url?: string | undefined;
1647
- format?: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions" | undefined;
1648
- auth?: {
1649
- apiKey?: string | undefined;
1650
- headers?: Record<string, string> | undefined;
1651
- } | undefined;
1975
+ id: string;
1652
1976
  };
1653
1977
  };
1654
1978
  } | {
1655
1979
  output: {
1656
1980
  error: string;
1657
1981
  code: string;
1982
+ remediation?: string | undefined;
1658
1983
  };
1659
1984
  outputFormat: "json";
1660
1985
  status: 404;
1661
1986
  input: {
1662
1987
  param: {
1663
- name: string;
1664
- endpointName: string;
1988
+ id: string;
1665
1989
  };
1666
- } & {
1667
- json: {
1668
- url?: string | undefined;
1669
- format?: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions" | undefined;
1670
- auth?: {
1671
- apiKey?: string | undefined;
1672
- headers?: Record<string, string> | undefined;
1673
- } | undefined;
1990
+ };
1991
+ } | {
1992
+ output: {
1993
+ error: string;
1994
+ code: string;
1995
+ remediation?: string | undefined;
1996
+ };
1997
+ outputFormat: "json";
1998
+ status: 409;
1999
+ input: {
2000
+ param: {
2001
+ id: string;
1674
2002
  };
1675
2003
  };
1676
2004
  } | {
1677
2005
  output: {
1678
2006
  error: string;
1679
2007
  code: string;
2008
+ remediation?: string | undefined;
1680
2009
  };
1681
2010
  outputFormat: "json";
1682
2011
  status: 500;
1683
2012
  input: {
1684
2013
  param: {
1685
- name: string;
1686
- endpointName: string;
1687
- };
1688
- } & {
1689
- json: {
1690
- url?: string | undefined;
1691
- format?: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions" | undefined;
1692
- auth?: {
1693
- apiKey?: string | undefined;
1694
- headers?: Record<string, string> | undefined;
1695
- } | undefined;
2014
+ id: string;
1696
2015
  };
1697
2016
  };
1698
2017
  } | {
1699
2018
  output: {
1700
- endpoints: {
1701
- name: string;
1702
- url: string;
1703
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1704
- auth: {
1705
- apiKey?: string | undefined;
1706
- headers?: {
1707
- [x: string]: string;
1708
- } | undefined;
2019
+ ok: boolean;
2020
+ code?: string | undefined;
2021
+ message?: string | undefined;
2022
+ provider?: {
2023
+ id: string;
2024
+ type: "alibaba-qwen" | "amazon-bedrock" | "anthropic" | "anthropic-messages" | "azure-openai" | "chat-completions" | "chatgpt-codex-subscription" | "deepseek" | "glm-coding-plan" | "google-gemini" | "google-generative" | "google-vertex" | "minimax" | "minimax-coding-plan" | "mistral" | "moonshot" | "ollama" | "openai" | "opencode-go" | "opencode-zen" | "openrouter" | "responses" | "xai" | "xiaomi-mimo" | "zai";
2025
+ metadata: {
2026
+ displayName: string;
2027
+ description: string;
2028
+ logoSvg?: string | undefined;
2029
+ documentationUrl?: string | undefined;
2030
+ capabilities: {
2031
+ modelDiscovery: boolean;
2032
+ connectivityTest: boolean;
2033
+ customModels: boolean;
2034
+ };
1709
2035
  };
1710
- }[];
2036
+ settings: {
2037
+ [x: string]: import("hono/utils/types").JSONValue;
2038
+ };
2039
+ operations: {
2040
+ update: {
2041
+ available: boolean;
2042
+ code?: string | undefined;
2043
+ message?: string | undefined;
2044
+ remediation?: string | undefined;
2045
+ };
2046
+ remove: {
2047
+ available: boolean;
2048
+ code?: string | undefined;
2049
+ message?: string | undefined;
2050
+ remediation?: string | undefined;
2051
+ };
2052
+ };
2053
+ } | undefined;
1711
2054
  };
1712
2055
  outputFormat: "json";
1713
2056
  status: 200;
1714
2057
  input: {
1715
2058
  param: {
1716
- name: string;
1717
- endpointName: string;
1718
- };
1719
- } & {
1720
- json: {
1721
- url?: string | undefined;
1722
- format?: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions" | undefined;
1723
- auth?: {
1724
- apiKey?: string | undefined;
1725
- headers?: Record<string, string> | undefined;
1726
- } | undefined;
2059
+ id: string;
1727
2060
  };
1728
2061
  };
1729
2062
  };
1730
2063
  };
1731
2064
  } & {
1732
- "/v1/providers/:name/endpoints/:endpointName": {
1733
- $delete: {
2065
+ "/v1/providers/:id/test": {
2066
+ $post: {
1734
2067
  output: {
1735
2068
  error: string;
1736
2069
  code: string;
2070
+ remediation?: string | undefined;
1737
2071
  };
1738
2072
  outputFormat: "json";
1739
2073
  status: 400;
1740
2074
  input: {
1741
2075
  param: {
1742
- name: string;
1743
- endpointName: string;
2076
+ id: string;
1744
2077
  };
1745
2078
  };
1746
2079
  } | {
1747
2080
  output: {
1748
2081
  error: string;
1749
2082
  code: string;
2083
+ remediation?: string | undefined;
1750
2084
  };
1751
2085
  outputFormat: "json";
1752
2086
  status: 404;
1753
2087
  input: {
1754
2088
  param: {
1755
- name: string;
1756
- endpointName: string;
1757
- };
1758
- };
1759
- } | {
1760
- output: {
1761
- error: string;
1762
- code: string;
1763
- };
1764
- outputFormat: "json";
1765
- status: 409;
1766
- input: {
1767
- param: {
1768
- name: string;
1769
- endpointName: string;
2089
+ id: string;
1770
2090
  };
1771
2091
  };
1772
2092
  } | {
1773
2093
  output: {
1774
2094
  error: string;
1775
2095
  code: string;
2096
+ remediation?: string | undefined;
1776
2097
  };
1777
2098
  outputFormat: "json";
1778
2099
  status: 500;
1779
2100
  input: {
1780
2101
  param: {
1781
- name: string;
1782
- endpointName: string;
2102
+ id: string;
1783
2103
  };
1784
2104
  };
1785
2105
  } | {
1786
2106
  output: {
1787
- endpoints: {
1788
- name: string;
1789
- url: string;
1790
- format: "anthropic" | "chat-completions" | "google" | "messages" | "open-responses" | "openai" | "realtime" | "speech" | "transcriptions";
1791
- auth: {
1792
- apiKey?: string | undefined;
1793
- headers?: {
1794
- [x: string]: string;
1795
- } | undefined;
1796
- };
1797
- }[];
2107
+ latencyMs: number;
2108
+ target?: string | undefined;
1798
2109
  };
1799
2110
  outputFormat: "json";
1800
2111
  status: 200;
1801
2112
  input: {
1802
2113
  param: {
1803
- name: string;
1804
- endpointName: string;
2114
+ id: string;
1805
2115
  };
1806
2116
  };
1807
2117
  };
1808
2118
  };
1809
2119
  } & {
1810
- "/v1/providers/:name/known-models": {
2120
+ "/v1/providers/:id/models": {
1811
2121
  $get: {
1812
2122
  output: {
1813
2123
  error: string;
1814
2124
  code: string;
2125
+ remediation?: string | undefined;
1815
2126
  };
1816
2127
  outputFormat: "json";
1817
2128
  status: 400;
1818
2129
  input: {
1819
2130
  param: {
1820
- name: string;
2131
+ id: string;
1821
2132
  };
1822
2133
  } & {
1823
2134
  query: {
1824
- endpointName?: string | undefined;
2135
+ refresh?: "false" | "true" | undefined;
1825
2136
  };
1826
2137
  };
1827
2138
  } | {
1828
2139
  output: {
1829
2140
  error: string;
1830
2141
  code: string;
2142
+ remediation?: string | undefined;
1831
2143
  };
1832
2144
  outputFormat: "json";
1833
2145
  status: 404;
1834
2146
  input: {
1835
2147
  param: {
1836
- name: string;
2148
+ id: string;
1837
2149
  };
1838
2150
  } & {
1839
2151
  query: {
1840
- endpointName?: string | undefined;
2152
+ refresh?: "false" | "true" | undefined;
1841
2153
  };
1842
2154
  };
1843
2155
  } | {
1844
2156
  output: {
1845
2157
  error: string;
1846
2158
  code: string;
2159
+ remediation?: string | undefined;
1847
2160
  };
1848
2161
  outputFormat: "json";
1849
2162
  status: 500;
1850
2163
  input: {
1851
2164
  param: {
1852
- name: string;
2165
+ id: string;
1853
2166
  };
1854
2167
  } & {
1855
2168
  query: {
1856
- endpointName?: string | undefined;
2169
+ refresh?: "false" | "true" | undefined;
1857
2170
  };
1858
2171
  };
1859
2172
  } | {
1860
2173
  output: {
1861
2174
  models: {
1862
2175
  modelId: string;
1863
- endpointName?: string | undefined;
2176
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
1864
2177
  displayName?: string | undefined;
1865
2178
  contextSize?: number | undefined;
1866
2179
  capabilities?: {
1867
2180
  input?: {
1868
2181
  image?: {
1869
- mediaTypes: string[];
1870
- maxBytes: number;
2182
+ mediaTypes?: string[] | undefined;
2183
+ maxBytes?: number | undefined;
2184
+ maxWidth?: number | undefined;
2185
+ maxHeight?: number | undefined;
2186
+ maxTotalPixels?: number | undefined;
1871
2187
  } | undefined;
1872
2188
  audio?: {
1873
- mediaTypes: string[];
1874
- maxBytes: number;
2189
+ mediaTypes?: string[] | undefined;
2190
+ maxBytes?: number | undefined;
2191
+ maxLengthSeconds?: number | undefined;
1875
2192
  } | undefined;
1876
2193
  } | undefined;
1877
2194
  voice?: {
@@ -1879,50 +2196,63 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1879
2196
  tts?: boolean | undefined;
1880
2197
  stt?: boolean | undefined;
1881
2198
  } | undefined;
2199
+ tools?: boolean | undefined;
2200
+ reasoning?: boolean | undefined;
1882
2201
  } | undefined;
2202
+ source: "discovered" | "manual" | "merged";
2203
+ provenance?: {
2204
+ source: "discovered" | "provider-exact" | "provider-family" | "shared-catalog" | "user";
2205
+ documentationUrl?: string | undefined;
2206
+ reviewedAt?: string | undefined;
2207
+ }[] | undefined;
1883
2208
  }[];
1884
2209
  };
1885
2210
  outputFormat: "json";
1886
2211
  status: 200;
1887
2212
  input: {
1888
2213
  param: {
1889
- name: string;
2214
+ id: string;
1890
2215
  };
1891
2216
  } & {
1892
2217
  query: {
1893
- endpointName?: string | undefined;
2218
+ refresh?: "false" | "true" | undefined;
1894
2219
  };
1895
2220
  };
1896
2221
  };
1897
2222
  };
1898
2223
  } & {
1899
- "/v1/providers/:name/known-models": {
2224
+ "/v1/providers/:id/models": {
1900
2225
  $post: {
1901
2226
  output: {
1902
2227
  error: string;
1903
2228
  code: string;
2229
+ remediation?: string | undefined;
1904
2230
  };
1905
2231
  outputFormat: "json";
1906
2232
  status: 400;
1907
2233
  input: {
1908
2234
  param: {
1909
- name: string;
2235
+ id: string;
1910
2236
  };
1911
2237
  } & {
1912
2238
  json: {
1913
2239
  modelId: string;
1914
- endpointName?: string | undefined;
2240
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
1915
2241
  displayName?: string | undefined;
1916
2242
  contextSize?: number | undefined;
1917
2243
  capabilities?: {
1918
2244
  input?: {
1919
2245
  image?: {
1920
- mediaTypes: string[];
1921
- maxBytes: number;
2246
+ mediaTypes?: string[] | undefined;
2247
+ maxBytes?: number | undefined;
2248
+ maxWidth?: number | undefined;
2249
+ maxHeight?: number | undefined;
2250
+ maxTotalPixels?: number | undefined;
1922
2251
  } | undefined;
1923
2252
  audio?: {
1924
- mediaTypes: string[];
1925
- maxBytes: number;
2253
+ mediaTypes?: string[] | undefined;
2254
+ maxBytes?: number | undefined;
2255
+ maxLengthSeconds?: number | undefined;
1926
2256
  } | undefined;
1927
2257
  } | undefined;
1928
2258
  voice?: {
@@ -1930,6 +2260,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1930
2260
  tts?: boolean | undefined;
1931
2261
  stt?: boolean | undefined;
1932
2262
  } | undefined;
2263
+ tools?: boolean | undefined;
2264
+ reasoning?: boolean | undefined;
1933
2265
  } | undefined;
1934
2266
  };
1935
2267
  };
@@ -1937,28 +2269,33 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1937
2269
  output: {
1938
2270
  error: string;
1939
2271
  code: string;
2272
+ remediation?: string | undefined;
1940
2273
  };
1941
2274
  outputFormat: "json";
1942
2275
  status: 404;
1943
2276
  input: {
1944
2277
  param: {
1945
- name: string;
2278
+ id: string;
1946
2279
  };
1947
2280
  } & {
1948
2281
  json: {
1949
2282
  modelId: string;
1950
- endpointName?: string | undefined;
2283
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
1951
2284
  displayName?: string | undefined;
1952
2285
  contextSize?: number | undefined;
1953
2286
  capabilities?: {
1954
2287
  input?: {
1955
2288
  image?: {
1956
- mediaTypes: string[];
1957
- maxBytes: number;
2289
+ mediaTypes?: string[] | undefined;
2290
+ maxBytes?: number | undefined;
2291
+ maxWidth?: number | undefined;
2292
+ maxHeight?: number | undefined;
2293
+ maxTotalPixels?: number | undefined;
1958
2294
  } | undefined;
1959
2295
  audio?: {
1960
- mediaTypes: string[];
1961
- maxBytes: number;
2296
+ mediaTypes?: string[] | undefined;
2297
+ maxBytes?: number | undefined;
2298
+ maxLengthSeconds?: number | undefined;
1962
2299
  } | undefined;
1963
2300
  } | undefined;
1964
2301
  voice?: {
@@ -1966,6 +2303,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1966
2303
  tts?: boolean | undefined;
1967
2304
  stt?: boolean | undefined;
1968
2305
  } | undefined;
2306
+ tools?: boolean | undefined;
2307
+ reasoning?: boolean | undefined;
1969
2308
  } | undefined;
1970
2309
  };
1971
2310
  };
@@ -1973,28 +2312,33 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
1973
2312
  output: {
1974
2313
  error: string;
1975
2314
  code: string;
2315
+ remediation?: string | undefined;
1976
2316
  };
1977
2317
  outputFormat: "json";
1978
2318
  status: 409;
1979
2319
  input: {
1980
2320
  param: {
1981
- name: string;
2321
+ id: string;
1982
2322
  };
1983
2323
  } & {
1984
2324
  json: {
1985
2325
  modelId: string;
1986
- endpointName?: string | undefined;
2326
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
1987
2327
  displayName?: string | undefined;
1988
2328
  contextSize?: number | undefined;
1989
2329
  capabilities?: {
1990
2330
  input?: {
1991
2331
  image?: {
1992
- mediaTypes: string[];
1993
- maxBytes: number;
2332
+ mediaTypes?: string[] | undefined;
2333
+ maxBytes?: number | undefined;
2334
+ maxWidth?: number | undefined;
2335
+ maxHeight?: number | undefined;
2336
+ maxTotalPixels?: number | undefined;
1994
2337
  } | undefined;
1995
2338
  audio?: {
1996
- mediaTypes: string[];
1997
- maxBytes: number;
2339
+ mediaTypes?: string[] | undefined;
2340
+ maxBytes?: number | undefined;
2341
+ maxLengthSeconds?: number | undefined;
1998
2342
  } | undefined;
1999
2343
  } | undefined;
2000
2344
  voice?: {
@@ -2002,6 +2346,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2002
2346
  tts?: boolean | undefined;
2003
2347
  stt?: boolean | undefined;
2004
2348
  } | undefined;
2349
+ tools?: boolean | undefined;
2350
+ reasoning?: boolean | undefined;
2005
2351
  } | undefined;
2006
2352
  };
2007
2353
  };
@@ -2009,28 +2355,33 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2009
2355
  output: {
2010
2356
  error: string;
2011
2357
  code: string;
2358
+ remediation?: string | undefined;
2012
2359
  };
2013
2360
  outputFormat: "json";
2014
2361
  status: 500;
2015
2362
  input: {
2016
2363
  param: {
2017
- name: string;
2364
+ id: string;
2018
2365
  };
2019
2366
  } & {
2020
2367
  json: {
2021
2368
  modelId: string;
2022
- endpointName?: string | undefined;
2369
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2023
2370
  displayName?: string | undefined;
2024
2371
  contextSize?: number | undefined;
2025
2372
  capabilities?: {
2026
2373
  input?: {
2027
2374
  image?: {
2028
- mediaTypes: string[];
2029
- maxBytes: number;
2375
+ mediaTypes?: string[] | undefined;
2376
+ maxBytes?: number | undefined;
2377
+ maxWidth?: number | undefined;
2378
+ maxHeight?: number | undefined;
2379
+ maxTotalPixels?: number | undefined;
2030
2380
  } | undefined;
2031
2381
  audio?: {
2032
- mediaTypes: string[];
2033
- maxBytes: number;
2382
+ mediaTypes?: string[] | undefined;
2383
+ maxBytes?: number | undefined;
2384
+ maxLengthSeconds?: number | undefined;
2034
2385
  } | undefined;
2035
2386
  } | undefined;
2036
2387
  voice?: {
@@ -2038,6 +2389,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2038
2389
  tts?: boolean | undefined;
2039
2390
  stt?: boolean | undefined;
2040
2391
  } | undefined;
2392
+ tools?: boolean | undefined;
2393
+ reasoning?: boolean | undefined;
2041
2394
  } | undefined;
2042
2395
  };
2043
2396
  };
@@ -2045,18 +2398,22 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2045
2398
  output: {
2046
2399
  models: {
2047
2400
  modelId: string;
2048
- endpointName?: string | undefined;
2401
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2049
2402
  displayName?: string | undefined;
2050
2403
  contextSize?: number | undefined;
2051
2404
  capabilities?: {
2052
2405
  input?: {
2053
2406
  image?: {
2054
- mediaTypes: string[];
2055
- maxBytes: number;
2407
+ mediaTypes?: string[] | undefined;
2408
+ maxBytes?: number | undefined;
2409
+ maxWidth?: number | undefined;
2410
+ maxHeight?: number | undefined;
2411
+ maxTotalPixels?: number | undefined;
2056
2412
  } | undefined;
2057
2413
  audio?: {
2058
- mediaTypes: string[];
2059
- maxBytes: number;
2414
+ mediaTypes?: string[] | undefined;
2415
+ maxBytes?: number | undefined;
2416
+ maxLengthSeconds?: number | undefined;
2060
2417
  } | undefined;
2061
2418
  } | undefined;
2062
2419
  voice?: {
@@ -2064,30 +2421,42 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2064
2421
  tts?: boolean | undefined;
2065
2422
  stt?: boolean | undefined;
2066
2423
  } | undefined;
2424
+ tools?: boolean | undefined;
2425
+ reasoning?: boolean | undefined;
2067
2426
  } | undefined;
2427
+ source: "discovered" | "manual" | "merged";
2428
+ provenance?: {
2429
+ source: "discovered" | "provider-exact" | "provider-family" | "shared-catalog" | "user";
2430
+ documentationUrl?: string | undefined;
2431
+ reviewedAt?: string | undefined;
2432
+ }[] | undefined;
2068
2433
  }[];
2069
2434
  };
2070
2435
  outputFormat: "json";
2071
- status: 201;
2436
+ status: 200;
2072
2437
  input: {
2073
2438
  param: {
2074
- name: string;
2439
+ id: string;
2075
2440
  };
2076
2441
  } & {
2077
2442
  json: {
2078
2443
  modelId: string;
2079
- endpointName?: string | undefined;
2444
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2080
2445
  displayName?: string | undefined;
2081
2446
  contextSize?: number | undefined;
2082
2447
  capabilities?: {
2083
2448
  input?: {
2084
2449
  image?: {
2085
- mediaTypes: string[];
2086
- maxBytes: number;
2450
+ mediaTypes?: string[] | undefined;
2451
+ maxBytes?: number | undefined;
2452
+ maxWidth?: number | undefined;
2453
+ maxHeight?: number | undefined;
2454
+ maxTotalPixels?: number | undefined;
2087
2455
  } | undefined;
2088
2456
  audio?: {
2089
- mediaTypes: string[];
2090
- maxBytes: number;
2457
+ mediaTypes?: string[] | undefined;
2458
+ maxBytes?: number | undefined;
2459
+ maxLengthSeconds?: number | undefined;
2091
2460
  } | undefined;
2092
2461
  } | undefined;
2093
2462
  voice?: {
@@ -2095,42 +2464,46 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2095
2464
  tts?: boolean | undefined;
2096
2465
  stt?: boolean | undefined;
2097
2466
  } | undefined;
2467
+ tools?: boolean | undefined;
2468
+ reasoning?: boolean | undefined;
2098
2469
  } | undefined;
2099
2470
  };
2100
2471
  };
2101
2472
  };
2102
2473
  };
2103
2474
  } & {
2104
- "/v1/providers/:name/known-models/:modelId": {
2475
+ "/v1/providers/:id/models/:modelId": {
2105
2476
  $patch: {
2106
2477
  output: {
2107
2478
  error: string;
2108
2479
  code: string;
2480
+ remediation?: string | undefined;
2109
2481
  };
2110
2482
  outputFormat: "json";
2111
2483
  status: 400;
2112
2484
  input: {
2113
2485
  param: {
2114
- name: string;
2486
+ id: string;
2115
2487
  modelId: string;
2116
2488
  };
2117
- } & {
2118
- query: {
2119
- endpointName?: string | undefined;
2120
- };
2121
2489
  } & {
2122
2490
  json: {
2491
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2123
2492
  displayName?: string | undefined;
2124
2493
  contextSize?: number | undefined;
2125
2494
  capabilities?: {
2126
2495
  input?: {
2127
2496
  image?: {
2128
- mediaTypes: string[];
2129
- maxBytes: number;
2497
+ mediaTypes?: string[] | undefined;
2498
+ maxBytes?: number | undefined;
2499
+ maxWidth?: number | undefined;
2500
+ maxHeight?: number | undefined;
2501
+ maxTotalPixels?: number | undefined;
2130
2502
  } | undefined;
2131
2503
  audio?: {
2132
- mediaTypes: string[];
2133
- maxBytes: number;
2504
+ mediaTypes?: string[] | undefined;
2505
+ maxBytes?: number | undefined;
2506
+ maxLengthSeconds?: number | undefined;
2134
2507
  } | undefined;
2135
2508
  } | undefined;
2136
2509
  voice?: {
@@ -2138,6 +2511,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2138
2511
  tts?: boolean | undefined;
2139
2512
  stt?: boolean | undefined;
2140
2513
  } | undefined;
2514
+ tools?: boolean | undefined;
2515
+ reasoning?: boolean | undefined;
2141
2516
  } | undefined;
2142
2517
  };
2143
2518
  };
@@ -2145,31 +2520,33 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2145
2520
  output: {
2146
2521
  error: string;
2147
2522
  code: string;
2523
+ remediation?: string | undefined;
2148
2524
  };
2149
2525
  outputFormat: "json";
2150
2526
  status: 404;
2151
2527
  input: {
2152
2528
  param: {
2153
- name: string;
2529
+ id: string;
2154
2530
  modelId: string;
2155
2531
  };
2156
- } & {
2157
- query: {
2158
- endpointName?: string | undefined;
2159
- };
2160
2532
  } & {
2161
2533
  json: {
2534
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2162
2535
  displayName?: string | undefined;
2163
2536
  contextSize?: number | undefined;
2164
2537
  capabilities?: {
2165
2538
  input?: {
2166
2539
  image?: {
2167
- mediaTypes: string[];
2168
- maxBytes: number;
2540
+ mediaTypes?: string[] | undefined;
2541
+ maxBytes?: number | undefined;
2542
+ maxWidth?: number | undefined;
2543
+ maxHeight?: number | undefined;
2544
+ maxTotalPixels?: number | undefined;
2169
2545
  } | undefined;
2170
2546
  audio?: {
2171
- mediaTypes: string[];
2172
- maxBytes: number;
2547
+ mediaTypes?: string[] | undefined;
2548
+ maxBytes?: number | undefined;
2549
+ maxLengthSeconds?: number | undefined;
2173
2550
  } | undefined;
2174
2551
  } | undefined;
2175
2552
  voice?: {
@@ -2177,6 +2554,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2177
2554
  tts?: boolean | undefined;
2178
2555
  stt?: boolean | undefined;
2179
2556
  } | undefined;
2557
+ tools?: boolean | undefined;
2558
+ reasoning?: boolean | undefined;
2180
2559
  } | undefined;
2181
2560
  };
2182
2561
  };
@@ -2184,31 +2563,33 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2184
2563
  output: {
2185
2564
  error: string;
2186
2565
  code: string;
2566
+ remediation?: string | undefined;
2187
2567
  };
2188
2568
  outputFormat: "json";
2189
2569
  status: 500;
2190
2570
  input: {
2191
2571
  param: {
2192
- name: string;
2572
+ id: string;
2193
2573
  modelId: string;
2194
2574
  };
2195
- } & {
2196
- query: {
2197
- endpointName?: string | undefined;
2198
- };
2199
2575
  } & {
2200
2576
  json: {
2577
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2201
2578
  displayName?: string | undefined;
2202
2579
  contextSize?: number | undefined;
2203
2580
  capabilities?: {
2204
2581
  input?: {
2205
2582
  image?: {
2206
- mediaTypes: string[];
2207
- maxBytes: number;
2583
+ mediaTypes?: string[] | undefined;
2584
+ maxBytes?: number | undefined;
2585
+ maxWidth?: number | undefined;
2586
+ maxHeight?: number | undefined;
2587
+ maxTotalPixels?: number | undefined;
2208
2588
  } | undefined;
2209
2589
  audio?: {
2210
- mediaTypes: string[];
2211
- maxBytes: number;
2590
+ mediaTypes?: string[] | undefined;
2591
+ maxBytes?: number | undefined;
2592
+ maxLengthSeconds?: number | undefined;
2212
2593
  } | undefined;
2213
2594
  } | undefined;
2214
2595
  voice?: {
@@ -2216,6 +2597,8 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2216
2597
  tts?: boolean | undefined;
2217
2598
  stt?: boolean | undefined;
2218
2599
  } | undefined;
2600
+ tools?: boolean | undefined;
2601
+ reasoning?: boolean | undefined;
2219
2602
  } | undefined;
2220
2603
  };
2221
2604
  };
@@ -2223,18 +2606,22 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2223
2606
  output: {
2224
2607
  models: {
2225
2608
  modelId: string;
2226
- endpointName?: string | undefined;
2609
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2227
2610
  displayName?: string | undefined;
2228
2611
  contextSize?: number | undefined;
2229
2612
  capabilities?: {
2230
2613
  input?: {
2231
2614
  image?: {
2232
- mediaTypes: string[];
2233
- maxBytes: number;
2615
+ mediaTypes?: string[] | undefined;
2616
+ maxBytes?: number | undefined;
2617
+ maxWidth?: number | undefined;
2618
+ maxHeight?: number | undefined;
2619
+ maxTotalPixels?: number | undefined;
2234
2620
  } | undefined;
2235
2621
  audio?: {
2236
- mediaTypes: string[];
2237
- maxBytes: number;
2622
+ mediaTypes?: string[] | undefined;
2623
+ maxBytes?: number | undefined;
2624
+ maxLengthSeconds?: number | undefined;
2238
2625
  } | undefined;
2239
2626
  } | undefined;
2240
2627
  voice?: {
@@ -2242,33 +2629,42 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2242
2629
  tts?: boolean | undefined;
2243
2630
  stt?: boolean | undefined;
2244
2631
  } | undefined;
2632
+ tools?: boolean | undefined;
2633
+ reasoning?: boolean | undefined;
2245
2634
  } | undefined;
2635
+ source: "discovered" | "manual" | "merged";
2636
+ provenance?: {
2637
+ source: "discovered" | "provider-exact" | "provider-family" | "shared-catalog" | "user";
2638
+ documentationUrl?: string | undefined;
2639
+ reviewedAt?: string | undefined;
2640
+ }[] | undefined;
2246
2641
  }[];
2247
2642
  };
2248
2643
  outputFormat: "json";
2249
2644
  status: 200;
2250
2645
  input: {
2251
2646
  param: {
2252
- name: string;
2647
+ id: string;
2253
2648
  modelId: string;
2254
2649
  };
2255
- } & {
2256
- query: {
2257
- endpointName?: string | undefined;
2258
- };
2259
2650
  } & {
2260
2651
  json: {
2652
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2261
2653
  displayName?: string | undefined;
2262
2654
  contextSize?: number | undefined;
2263
2655
  capabilities?: {
2264
2656
  input?: {
2265
2657
  image?: {
2266
- mediaTypes: string[];
2267
- maxBytes: number;
2658
+ mediaTypes?: string[] | undefined;
2659
+ maxBytes?: number | undefined;
2660
+ maxWidth?: number | undefined;
2661
+ maxHeight?: number | undefined;
2662
+ maxTotalPixels?: number | undefined;
2268
2663
  } | undefined;
2269
2664
  audio?: {
2270
- mediaTypes: string[];
2271
- maxBytes: number;
2665
+ mediaTypes?: string[] | undefined;
2666
+ maxBytes?: number | undefined;
2667
+ maxLengthSeconds?: number | undefined;
2272
2668
  } | undefined;
2273
2669
  } | undefined;
2274
2670
  voice?: {
@@ -2276,80 +2672,91 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2276
2672
  tts?: boolean | undefined;
2277
2673
  stt?: boolean | undefined;
2278
2674
  } | undefined;
2675
+ tools?: boolean | undefined;
2676
+ reasoning?: boolean | undefined;
2279
2677
  } | undefined;
2280
2678
  };
2281
2679
  };
2282
2680
  };
2283
2681
  };
2284
2682
  } & {
2285
- "/v1/providers/:name/known-models/:modelId": {
2683
+ "/v1/providers/:id/models/:modelId": {
2286
2684
  $delete: {
2287
2685
  output: {
2288
2686
  error: string;
2289
2687
  code: string;
2688
+ remediation?: string | undefined;
2290
2689
  };
2291
2690
  outputFormat: "json";
2292
2691
  status: 400;
2293
2692
  input: {
2294
2693
  param: {
2295
- name: string;
2694
+ id: string;
2296
2695
  modelId: string;
2297
2696
  };
2298
- } & {
2299
- query: {
2300
- endpointName?: string | undefined;
2301
- };
2302
2697
  };
2303
2698
  } | {
2304
2699
  output: {
2305
2700
  error: string;
2306
2701
  code: string;
2702
+ remediation?: string | undefined;
2307
2703
  };
2308
2704
  outputFormat: "json";
2309
2705
  status: 404;
2310
2706
  input: {
2311
2707
  param: {
2312
- name: string;
2708
+ id: string;
2313
2709
  modelId: string;
2314
2710
  };
2315
- } & {
2316
- query: {
2317
- endpointName?: string | undefined;
2711
+ };
2712
+ } | {
2713
+ output: {
2714
+ error: string;
2715
+ code: string;
2716
+ remediation?: string | undefined;
2717
+ };
2718
+ outputFormat: "json";
2719
+ status: 409;
2720
+ input: {
2721
+ param: {
2722
+ id: string;
2723
+ modelId: string;
2318
2724
  };
2319
2725
  };
2320
2726
  } | {
2321
2727
  output: {
2322
2728
  error: string;
2323
2729
  code: string;
2730
+ remediation?: string | undefined;
2324
2731
  };
2325
2732
  outputFormat: "json";
2326
2733
  status: 500;
2327
2734
  input: {
2328
2735
  param: {
2329
- name: string;
2736
+ id: string;
2330
2737
  modelId: string;
2331
2738
  };
2332
- } & {
2333
- query: {
2334
- endpointName?: string | undefined;
2335
- };
2336
2739
  };
2337
2740
  } | {
2338
2741
  output: {
2339
2742
  models: {
2340
2743
  modelId: string;
2341
- endpointName?: string | undefined;
2744
+ kind?: "embedding" | "image-generation" | "language" | "moderation" | "reranking" | "speech-to-speech" | "speech-to-text" | "text-to-speech" | "unknown" | undefined;
2342
2745
  displayName?: string | undefined;
2343
2746
  contextSize?: number | undefined;
2344
2747
  capabilities?: {
2345
2748
  input?: {
2346
2749
  image?: {
2347
- mediaTypes: string[];
2348
- maxBytes: number;
2750
+ mediaTypes?: string[] | undefined;
2751
+ maxBytes?: number | undefined;
2752
+ maxWidth?: number | undefined;
2753
+ maxHeight?: number | undefined;
2754
+ maxTotalPixels?: number | undefined;
2349
2755
  } | undefined;
2350
2756
  audio?: {
2351
- mediaTypes: string[];
2352
- maxBytes: number;
2757
+ mediaTypes?: string[] | undefined;
2758
+ maxBytes?: number | undefined;
2759
+ maxLengthSeconds?: number | undefined;
2353
2760
  } | undefined;
2354
2761
  } | undefined;
2355
2762
  voice?: {
@@ -2357,20 +2764,24 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2357
2764
  tts?: boolean | undefined;
2358
2765
  stt?: boolean | undefined;
2359
2766
  } | undefined;
2767
+ tools?: boolean | undefined;
2768
+ reasoning?: boolean | undefined;
2360
2769
  } | undefined;
2770
+ source: "discovered" | "manual" | "merged";
2771
+ provenance?: {
2772
+ source: "discovered" | "provider-exact" | "provider-family" | "shared-catalog" | "user";
2773
+ documentationUrl?: string | undefined;
2774
+ reviewedAt?: string | undefined;
2775
+ }[] | undefined;
2361
2776
  }[];
2362
2777
  };
2363
2778
  outputFormat: "json";
2364
2779
  status: 200;
2365
2780
  input: {
2366
2781
  param: {
2367
- name: string;
2782
+ id: string;
2368
2783
  modelId: string;
2369
2784
  };
2370
- } & {
2371
- query: {
2372
- endpointName?: string | undefined;
2373
- };
2374
2785
  };
2375
2786
  };
2376
2787
  };
@@ -2380,6 +2791,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2380
2791
  output: {
2381
2792
  error: string;
2382
2793
  code: string;
2794
+ remediation?: string | undefined;
2383
2795
  };
2384
2796
  outputFormat: "json";
2385
2797
  status: 400;
@@ -2392,6 +2804,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2392
2804
  output: {
2393
2805
  error: string;
2394
2806
  code: string;
2807
+ remediation?: string | undefined;
2395
2808
  };
2396
2809
  outputFormat: "json";
2397
2810
  status: 404;
@@ -2404,6 +2817,7 @@ export type AdminApi = import("hono/hono-base").HonoBase<any, {
2404
2817
  output: {
2405
2818
  error: string;
2406
2819
  code: string;
2820
+ remediation?: string | undefined;
2407
2821
  };
2408
2822
  outputFormat: "json";
2409
2823
  status: 500;