Files
social-app/backend/src/schemas/memories/__init__.py
T

56 lines
1.0 KiB
Python

from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import ClassVar, Literal
from uuid import UUID
from pydantic import BaseModel, ConfigDict
from schemas.memories.memory_content import (
TeamMember,
UserMemoryContent,
UserPreferences,
WorkHabit,
WorkProfileContent,
WorkProject,
)
class MemoryType(str, Enum):
USER = "user"
WORK = "work"
class MemoryStatus(str, Enum):
ACTIVE = "active"
DISABLED = "disabled"
class MemoryModel(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(
extra="forbid", from_attributes=True
)
id: UUID
owner_id: UUID
agent_id: UUID | None = None
memory_type: Literal["user", "work"]
content: UserMemoryContent | WorkProfileContent
status: MemoryStatus
created_at: datetime
updated_at: datetime
__all__ = [
"MemoryModel",
"MemoryStatus",
"MemoryType",
"TeamMember",
"UserMemoryContent",
"UserPreferences",
"WorkHabit",
"WorkProfileContent",
"WorkProject",
]