from marshmallow import Schema, fields class MessageSchema(Schema): id = fields.Integer(dump_only=True) conversation_id = fields.Integer() role = fields.String(required=True) content = fields.String(required=True) tokens = fields.Integer(allow_none=True) model = fields.String(allow_none=True) tool_calls = fields.List(fields.Dict(), allow_none=True) metadata = fields.Dict(allow_none=True) created_at = fields.DateTime(dump_only=True) class MessageCreateSchema(Schema): role = fields.String(required=True) content = fields.String(required=True) tool_calls = fields.List(fields.Dict(), allow_none=True) metadata = fields.Dict(allow_none=True)