| from pydantic import BaseModel, Field | |
| class KnowledgeItemRequest(BaseModel): | |
| """Request model for updating a knowledge item.""" | |
| title: str | None = None | |
| description: str | None = None | |
| tags: list[str] | None = None | |
| knowledge_type: str | None = None | |
| is_active: bool | None = None | |
| class CrawlRequest(BaseModel): | |
| """Request model for starting a crawl operation.""" | |
| url: str | |
| max_depth: int = 2 | |
| knowledge_type: str = "technical" | |
| tags: list[str] = Field(default_factory=list) | |
| max_concurrent: int = 3 | |
| class RagQueryRequest(BaseModel): | |
| """Request model for RAG queries.""" | |
| query: str | |
| source_ids: list[str] | None = None | |
| limit: int = 5 | |
| include_raw: bool = False | |
| class CrawlStartResponse(BaseModel): | |
| """Response model for a started crawl operation.""" | |
| success: bool | |
| progressId: str | |
| message: str | |
| estimatedDuration: str = "3-5 minutes" | |