from pydantic import BaseModel from datetime import datetime from typing import Optional, List class SkillBase(BaseModel): id: str name: str description: Optional[str] = None category: Optional[str] = None content: str tags: Optional[List[str]] = None class Skill(SkillBase): created_at: datetime updated_at: datetime usage_count: int class Config: from_attributes = True class SnippetBase(BaseModel): id: str name: str language: Optional[str] = None content: str category: Optional[str] = None tags: Optional[List[str]] = None class Snippet(SnippetBase): created_at: datetime class Config: from_attributes = True class ConventionBase(BaseModel): id: str project_path: Optional[str] = None name: str content: str auto_inject: bool = False class Convention(ConventionBase): created_at: datetime class Config: from_attributes = True class MemoryBase(BaseModel): id: str project: str key: str content: str class Memory(MemoryBase): created_at: datetime updated_at: datetime class Config: from_attributes = True class ContextBundle(BaseModel): skills: List[Skill] snippets: List[Snippet] conventions: List[Convention] memories: List[Memory]