import { z } from "zod"; const MAX_TOKENS = 1_000_000_000_000; // 1 trillion export const registerSchema = z.object({ name: z.string().min(1).max(100), platform: z.string().optional(), model: z.string().optional(), }); export const heartbeatSchema = z.object({ name: z.string().optional(), model: z.string().optional(), platform: z.string().optional(), }); export const taskSchema = z.object({ summary: z.string().max(500), durationMs: z.number().positive(), model: z.string().optional(), toolsUsed: z.array(z.string()).optional(), }); export const tokenSchema = z.object({ inputTokens: z.number().int().nonnegative().max(MAX_TOKENS), outputTokens: z.number().int().nonnegative().max(MAX_TOKENS), date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(), }); export type RegisterInput = z.infer; export type HeartbeatInput = z.infer; export type TaskInput = z.infer; export type TokenInput = z.infer;