diff --git a/src/moai/core/models.py b/src/moai/core/models.py new file mode 100644 index 0000000..e4e6c4c --- /dev/null +++ b/src/moai/core/models.py @@ -0,0 +1,40 @@ +"""SQLAlchemy models for MoAI multi-AI discussion platform. + +Data model hierarchy: + Project (has many) → Discussion (has many) → Round (has many) → Message + ↘ Discussion (has one) → Consensus + +All IDs use UUID stored as String(36) for SQLite compatibility. +Enums are stored as strings for database portability. +""" + +from enum import Enum + +from sqlalchemy.orm import DeclarativeBase + + +class Base(DeclarativeBase): + """Base class for all SQLAlchemy models.""" + + pass + + +class DiscussionType(str, Enum): + """Type of discussion mode.""" + + OPEN = "open" + DISCUSS = "discuss" + + +class DiscussionStatus(str, Enum): + """Status of a discussion.""" + + ACTIVE = "active" + COMPLETED = "completed" + + +class RoundType(str, Enum): + """Type of round in a discussion.""" + + PARALLEL = "parallel" + SEQUENTIAL = "sequential"