File size: 1,107 Bytes
9bcc127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from pydantic import BaseModel, Field
from typing import List, Dict, Optional, Any

class State(BaseModel):
    """Enhanced state model for geospatial analysis workflow"""
    query: str = Field(description="The initial query sent by the user")
    tasks: List[str] = Field(default=[], description="Detailed breakdown of the tasks")
    output_files: List[Dict[str, str]] = Field(default=[], description="Generated files with metadata")
    bbox: Optional[List[float]] = Field(default=None, description="Bounding box [minx, miny, maxx, maxy]")
    place_name: Optional[str] = Field(default=None, description="Place name for analysis")
    working_directory: str = Field(default="output", description="Working directory for outputs")
    analysis_type: Optional[str] = Field(default=None, description="Type of analysis (flood, slope, etc.)")
    parameters: Dict[str, Any] = Field(default={}, description="Analysis parameters")
    error_log: List[str] = Field(default=[], description="Error messages during processing")
    status: str = Field(default="initialized", description="Current processing status")