from rest_framework import serializers from .models import AIInteraction, AgentConfig class AIInteractionSerializer(serializers.ModelSerializer): class Meta: model = AIInteraction fields = "__all__" read_only_fields = ["id", "created_at"] class ChatRequestSerializer(serializers.Serializer): agent_id = serializers.IntegerField(required=False) message = serializers.CharField() session_id = serializers.CharField(required=False, allow_blank=True) history = serializers.ListField(required=False, default=list) system_prompt_override = serializers.CharField(required=False, allow_blank=True) temperature = serializers.FloatField(required=False) max_tokens = serializers.IntegerField(required=False) class AgentConfigSerializer(serializers.ModelSerializer): class Meta: model = AgentConfig fields = ["id", "name", "description", "provider", "model_name", "temperature", "max_tokens", "system_prompt", "capabilities", "is_active", "is_default", "base_url", "created_at", "updated_at"] read_only_fields = ["id", "created_at", "updated_at"] class AgentConfigWriteSerializer(serializers.ModelSerializer): class Meta: model = AgentConfig fields = "__all__" read_only_fields = ["id", "created_at", "updated_at"] extra_kwargs = { "api_key": {"write_only": True}, "api_secret": {"write_only": True}, }