Spaces:
Runtime error
Runtime error
| from typing import Dict, List, Optional, Any | |
| from typing_extensions import TypedDict | |
| class UserRequirements(TypedDict): | |
| """User's home design requirements""" | |
| budget: Optional[float] | |
| location: Optional[str] | |
| family_size: Optional[int] | |
| lifestyle_preferences: List[str] | |
| special_needs: List[str] | |
| class FloorplanRequirements(TypedDict): | |
| """Floorplan-specific requirements""" | |
| num_floors: Optional[int] | |
| total_sqft: Optional[int] | |
| lot_shape: Optional[str] | |
| lot_dimensions: Optional[str] | |
| rooms: List[Dict[str, Any]] # [{"type": "bedroom", "count": 3, "min_size": 120}] | |
| class DetailedFloorplan(TypedDict): | |
| """Detailed floorplan design from architectural analysis""" | |
| design_analysis: Optional[Dict[str, Any]] | |
| detailed_rooms: List[Dict[str, Any]] # Each room with exact dimensions, placement, features | |
| structural_elements: List[Dict[str, Any]] # Walls, doors, windows | |
| circulation_plan: Dict[str, Any] # Hallways, stairs, traffic flow | |
| lot_utilization: Dict[str, Any] # How the building sits on the lot | |
| architectural_features: List[str] # Special design elements | |
| class BudgetBreakdown(TypedDict): | |
| """Detailed construction cost breakdown""" | |
| site_preparation: Optional[float] | |
| foundation: Optional[float] | |
| framing: Optional[float] | |
| roofing: Optional[float] | |
| exterior_finishes: Optional[float] | |
| interior_finishes: Optional[float] | |
| mechanical_systems: Optional[float] | |
| electrical_systems: Optional[float] | |
| plumbing_systems: Optional[float] | |
| permits_fees: Optional[float] | |
| professional_services: Optional[float] | |
| contingency: Optional[float] | |
| total_construction_cost: Optional[float] | |
| cost_per_sqft: Optional[float] | |
| budget_analysis: Optional[str] | |
| class ConversationState(TypedDict): | |
| """Overall conversation state with enhanced multi-agent memory""" | |
| messages: List[Dict[str, str]] | |
| current_topic: Optional[str] # "general", "budget", "floorplan" | |
| user_requirements: UserRequirements | |
| floorplan_requirements: FloorplanRequirements | |
| detailed_floorplan: DetailedFloorplan | |
| budget_breakdown: BudgetBreakdown | |
| conversation_history: List[str] | |
| agent_recommendations: List[str] | |
| agent_memory: Dict[str, Any] # Shared memory between agents | |
| next_agent: Optional[str] | |
| floorplan_ready: bool | |
| budget_ready: bool |