init. project

This commit is contained in:
2026-04-13 11:34:23 +08:00
commit c7c0659a85
202 changed files with 31196 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
from typing import Dict, List, Optional
from pydantic import BaseModel, Field
class TestItemEntry(BaseModel):
id: str
content: str
class TestCaseEntry(BaseModel):
id: str
item_id: str
operation_steps: List[str]
test_content: str
expected_result_placeholder: str
class ExpectedResultEntry(BaseModel):
id: str
case_id: str
result: str
class StepLogEntry(BaseModel):
step_name: str
input_summary: str
output_summary: str
success: bool
fallback_used: bool
duration_ms: float
class TestingPipelineRequest(BaseModel):
requirement_text: str = Field(..., min_length=1)
requirement_type: Optional[str] = None
knowledge_base_ids: List[int] = []
retrieval_top_k: int = Field(default=8, ge=1, le=20)
knowledge_context: Optional[str] = None
use_model_generation: bool = True
max_items_per_group: int = Field(default=12, ge=4, le=30)
cases_per_item: int = Field(default=2, ge=1, le=5)
max_focus_points: int = Field(default=6, ge=3, le=12)
max_llm_calls: int = Field(default=10, ge=0, le=100)
debug: bool = False
class TestingPipelineResponse(BaseModel):
trace_id: str
requirement_type: str
reason: str
candidates: List[str]
test_items: Dict[str, List[TestItemEntry]]
test_cases: Dict[str, List[TestCaseEntry]]
expected_results: Dict[str, List[ExpectedResultEntry]]
formatted_output: str
pipeline_summary: str
knowledge_used: bool = False
step_logs: List[StepLogEntry] = []