Files
die/packages/shared/src/domain/model-profile.ts
T

22 lines
671 B
TypeScript

import { z } from "zod";
export const modelCapabilitySchema = z.object({
structuredOutputs: z.boolean().default(false),
jsonMode: z.boolean().default(false)
});
export const modelProfileSchema = z.object({
name: z.string().min(1),
provider: z.string().min(1),
apiBase: z.string().url(),
apiKeyRef: z.string().min(1),
model: z.string().min(1),
temperature: z.number().min(0).max(2).optional(),
maxTokens: z.number().int().positive().optional(),
timeoutMs: z.number().int().positive().optional(),
capabilities: modelCapabilitySchema,
tags: z.array(z.string().min(1)).default([])
});
export type ModelProfile = z.infer<typeof modelProfileSchema>;