import { z } from 'zod';

// Define the model IDs for Straico
export type StraicoChatModelId = string;

// Define settings for Straico chat
export interface StraicoChatSettings {
  // Max tokens to generate in the response
  maxTokens?: number;
  // Temperature for the completion
  temperature?: number;
  // Optional files to process along with the prompt
  fileUrls?: string[];
  // Optional YouTube URLs to process
  youtubeUrls?: string[];
}

// Schema for validating Straico settings
export const StraicoChatSettingsSchema = z.object({
  maxTokens: z.number().optional(),
  temperature: z.number().optional(),
  fileUrls: z.array(z.string().url()).optional(),
  youtubeUrls: z.array(z.string().url()).optional(),
}); 