schemas.py 645 B

1234567891011121314151617181920212223242526
  1. from typing import Literal, Optional
  2. from pydantic import BaseModel, Field
  3. class PlanRequest(BaseModel):
  4. text: str = Field(..., description="按行输入的计划文本")
  5. direction: Literal["TD", "LR"] = "TD"
  6. class PlanResponse(BaseModel):
  7. mermaid_code: str
  8. class AgentChatRequest(BaseModel):
  9. mode: Literal["standard", "inspire"]
  10. prompt: str = Field(..., min_length=1)
  11. direction: Literal["TD", "LR"] = "TD"
  12. class AgentChatResult(BaseModel):
  13. mode: Literal["standard", "inspire"]
  14. mermaid_code: str
  15. optimized_text: Optional[str] = None
  16. attempts: int
  17. valid: bool
  18. message: Optional[str] = None