MVP / dev-agent /app /db /models.py
github-actions[bot]
Deploy application
595d60e
Raw History Blame Contribute Delete
2.33 kB
from sqlalchemy import Column, Integer, String, DateTime, Text, JSON, Boolean
from sqlalchemy.sql import func
from .database import Base
class AgentSpecModel(Base):
__tablename__ = "agent_specs"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, nullable=False)
description = Column(Text)
version = Column(String, nullable=False)
spec_json = Column(JSON, nullable=False)
status = Column(String, default="draft")
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
class AgentVersionModel(Base):
__tablename__ = "agent_versions"
id = Column(Integer, primary_key=True, index=True)
agent_id = Column(Integer, nullable=False)
version = Column(String, nullable=False)
spec_json = Column(JSON, nullable=False)
change_summary = Column(Text)
created_at = Column(DateTime(timezone=True), server_default=func.now())
class DevSessionModel(Base):
__tablename__ = "dev_sessions"
id = Column(String, primary_key=True)
status = Column(String, default="collecting_requirements")
extracted_requirements = Column(JSON, default=dict)
missing_information = Column(JSON, default=list)
clarification_questions = Column(JSON, default=list)
draft_spec = Column(JSON, nullable=True)
validation_result = Column(JSON, nullable=True)
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
class ConversationMessageModel(Base):
__tablename__ = "conversation_messages"
id = Column(Integer, primary_key=True, index=True)
session_id = Column(String, nullable=False)
role = Column(String, nullable=False)
content = Column(Text, nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now())
class ValidationResultModel(Base):
__tablename__ = "validation_results"
id = Column(Integer, primary_key=True, index=True)
agent_id = Column(Integer, nullable=True)
valid = Column(Boolean, nullable=False, default=False)
errors = Column(JSON)
warnings = Column(JSON)
created_at = Column(DateTime(timezone=True), server_default=func.now())