"""
Общие модели данных для NMP Plus HTTP API
"""

from pydantic import BaseModel
from typing import Dict, List, Optional, Any

class MemoryRequest(BaseModel):
    content: str
    collection: Optional[str] = "concepts"  # новая коллекция, по умолчанию concepts
    category: Optional[str] = "general"
    project: Optional[str] = "default"
    tags: Optional[List[str]] = []
    metadata: Optional[Dict] = {}

class SearchRequest(BaseModel):
    query: str
    n_results: Optional[int] = 5
    project: Optional[str] = None
    collection: Optional[str] = "concepts"
    bypass_qwen: Optional[bool] = False  # Параметр для отключения QWEN контроля

class CodeErrorRequest(BaseModel):
    error: str
    solution: str
    context: Optional[str] = None
    tags: Optional[List[str]] = []

class WorkflowRequest(BaseModel):
    project_name: str
    description: str
    search_query: Optional[str] = None

class ChatRequest(BaseModel):
    conversation: str
    project: Optional[str] = None
    tags: Optional[List[str]] = []

class ArchitectureRequest(BaseModel):
    decision: str
    alternatives: Optional[str] = None
    rationale: Optional[str] = None

class GitRequest(BaseModel):
    commit: Optional[str] = None
    repository: Optional[str] = None

class AnalyticsRequest(BaseModel):
    data: str
    context: Optional[str] = None 