mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-21 14:42:20 +03:00
Bug Fixes: - #212: Auto-generate API_KEY_SECRET at startup (like JWT_SECRET) - #213: Circuit breaker now scoped per-model instead of per-provider - #200: Connectivity fallback for custom providers (Ollama, LM Studio) Features: - #204: API Format selector (Chat Completions / Responses API) for custom models - #205: Combo endpoint field (chat / embeddings / images) in schema - #206: Supported Endpoints checkboxes (chat, embeddings, images, audio) - Custom models with endpoint tags appear in /v1/embeddings and /v1/images/generations - Model catalog includes api_format, type, and supported_endpoints metadata - Provider detail page shows badges for non-default endpoint configurations Files changed: instrumentation.ts, combo.ts, validation.ts, models.ts, schemas.ts, provider-models/route.ts, providers/[id]/page.tsx, catalog.ts, embeddings/route.ts, images/generations/route.ts
This commit is contained in:
@@ -37,6 +37,7 @@ export const comboNodeSchema = z.object({
|
||||
export const comboSchema = z.object({
|
||||
name: z.string().min(1, "Combo name is required").max(100),
|
||||
model: z.string().min(1, "Model pattern is required"),
|
||||
endpoint: z.enum(["chat", "embeddings", "images"]).default("chat"),
|
||||
strategy: z
|
||||
.enum(["priority", "weighted", "round-robin", "random", "least-used", "cost-optimized"])
|
||||
.default("priority"),
|
||||
|
||||
@@ -300,6 +300,8 @@ export const providerModelMutationSchema = z.object({
|
||||
modelId: z.string().trim().min(1, "modelId is required").max(240),
|
||||
modelName: z.string().trim().max(240).optional(),
|
||||
source: z.string().trim().max(80).optional(),
|
||||
apiFormat: z.enum(["chat-completions", "responses"]).default("chat-completions"),
|
||||
supportedEndpoints: z.array(z.enum(["chat", "embeddings", "images", "audio"])).default(["chat"]),
|
||||
});
|
||||
|
||||
const pricingFieldsSchema = z
|
||||
|
||||
Reference in New Issue
Block a user