From 57e1bffbd5884ff5be8ad597083610a861709d7a Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 26 Sep 2025 15:18:22 -0400 Subject: zen: model management helper --- packages/console/core/src/model.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 packages/console/core/src/model.ts (limited to 'packages/console/core/src') diff --git a/packages/console/core/src/model.ts b/packages/console/core/src/model.ts new file mode 100644 index 000000000..028d94655 --- /dev/null +++ b/packages/console/core/src/model.ts @@ -0,0 +1,30 @@ +import { z } from "zod" + +export namespace ZenModel { + const ModelCostSchema = z.object({ + input: z.number(), + output: z.number(), + cacheRead: z.number().optional(), + cacheWrite5m: z.number().optional(), + cacheWrite1h: z.number().optional(), + }) + + export const ModelSchema = z.object({ + cost: ModelCostSchema, + cost200K: ModelCostSchema.optional(), + allowAnonymous: z.boolean().optional(), + providers: z.array( + z.object({ + id: z.string(), + api: z.string(), + apiKey: z.string(), + model: z.string(), + weight: z.number().optional(), + headerMappings: z.record(z.string(), z.string()).optional(), + disabled: z.boolean().optional(), + }), + ), + }) + + export const ModelsSchema = z.record(z.string(), ModelSchema) +} -- cgit v1.2.3