from __future__ import annotations from .shared import BaseModel, Field, Optional class ProjectCreateRequest(BaseModel): title: str description: Optional[str] = None status: str = "active" domain_id: Optional[int] = None assigned_role: Optional[str] = None member_user_ids: list[int] = Field(default_factory=list) class ProjectUpdateRequest(BaseModel): title: Optional[str] = None description: Optional[str] = None status: Optional[str] = None domain_id: Optional[int] = None assigned_role: Optional[str] = None class LinkSignalRequest(BaseModel): link_type: Optional[str] = "related" relevance_score: Optional[float] = 1.0 class ProjectMembersAssignRequest(BaseModel): member_user_ids: list[int] = Field(default_factory=list)