diff --git a/app/models.py b/app/models.py index b00cec9..a2031d8 100644 --- a/app/models.py +++ b/app/models.py @@ -243,6 +243,7 @@ class AgentRunLog(Base): status: Mapped[str] = mapped_column(AgentStatusEnum, nullable=False, default="running") items_processed: Mapped[int] = mapped_column(Integer, nullable=False, default=0) items_created: Mapped[int] = mapped_column(Integer, nullable=False, default=0) + tokens_used: Mapped[int] = mapped_column(Integer, nullable=False, default=0, server_default="0") errors: Mapped[list | None] = mapped_column(JSON, nullable=True) started_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), nullable=False, server_default=func.now() @@ -263,6 +264,17 @@ class AgentRunLog(Base): ) +class MonthlyTokenUsage(Base): + __tablename__ = "monthly_token_usage" + + user_id: Mapped[str] = mapped_column( + Uuid(as_uuid=False), ForeignKey("users.id", ondelete="CASCADE"), primary_key=True + ) + year_month: Mapped[str] = mapped_column(String(7), primary_key=True) # 'YYYY-MM' + feature: Mapped[str] = mapped_column(String(64), primary_key=True) + tokens_used: Mapped[int] = mapped_column(Integer, nullable=False, default=0, server_default="0") + + # ── Memory models ─────────────────────────────────────────────────────────────