| from uuid import UUID |
| from datetime import datetime |
| from typing import Optional, List |
| from pydantic import BaseModel, Field |
|
|
| class Agent(BaseModel): |
| id: str |
| name: str |
| project_id: str |
| input_variables: Optional[List[str]] |
| prompt: str |
| is_template: Optional[bool] |
| routes: Optional[List[str]] |
| routes_description: Optional[List[str]] |
| output_collector: Optional[str] |
|
|
| output_variables: Optional[List[str]] |
| input_api_endpoints: Optional[List[str]] |
| output_api_endpoints: Optional[List[str]] |
|
|
| conversation_style: float = Field(..., ge=-9.9, le=9.9) |
| creativity: float = Field(..., ge=0.0, le=1.0) |
| fallback_message: str |
| fallback_threshold: float |
|
|
|
|
| class OutputCollector(BaseModel): |
| id: str |
| project_id: str |
| keys: List[str] |
| descriptions: List[str] |
| data_types: List[str] |
|
|
|
|
| class APIEndpoint(BaseModel): |
| id: str |
| project_id: str |
| name: str |
| description: Optional[str] |
| |
| input_variables: Optional[list] |
|
|
| url: str |
| method: str |
| headers: Optional[dict] |
| params: Optional[dict] |
| request_body: Optional[dict] |
|
|
| html_to_markdown: Optional[bool] |
| html_tags_to_extract: Optional[list] |
|
|
| response_type: Optional[str] |
|
|
|
|