analysis.py 976 B

1234567891011121314151617181920212223242526272829303132333435
  1. from pydantic import BaseModel, Field
  2. from app.schemas.conclusion import ConclusionSummary
  3. from app.schemas.evidence import EvidenceSummary
  4. from app.schemas.experiment import ExperimentSummary
  5. from app.schemas.observation import ObservationSummary
  6. from app.schemas.orchestration import Hypothesis
  7. class AnalysisSessionCreateRequest(BaseModel):
  8. observation_id: str = Field(..., min_length=1)
  9. mode: str = Field(default="initial_analysis", min_length=1)
  10. class AnalysisSessionResponse(BaseModel):
  11. session_id: str
  12. observation_id: str
  13. status: str
  14. message: str
  15. class AnalysisSessionSnapshot(BaseModel):
  16. session_id: str
  17. observation_id: str
  18. status: str
  19. mode: str
  20. observation: ObservationSummary
  21. hypotheses: list[Hypothesis]
  22. probe_evidence: list[EvidenceSummary]
  23. experiments: list[ExperimentSummary]
  24. conclusion: ConclusionSummary
  25. class AnalysisSessionListResponse(BaseModel):
  26. items: list[AnalysisSessionResponse]