-- =====================================================
-- LLM SCHEMA - ENUMS
-- =====================================================
-- Description: Enumerations for LLM agent system
-- Schema: llm
-- Author: Database Agent
-- Date: 2025-12-06
-- =====================================================

-- Rol del mensaje
CREATE TYPE llm.message_role AS ENUM (
  'user',
  'assistant',
  'system',
  'tool'
);

-- Estado de la conversación
CREATE TYPE llm.conversation_status AS ENUM (
  'active',
  'archived',
  'deleted'
);

-- Tipo de conversación
CREATE TYPE llm.conversation_type AS ENUM (
  'general',          -- Conversación general
  'trading_advice',   -- Consulta sobre trading
  'education',        -- Preguntas educativas
  'market_analysis',  -- Análisis de mercado
  'support',          -- Soporte técnico
  'onboarding'        -- Onboarding de usuario
);

-- Tono de comunicación
CREATE TYPE llm.communication_tone AS ENUM (
  'casual',
  'professional',
  'technical'
);

-- Nivel de verbosidad
CREATE TYPE llm.verbosity_level AS ENUM (
  'brief',
  'normal',
  'detailed'
);

-- Frecuencia de alertas
CREATE TYPE llm.alert_frequency AS ENUM (
  'low',
  'normal',
  'high'
);

-- Tipo de memoria
CREATE TYPE llm.memory_type AS ENUM (
  'fact',        -- Hecho sobre el usuario
  'preference',  -- Preferencia del usuario
  'context',     -- Contexto de conversaciones
  'goal',        -- Objetivo del usuario
  'constraint'   -- Restricción o límite
);
