PHASE 2 — Mem0-style Extract/Update pipeline

This commit is contained in:
Roberto Musso
2026-04-16 17:57:49 +02:00
parent 2d8abb6311
commit 741b9b87fb
9 changed files with 949 additions and 4 deletions

View File

@@ -351,6 +351,28 @@ class MemoryProactive(Base):
)
class ExtractionQueue(Base):
"""Batch extraction queue for Free-tier users (Phase 2).
Pro/Power/Team users get realtime asyncio.create_task() extraction.
Free users get a queue row here; a daily cron (Phase 5) drains it.
"""
__tablename__ = "extraction_queue"
id: Mapped[str] = mapped_column(Uuid(as_uuid=False), primary_key=True, default=_uuid)
user_id: Mapped[str] = mapped_column(
Uuid(as_uuid=False), ForeignKey("users.id", ondelete="CASCADE"),
nullable=False, index=True,
)
episode_id: Mapped[str | None] = mapped_column(
Uuid(as_uuid=False), nullable=True,
)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)
class Plugin(Base):
"""Plugin marketplace catalog entry."""