litellm-api 1.0.0 → 1.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.
- package/README.md +55 -0
- package/dist/components-e9x5e8kj.js +149 -0
- package/dist/components-g21ikhwl.cjs +156 -0
- package/dist/components.cjs +8 -152
- package/dist/components.d.mts +16 -192
- package/dist/components.d.mts.map +1 -1
- package/dist/components.mjs +1 -149
- package/dist/index.cjs +40 -384
- package/dist/index.d.ts +108 -232
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +4 -329
- package/dist/schemas-bqv9j0en.js +178 -0
- package/dist/schemas-j2b24ts2.cjs +228 -0
- package/dist/schemas.cjs +32 -227
- package/dist/schemas.d.mts +9 -7
- package/dist/schemas.d.mts.map +1 -1
- package/dist/schemas.mjs +1 -182
- package/dist/types.d.mts +84 -210
- package/dist/types.d.mts.map +1 -1
- package/package.json +8 -9
package/dist/index.mjs
CHANGED
|
@@ -1,152 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return value !== null && value !== undefined;
|
|
5
|
-
}
|
|
6
|
-
function compactObject(obj) {
|
|
7
|
-
return Object.fromEntries(Object.entries(obj).filter(([, value])=>notEmpty(value)));
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
async function client({ url, method, body, headers, pathParams, queryParams, signal, baseUrl = "", token = null, fetchImpl = fetch }) {
|
|
11
|
-
try {
|
|
12
|
-
const requestHeaders = compactObject({
|
|
13
|
-
"Content-Type": "application/json",
|
|
14
|
-
Authorization: token ? `Bearer ${token}` : undefined,
|
|
15
|
-
...headers
|
|
16
|
-
});
|
|
17
|
-
if (requestHeaders["Content-Type"]?.toLowerCase().includes("multipart/form-data")) {
|
|
18
|
-
delete requestHeaders["Content-Type"];
|
|
19
|
-
}
|
|
20
|
-
const payload = body instanceof FormData ? body : requestHeaders["Content-Type"] === "application/json" ? JSON.stringify(body) : body;
|
|
21
|
-
const fullUrl = `${baseUrl}${resolveUrl(url, queryParams, pathParams)}`;
|
|
22
|
-
const response = await fetchImpl(fullUrl, {
|
|
23
|
-
signal,
|
|
24
|
-
method: method.toUpperCase(),
|
|
25
|
-
body: payload,
|
|
26
|
-
headers: requestHeaders
|
|
27
|
-
});
|
|
28
|
-
if (!response.ok) {
|
|
29
|
-
let error;
|
|
30
|
-
try {
|
|
31
|
-
error = await response.json();
|
|
32
|
-
} catch (e) {
|
|
33
|
-
error = {
|
|
34
|
-
status: "unknown",
|
|
35
|
-
payload: e instanceof Error ? `Unexpected error (${e.message})` : "Unexpected error"
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
if (response.headers?.get("content-type")?.includes("json")) {
|
|
41
|
-
return await response.json();
|
|
42
|
-
} else {
|
|
43
|
-
return await response.text();
|
|
44
|
-
}
|
|
45
|
-
} catch (e) {
|
|
46
|
-
const errorObject = {
|
|
47
|
-
name: "unknown",
|
|
48
|
-
message: e instanceof Error ? `Network error (${e.message})` : "Network error",
|
|
49
|
-
stack: e
|
|
50
|
-
};
|
|
51
|
-
throw errorObject;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const resolveUrl = (url, queryParams = {}, pathParams = {})=>{
|
|
55
|
-
let query = new URLSearchParams(queryParams).toString();
|
|
56
|
-
if (query) query = `?${query}`;
|
|
57
|
-
return url.replace(/\{\w*\}/g, (key)=>pathParams[key.slice(1, -1)] ?? "") + query;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* @summary Create a Stripe Checkout session for API access
|
|
62
|
-
* @description Returns a Stripe Checkout URL. After payment, you'll receive an API key.
|
|
63
|
-
* @link /billing/checkout
|
|
64
|
-
*/ async function createCheckoutBillingCheckoutPost({ config } = {}) {
|
|
65
|
-
const { client: request = client, ...requestConfig } = config ?? {};
|
|
66
|
-
const data = await request({
|
|
67
|
-
method: "POST",
|
|
68
|
-
url: `/billing/checkout`,
|
|
69
|
-
...requestConfig,
|
|
70
|
-
headers: {
|
|
71
|
-
...requestConfig.headers
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
return data;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* @summary Check your free-tier usage
|
|
78
|
-
* @description See how many requests you've used today (free tier, by IP).
|
|
79
|
-
* @link /billing/usage
|
|
80
|
-
*/ async function checkUsageBillingUsageGet({ config } = {}) {
|
|
81
|
-
const { client: request = client, ...requestConfig } = config ?? {};
|
|
82
|
-
const data = await request({
|
|
83
|
-
method: "GET",
|
|
84
|
-
url: `/billing/usage`,
|
|
85
|
-
...requestConfig,
|
|
86
|
-
headers: {
|
|
87
|
-
...requestConfig.headers
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return data;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* @summary List the full LiteLLM model catalog
|
|
94
|
-
* @description Returns model pricing, context window sizes, and capability metadata from LiteLLM's built-in catalog. Supports filtering by provider, mode, model name pattern, and pagination.
|
|
95
|
-
* @link /model_catalog
|
|
96
|
-
*/ async function listModelCatalogModelCatalogGet({ queryParams, config } = {}) {
|
|
97
|
-
const { client: request = client, ...requestConfig } = config ?? {};
|
|
98
|
-
const data = await request({
|
|
99
|
-
method: "GET",
|
|
100
|
-
url: `/model_catalog`,
|
|
101
|
-
queryParams,
|
|
102
|
-
...requestConfig,
|
|
103
|
-
headers: {
|
|
104
|
-
...requestConfig.headers
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
return data;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @summary Get a single model from the catalog
|
|
111
|
-
* @description Returns detailed information for a specific model by its exact ID.
|
|
112
|
-
* @link /model_catalog/{model_id}
|
|
113
|
-
*/ async function getModelCatalogEntryModelCatalogModelIdGet({ pathParams, config } = {}) {
|
|
114
|
-
const { client: request = client, ...requestConfig } = config ?? {};
|
|
115
|
-
if (!pathParams.model_id) {
|
|
116
|
-
throw new Error(`Missing required path parameter: model_id`);
|
|
117
|
-
}
|
|
118
|
-
const data = await request({
|
|
119
|
-
method: "GET",
|
|
120
|
-
url: `/model_catalog/${pathParams.model_id}`,
|
|
121
|
-
...requestConfig,
|
|
122
|
-
headers: {
|
|
123
|
-
...requestConfig.headers
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
return data;
|
|
127
|
-
}
|
|
128
|
-
const operationsByPath = {
|
|
129
|
-
"POST /billing/checkout": createCheckoutBillingCheckoutPost,
|
|
130
|
-
"GET /billing/usage": checkUsageBillingUsageGet,
|
|
131
|
-
"GET /model_catalog": listModelCatalogModelCatalogGet,
|
|
132
|
-
"GET /model_catalog/{model_id}": getModelCatalogEntryModelCatalogModelIdGet
|
|
133
|
-
};
|
|
134
|
-
const operationsByTag = {
|
|
135
|
-
"billing": {
|
|
136
|
-
createCheckoutBillingCheckoutPost,
|
|
137
|
-
checkUsageBillingUsageGet
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
const tagDictionary = {
|
|
141
|
-
"billing": {
|
|
142
|
-
"POST": [
|
|
143
|
-
"createCheckoutBillingCheckoutPost"
|
|
144
|
-
],
|
|
145
|
-
"GET": [
|
|
146
|
-
"checkUsageBillingUsageGet"
|
|
147
|
-
]
|
|
148
|
-
}
|
|
149
|
-
};
|
|
1
|
+
import { o as operationsByTag, c as client } from './components-e9x5e8kj.js';
|
|
2
|
+
export { a as operationsByPath, t as tagDictionary } from './components-e9x5e8kj.js';
|
|
3
|
+
export { H as HTTPValidationErrorSchema, c as checkUsageBillingUsageGetResponseSchema, a as checkUsageBillingUsageGetStatus200Schema, b as checkoutResponseSchema, d as createCheckoutBillingCheckoutPostResponseSchema, e as createCheckoutBillingCheckoutPostStatus200Schema, f as freeTierResponseSchema, g as getModelCatalogEntryModelCatalogModelIdGetErrorSchema, h as getModelCatalogEntryModelCatalogModelIdGetPathModelIdSchema, i as getModelCatalogEntryModelCatalogModelIdGetResponseSchema, j as getModelCatalogEntryModelCatalogModelIdGetStatus200Schema, k as getModelCatalogEntryModelCatalogModelIdGetStatus422Schema, l as listModelCatalogModelCatalogGetErrorSchema, m as listModelCatalogModelCatalogGetQueryModeSchema, n as listModelCatalogModelCatalogGetQueryModelSchema, o as listModelCatalogModelCatalogGetQueryPageSchema, p as listModelCatalogModelCatalogGetQueryPageSizeSchema, q as listModelCatalogModelCatalogGetQueryProviderSchema, r as listModelCatalogModelCatalogGetQuerySupportsAudioInputSchema, s as listModelCatalogModelCatalogGetQuerySupportsAudioOutputSchema, t as listModelCatalogModelCatalogGetQuerySupportsFunctionCallingSchema, u as listModelCatalogModelCatalogGetQuerySupportsPromptCachingSchema, v as listModelCatalogModelCatalogGetQuerySupportsReasoningSchema, w as listModelCatalogModelCatalogGetQuerySupportsResponseSchemaSchema, x as listModelCatalogModelCatalogGetQuerySupportsVisionSchema, y as listModelCatalogModelCatalogGetResponseSchema, z as listModelCatalogModelCatalogGetStatus200Schema, A as listModelCatalogModelCatalogGetStatus422Schema, B as modelCatalogEntrySchema, C as modelCatalogListResponseSchema, D as validationErrorSchema } from './schemas-bqv9j0en.js';
|
|
150
4
|
|
|
151
5
|
class LiteLLMApi {
|
|
152
6
|
#baseUrl;
|
|
@@ -201,183 +55,4 @@ class LiteLLMApi {
|
|
|
201
55
|
}
|
|
202
56
|
}
|
|
203
57
|
|
|
204
|
-
|
|
205
|
-
const checkoutResponseSchema = z.object({
|
|
206
|
-
"url": z.string().describe("Stripe Checkout URL — redirect the user here")
|
|
207
|
-
});
|
|
208
|
-
const freeTierResponseSchema = z.object({
|
|
209
|
-
"ip_hash": z.string(),
|
|
210
|
-
"requests_today": z.int(),
|
|
211
|
-
"daily_limit": z.int(),
|
|
212
|
-
"remaining": z.int()
|
|
213
|
-
});
|
|
214
|
-
const validationErrorSchema = z.object({
|
|
215
|
-
"loc": z.array(z.union([
|
|
216
|
-
z.string(),
|
|
217
|
-
z.int()
|
|
218
|
-
])),
|
|
219
|
-
"msg": z.string(),
|
|
220
|
-
"type": z.string(),
|
|
221
|
-
"input": z.unknown().optional(),
|
|
222
|
-
"ctx": z.object({}).optional()
|
|
223
|
-
});
|
|
224
|
-
const HTTPValidationErrorSchema = z.object({
|
|
225
|
-
"detail": z.array(validationErrorSchema).optional()
|
|
226
|
-
});
|
|
227
|
-
const modelCatalogEntrySchema = z.object({
|
|
228
|
-
"id": z.string().describe("Canonical model identifier (e.g. 'gpt-4o')"),
|
|
229
|
-
"object": z.string().optional().default("model_catalog.entry"),
|
|
230
|
-
"provider": z.union([
|
|
231
|
-
z.string(),
|
|
232
|
-
z.null()
|
|
233
|
-
]).optional().describe("LiteLLM provider key (e.g. 'openai', 'azure')"),
|
|
234
|
-
"mode": z.union([
|
|
235
|
-
z.string(),
|
|
236
|
-
z.null()
|
|
237
|
-
]).optional().describe("Model mode: chat, embedding, completion, image_generation, etc."),
|
|
238
|
-
"max_input_tokens": z.union([
|
|
239
|
-
z.int(),
|
|
240
|
-
z.null()
|
|
241
|
-
]).optional(),
|
|
242
|
-
"max_output_tokens": z.union([
|
|
243
|
-
z.int(),
|
|
244
|
-
z.null()
|
|
245
|
-
]).optional(),
|
|
246
|
-
"max_tokens": z.union([
|
|
247
|
-
z.int(),
|
|
248
|
-
z.null()
|
|
249
|
-
]).optional().describe("Legacy combined token limit"),
|
|
250
|
-
"input_cost_per_token": z.union([
|
|
251
|
-
z.number(),
|
|
252
|
-
z.null()
|
|
253
|
-
]).optional(),
|
|
254
|
-
"output_cost_per_token": z.union([
|
|
255
|
-
z.number(),
|
|
256
|
-
z.null()
|
|
257
|
-
]).optional(),
|
|
258
|
-
"cache_read_input_token_cost": z.union([
|
|
259
|
-
z.number(),
|
|
260
|
-
z.null()
|
|
261
|
-
]).optional(),
|
|
262
|
-
"input_cost_per_audio_token": z.union([
|
|
263
|
-
z.number(),
|
|
264
|
-
z.null()
|
|
265
|
-
]).optional(),
|
|
266
|
-
"output_cost_per_reasoning_token": z.union([
|
|
267
|
-
z.number(),
|
|
268
|
-
z.null()
|
|
269
|
-
]).optional(),
|
|
270
|
-
"deprecation_date": z.union([
|
|
271
|
-
z.string(),
|
|
272
|
-
z.null()
|
|
273
|
-
]).optional().describe("ISO date when the model is deprecated (YYYY-MM-DD)"),
|
|
274
|
-
"supports_function_calling": z.union([
|
|
275
|
-
z.boolean(),
|
|
276
|
-
z.null()
|
|
277
|
-
]).optional(),
|
|
278
|
-
"supports_parallel_function_calling": z.union([
|
|
279
|
-
z.boolean(),
|
|
280
|
-
z.null()
|
|
281
|
-
]).optional(),
|
|
282
|
-
"supports_vision": z.union([
|
|
283
|
-
z.boolean(),
|
|
284
|
-
z.null()
|
|
285
|
-
]).optional(),
|
|
286
|
-
"supports_audio_input": z.union([
|
|
287
|
-
z.boolean(),
|
|
288
|
-
z.null()
|
|
289
|
-
]).optional(),
|
|
290
|
-
"supports_audio_output": z.union([
|
|
291
|
-
z.boolean(),
|
|
292
|
-
z.null()
|
|
293
|
-
]).optional(),
|
|
294
|
-
"supports_prompt_caching": z.union([
|
|
295
|
-
z.boolean(),
|
|
296
|
-
z.null()
|
|
297
|
-
]).optional(),
|
|
298
|
-
"supports_reasoning": z.union([
|
|
299
|
-
z.boolean(),
|
|
300
|
-
z.null()
|
|
301
|
-
]).optional(),
|
|
302
|
-
"supports_response_schema": z.union([
|
|
303
|
-
z.boolean(),
|
|
304
|
-
z.null()
|
|
305
|
-
]).optional(),
|
|
306
|
-
"supports_system_messages": z.union([
|
|
307
|
-
z.boolean(),
|
|
308
|
-
z.null()
|
|
309
|
-
]).optional(),
|
|
310
|
-
"supports_web_search": z.union([
|
|
311
|
-
z.boolean(),
|
|
312
|
-
z.null()
|
|
313
|
-
]).optional()
|
|
314
|
-
}).catchall(z.unknown()).describe("A single model in the catalog.");
|
|
315
|
-
const modelCatalogListResponseSchema = z.object({
|
|
316
|
-
"object": z.string().optional().default("list"),
|
|
317
|
-
"data": z.array(modelCatalogEntrySchema),
|
|
318
|
-
"total_count": z.int().describe("Total models matching the filters"),
|
|
319
|
-
"has_more": z.boolean(),
|
|
320
|
-
"page": z.int(),
|
|
321
|
-
"page_size": z.int()
|
|
322
|
-
}).describe("Stripe-style list response.");
|
|
323
|
-
const createCheckoutBillingCheckoutPostStatus200Schema = checkoutResponseSchema;
|
|
324
|
-
const createCheckoutBillingCheckoutPostResponseSchema = createCheckoutBillingCheckoutPostStatus200Schema;
|
|
325
|
-
const checkUsageBillingUsageGetStatus200Schema = freeTierResponseSchema;
|
|
326
|
-
const checkUsageBillingUsageGetResponseSchema = checkUsageBillingUsageGetStatus200Schema;
|
|
327
|
-
const listModelCatalogModelCatalogGetQueryProviderSchema = z.union([
|
|
328
|
-
z.string(),
|
|
329
|
-
z.null()
|
|
330
|
-
]).optional().describe("Filter by provider (e.g. 'openai', 'anthropic', 'bedrock'). Case-insensitive.");
|
|
331
|
-
const listModelCatalogModelCatalogGetQueryModeSchema = z.union([
|
|
332
|
-
z.string(),
|
|
333
|
-
z.null()
|
|
334
|
-
]).optional().describe("Filter by mode (e.g. 'chat', 'embedding', 'image_generation').");
|
|
335
|
-
const listModelCatalogModelCatalogGetQueryModelSchema = z.union([
|
|
336
|
-
z.string(),
|
|
337
|
-
z.null()
|
|
338
|
-
]).optional().describe("Filter by model name. Supports substring match or regex (prefix with 're:').");
|
|
339
|
-
const listModelCatalogModelCatalogGetQuerySupportsVisionSchema = z.union([
|
|
340
|
-
z.boolean(),
|
|
341
|
-
z.null()
|
|
342
|
-
]).optional();
|
|
343
|
-
const listModelCatalogModelCatalogGetQuerySupportsFunctionCallingSchema = z.union([
|
|
344
|
-
z.boolean(),
|
|
345
|
-
z.null()
|
|
346
|
-
]).optional();
|
|
347
|
-
const listModelCatalogModelCatalogGetQuerySupportsReasoningSchema = z.union([
|
|
348
|
-
z.boolean(),
|
|
349
|
-
z.null()
|
|
350
|
-
]).optional();
|
|
351
|
-
const listModelCatalogModelCatalogGetQuerySupportsAudioInputSchema = z.union([
|
|
352
|
-
z.boolean(),
|
|
353
|
-
z.null()
|
|
354
|
-
]).optional();
|
|
355
|
-
const listModelCatalogModelCatalogGetQuerySupportsAudioOutputSchema = z.union([
|
|
356
|
-
z.boolean(),
|
|
357
|
-
z.null()
|
|
358
|
-
]).optional();
|
|
359
|
-
const listModelCatalogModelCatalogGetQuerySupportsPromptCachingSchema = z.union([
|
|
360
|
-
z.boolean(),
|
|
361
|
-
z.null()
|
|
362
|
-
]).optional();
|
|
363
|
-
const listModelCatalogModelCatalogGetQuerySupportsResponseSchemaSchema = z.union([
|
|
364
|
-
z.boolean(),
|
|
365
|
-
z.null()
|
|
366
|
-
]).optional();
|
|
367
|
-
const listModelCatalogModelCatalogGetQueryPageSchema = z.int().min(1).optional().default(1).describe("Page number (1-indexed)");
|
|
368
|
-
const listModelCatalogModelCatalogGetQueryPageSizeSchema = z.int().min(1).max(500).optional().default(50).describe("Number of results per page (max 500)");
|
|
369
|
-
const listModelCatalogModelCatalogGetStatus200Schema = modelCatalogListResponseSchema.describe("Stripe-style list response.");
|
|
370
|
-
const listModelCatalogModelCatalogGetStatus422Schema = HTTPValidationErrorSchema;
|
|
371
|
-
const listModelCatalogModelCatalogGetResponseSchema = z.union([
|
|
372
|
-
listModelCatalogModelCatalogGetStatus200Schema,
|
|
373
|
-
listModelCatalogModelCatalogGetStatus422Schema
|
|
374
|
-
]);
|
|
375
|
-
const getModelCatalogEntryModelCatalogModelIdGetPathModelIdSchema = z.string();
|
|
376
|
-
const getModelCatalogEntryModelCatalogModelIdGetStatus200Schema = modelCatalogEntrySchema.describe("A single model in the catalog.");
|
|
377
|
-
const getModelCatalogEntryModelCatalogModelIdGetStatus422Schema = HTTPValidationErrorSchema;
|
|
378
|
-
const getModelCatalogEntryModelCatalogModelIdGetResponseSchema = z.union([
|
|
379
|
-
getModelCatalogEntryModelCatalogModelIdGetStatus200Schema,
|
|
380
|
-
getModelCatalogEntryModelCatalogModelIdGetStatus422Schema
|
|
381
|
-
]);
|
|
382
|
-
|
|
383
|
-
export { HTTPValidationErrorSchema, LiteLLMApi, checkUsageBillingUsageGetResponseSchema, checkUsageBillingUsageGetStatus200Schema, checkoutResponseSchema, createCheckoutBillingCheckoutPostResponseSchema, createCheckoutBillingCheckoutPostStatus200Schema, freeTierResponseSchema, getModelCatalogEntryModelCatalogModelIdGetPathModelIdSchema, getModelCatalogEntryModelCatalogModelIdGetResponseSchema, getModelCatalogEntryModelCatalogModelIdGetStatus200Schema, getModelCatalogEntryModelCatalogModelIdGetStatus422Schema, listModelCatalogModelCatalogGetQueryModeSchema, listModelCatalogModelCatalogGetQueryModelSchema, listModelCatalogModelCatalogGetQueryPageSchema, listModelCatalogModelCatalogGetQueryPageSizeSchema, listModelCatalogModelCatalogGetQueryProviderSchema, listModelCatalogModelCatalogGetQuerySupportsAudioInputSchema, listModelCatalogModelCatalogGetQuerySupportsAudioOutputSchema, listModelCatalogModelCatalogGetQuerySupportsFunctionCallingSchema, listModelCatalogModelCatalogGetQuerySupportsPromptCachingSchema, listModelCatalogModelCatalogGetQuerySupportsReasoningSchema, listModelCatalogModelCatalogGetQuerySupportsResponseSchemaSchema, listModelCatalogModelCatalogGetQuerySupportsVisionSchema, listModelCatalogModelCatalogGetResponseSchema, listModelCatalogModelCatalogGetStatus200Schema, listModelCatalogModelCatalogGetStatus422Schema, modelCatalogEntrySchema, modelCatalogListResponseSchema, operationsByPath, operationsByTag, tagDictionary, validationErrorSchema };
|
|
58
|
+
export { LiteLLMApi, operationsByTag };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
const checkoutResponseSchema = z.object({
|
|
5
|
+
url: z.string().describe("Stripe Checkout URL — redirect the user here")
|
|
6
|
+
});
|
|
7
|
+
const freeTierResponseSchema = z.object({
|
|
8
|
+
ip_hash: z.string(),
|
|
9
|
+
requests_today: z.int(),
|
|
10
|
+
daily_limit: z.int(),
|
|
11
|
+
remaining: z.int()
|
|
12
|
+
});
|
|
13
|
+
const validationErrorSchema = z.object({
|
|
14
|
+
loc: z.array(z.union([
|
|
15
|
+
z.string(),
|
|
16
|
+
z.int()
|
|
17
|
+
])),
|
|
18
|
+
msg: z.string(),
|
|
19
|
+
type: z.string(),
|
|
20
|
+
input: z.unknown().optional(),
|
|
21
|
+
ctx: z.object({}).optional()
|
|
22
|
+
});
|
|
23
|
+
const HTTPValidationErrorSchema = z.object({
|
|
24
|
+
detail: z.array(validationErrorSchema).optional()
|
|
25
|
+
});
|
|
26
|
+
const modelCatalogEntrySchema = z.object({
|
|
27
|
+
id: z.string().describe("Canonical model identifier (e.g. 'gpt-4o')"),
|
|
28
|
+
object: z.string().optional().default("model_catalog.entry"),
|
|
29
|
+
provider: z.union([
|
|
30
|
+
z.string(),
|
|
31
|
+
z.null()
|
|
32
|
+
]).optional().describe("LiteLLM provider key (e.g. 'openai', 'azure')"),
|
|
33
|
+
mode: z.union([
|
|
34
|
+
z.string(),
|
|
35
|
+
z.null()
|
|
36
|
+
]).optional().describe("Model mode: chat, embedding, completion, image_generation, etc."),
|
|
37
|
+
max_input_tokens: z.union([
|
|
38
|
+
z.int(),
|
|
39
|
+
z.null()
|
|
40
|
+
]).optional(),
|
|
41
|
+
max_output_tokens: z.union([
|
|
42
|
+
z.int(),
|
|
43
|
+
z.null()
|
|
44
|
+
]).optional(),
|
|
45
|
+
max_tokens: z.union([
|
|
46
|
+
z.int(),
|
|
47
|
+
z.null()
|
|
48
|
+
]).optional().describe("Legacy combined token limit"),
|
|
49
|
+
input_cost_per_token: z.union([
|
|
50
|
+
z.number(),
|
|
51
|
+
z.null()
|
|
52
|
+
]).optional(),
|
|
53
|
+
output_cost_per_token: z.union([
|
|
54
|
+
z.number(),
|
|
55
|
+
z.null()
|
|
56
|
+
]).optional(),
|
|
57
|
+
cache_read_input_token_cost: z.union([
|
|
58
|
+
z.number(),
|
|
59
|
+
z.null()
|
|
60
|
+
]).optional(),
|
|
61
|
+
input_cost_per_audio_token: z.union([
|
|
62
|
+
z.number(),
|
|
63
|
+
z.null()
|
|
64
|
+
]).optional(),
|
|
65
|
+
output_cost_per_reasoning_token: z.union([
|
|
66
|
+
z.number(),
|
|
67
|
+
z.null()
|
|
68
|
+
]).optional(),
|
|
69
|
+
deprecation_date: z.union([
|
|
70
|
+
z.string(),
|
|
71
|
+
z.null()
|
|
72
|
+
]).optional().describe("ISO date when the model is deprecated (YYYY-MM-DD)"),
|
|
73
|
+
supports_function_calling: z.union([
|
|
74
|
+
z.boolean(),
|
|
75
|
+
z.null()
|
|
76
|
+
]).optional(),
|
|
77
|
+
supports_parallel_function_calling: z.union([
|
|
78
|
+
z.boolean(),
|
|
79
|
+
z.null()
|
|
80
|
+
]).optional(),
|
|
81
|
+
supports_vision: z.union([
|
|
82
|
+
z.boolean(),
|
|
83
|
+
z.null()
|
|
84
|
+
]).optional(),
|
|
85
|
+
supports_audio_input: z.union([
|
|
86
|
+
z.boolean(),
|
|
87
|
+
z.null()
|
|
88
|
+
]).optional(),
|
|
89
|
+
supports_audio_output: z.union([
|
|
90
|
+
z.boolean(),
|
|
91
|
+
z.null()
|
|
92
|
+
]).optional(),
|
|
93
|
+
supports_prompt_caching: z.union([
|
|
94
|
+
z.boolean(),
|
|
95
|
+
z.null()
|
|
96
|
+
]).optional(),
|
|
97
|
+
supports_reasoning: z.union([
|
|
98
|
+
z.boolean(),
|
|
99
|
+
z.null()
|
|
100
|
+
]).optional(),
|
|
101
|
+
supports_response_schema: z.union([
|
|
102
|
+
z.boolean(),
|
|
103
|
+
z.null()
|
|
104
|
+
]).optional(),
|
|
105
|
+
supports_system_messages: z.union([
|
|
106
|
+
z.boolean(),
|
|
107
|
+
z.null()
|
|
108
|
+
]).optional(),
|
|
109
|
+
supports_web_search: z.union([
|
|
110
|
+
z.boolean(),
|
|
111
|
+
z.null()
|
|
112
|
+
]).optional()
|
|
113
|
+
}).catchall(z.unknown()).describe("A single model in the catalog.");
|
|
114
|
+
const modelCatalogListResponseSchema = z.object({
|
|
115
|
+
object: z.string().optional().default("list"),
|
|
116
|
+
data: z.array(modelCatalogEntrySchema),
|
|
117
|
+
total_count: z.int().describe("Total models matching the filters"),
|
|
118
|
+
has_more: z.boolean(),
|
|
119
|
+
page: z.int(),
|
|
120
|
+
page_size: z.int()
|
|
121
|
+
}).describe("Stripe-style list response.");
|
|
122
|
+
const createCheckoutBillingCheckoutPostStatus200Schema = checkoutResponseSchema;
|
|
123
|
+
const createCheckoutBillingCheckoutPostResponseSchema = createCheckoutBillingCheckoutPostStatus200Schema;
|
|
124
|
+
const checkUsageBillingUsageGetStatus200Schema = freeTierResponseSchema;
|
|
125
|
+
const checkUsageBillingUsageGetResponseSchema = checkUsageBillingUsageGetStatus200Schema;
|
|
126
|
+
const listModelCatalogModelCatalogGetQueryProviderSchema = z.union([
|
|
127
|
+
z.string(),
|
|
128
|
+
z.null()
|
|
129
|
+
]).optional().describe("Filter by provider (e.g. 'openai', 'anthropic', 'bedrock'). Case-insensitive.");
|
|
130
|
+
const listModelCatalogModelCatalogGetQueryModeSchema = z.union([
|
|
131
|
+
z.string(),
|
|
132
|
+
z.null()
|
|
133
|
+
]).optional().describe("Filter by mode (e.g. 'chat', 'embedding', 'image_generation').");
|
|
134
|
+
const listModelCatalogModelCatalogGetQueryModelSchema = z.union([
|
|
135
|
+
z.string(),
|
|
136
|
+
z.null()
|
|
137
|
+
]).optional().describe("Filter by model name. Supports substring match or regex (prefix with 're:').");
|
|
138
|
+
const listModelCatalogModelCatalogGetQuerySupportsVisionSchema = z.union([
|
|
139
|
+
z.boolean(),
|
|
140
|
+
z.null()
|
|
141
|
+
]).optional();
|
|
142
|
+
const listModelCatalogModelCatalogGetQuerySupportsFunctionCallingSchema = z.union([
|
|
143
|
+
z.boolean(),
|
|
144
|
+
z.null()
|
|
145
|
+
]).optional();
|
|
146
|
+
const listModelCatalogModelCatalogGetQuerySupportsReasoningSchema = z.union([
|
|
147
|
+
z.boolean(),
|
|
148
|
+
z.null()
|
|
149
|
+
]).optional();
|
|
150
|
+
const listModelCatalogModelCatalogGetQuerySupportsAudioInputSchema = z.union([
|
|
151
|
+
z.boolean(),
|
|
152
|
+
z.null()
|
|
153
|
+
]).optional();
|
|
154
|
+
const listModelCatalogModelCatalogGetQuerySupportsAudioOutputSchema = z.union([
|
|
155
|
+
z.boolean(),
|
|
156
|
+
z.null()
|
|
157
|
+
]).optional();
|
|
158
|
+
const listModelCatalogModelCatalogGetQuerySupportsPromptCachingSchema = z.union([
|
|
159
|
+
z.boolean(),
|
|
160
|
+
z.null()
|
|
161
|
+
]).optional();
|
|
162
|
+
const listModelCatalogModelCatalogGetQuerySupportsResponseSchemaSchema = z.union([
|
|
163
|
+
z.boolean(),
|
|
164
|
+
z.null()
|
|
165
|
+
]).optional();
|
|
166
|
+
const listModelCatalogModelCatalogGetQueryPageSchema = z.int().min(1).optional().default(1).describe("Page number (1-indexed)");
|
|
167
|
+
const listModelCatalogModelCatalogGetQueryPageSizeSchema = z.int().min(1).max(500).optional().default(50).describe("Number of results per page (max 500)");
|
|
168
|
+
const listModelCatalogModelCatalogGetStatus200Schema = modelCatalogListResponseSchema.describe("Stripe-style list response.");
|
|
169
|
+
const listModelCatalogModelCatalogGetStatus422Schema = HTTPValidationErrorSchema;
|
|
170
|
+
const listModelCatalogModelCatalogGetResponseSchema = listModelCatalogModelCatalogGetStatus200Schema;
|
|
171
|
+
const listModelCatalogModelCatalogGetErrorSchema = listModelCatalogModelCatalogGetStatus422Schema;
|
|
172
|
+
const getModelCatalogEntryModelCatalogModelIdGetPathModelIdSchema = z.string();
|
|
173
|
+
const getModelCatalogEntryModelCatalogModelIdGetStatus200Schema = modelCatalogEntrySchema.describe("A single model in the catalog.");
|
|
174
|
+
const getModelCatalogEntryModelCatalogModelIdGetStatus422Schema = HTTPValidationErrorSchema;
|
|
175
|
+
const getModelCatalogEntryModelCatalogModelIdGetResponseSchema = getModelCatalogEntryModelCatalogModelIdGetStatus200Schema;
|
|
176
|
+
const getModelCatalogEntryModelCatalogModelIdGetErrorSchema = getModelCatalogEntryModelCatalogModelIdGetStatus422Schema;
|
|
177
|
+
|
|
178
|
+
export { listModelCatalogModelCatalogGetStatus422Schema as A, modelCatalogEntrySchema as B, modelCatalogListResponseSchema as C, validationErrorSchema as D, HTTPValidationErrorSchema as H, checkUsageBillingUsageGetStatus200Schema as a, checkoutResponseSchema as b, checkUsageBillingUsageGetResponseSchema as c, createCheckoutBillingCheckoutPostResponseSchema as d, createCheckoutBillingCheckoutPostStatus200Schema as e, freeTierResponseSchema as f, getModelCatalogEntryModelCatalogModelIdGetErrorSchema as g, getModelCatalogEntryModelCatalogModelIdGetPathModelIdSchema as h, getModelCatalogEntryModelCatalogModelIdGetResponseSchema as i, getModelCatalogEntryModelCatalogModelIdGetStatus200Schema as j, getModelCatalogEntryModelCatalogModelIdGetStatus422Schema as k, listModelCatalogModelCatalogGetErrorSchema as l, listModelCatalogModelCatalogGetQueryModeSchema as m, listModelCatalogModelCatalogGetQueryModelSchema as n, listModelCatalogModelCatalogGetQueryPageSchema as o, listModelCatalogModelCatalogGetQueryPageSizeSchema as p, listModelCatalogModelCatalogGetQueryProviderSchema as q, listModelCatalogModelCatalogGetQuerySupportsAudioInputSchema as r, listModelCatalogModelCatalogGetQuerySupportsAudioOutputSchema as s, listModelCatalogModelCatalogGetQuerySupportsFunctionCallingSchema as t, listModelCatalogModelCatalogGetQuerySupportsPromptCachingSchema as u, listModelCatalogModelCatalogGetQuerySupportsReasoningSchema as v, listModelCatalogModelCatalogGetQuerySupportsResponseSchemaSchema as w, listModelCatalogModelCatalogGetQuerySupportsVisionSchema as x, listModelCatalogModelCatalogGetResponseSchema as y, listModelCatalogModelCatalogGetStatus200Schema as z };
|