Coverage for backend/ahuora-builder-types/src/ahuora_builder_types/payloads/solve_request_schema.py: 100%
27 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-05-13 02:47 +0000
1from typing import Optional
3from pydantic import BaseModel, Field
4from ahuora_builder_types import FlowsheetSchema
5from ahuora_builder_types.flowsheet_schema import SolvedFlowsheetSchema
8class IdaesSolveRequestPayload(BaseModel):
9 """
10 Payload for IDAES solve requests
11 """
12 flowsheet: FlowsheetSchema
13 solve_index: Optional[int] = None
14 scenario_id: Optional[int] = None
15 task_id: int
16 parent_task_id: Optional[int] = None
17 perform_diagnostics: bool = False
18 solve_timeout_seconds: Optional[int] = Field(
19 default=None,
20 ge=5,
21 le=3600,
22 description=(
23 "Optional per-request timeout in seconds. "
24 "When omitted, the solve runs without timeout enforcement."
25 ),
26 )
29class IdaesSolveCompletionPayload(BaseModel):
30 """
31 Payload for IDAES solve completion events
32 """
33 flowsheet: Optional[SolvedFlowsheetSchema]
34 input_flowsheet: FlowsheetSchema
35 solve_index: Optional[int]
36 scenario_id: Optional[int] = None
37 task_id: int
38 status: str
39 error: Optional[dict]
40 timing: dict
41 log: str
42 traceback: Optional[str]
43 diagnostics_raw_text: Optional[str] = None
45class MultiSolvePayload(BaseModel):
46 """
47 Payload for dispatching multi-steady state solves
48 """
49 task_id: int
50 scenario_id: int