from marshmallow import Schema, fields class AgentSchema(Schema): id = fields.Integer(dump_only=True) workspace_id = fields.Integer() name = fields.String(required=True) description = fields.String(allow_none=True) system_prompt = fields.String(allow_none=True) model_id = fields.String(allow_none=True) temperature = fields.Float() max_tokens = fields.Integer() is_active = fields.Boolean() created_at = fields.DateTime(dump_only=True) updated_at = fields.DateTime(dump_only=True) class AgentCreateSchema(Schema): name = fields.String(required=True) description = fields.String(allow_none=True) system_prompt = fields.String(allow_none=True) model_id = fields.String(allow_none=True) temperature = fields.Float() max_tokens = fields.Integer() class AgentUpdateSchema(Schema): name = fields.String() description = fields.String() system_prompt = fields.String() model_id = fields.String() temperature = fields.Float() max_tokens = fields.Integer() is_active = fields.Boolean()