Files
rag_agent/rag-web-ui/backend/app/schemas/tooling.py

122 lines
2.9 KiB
Python
Raw Normal View History

2026-04-13 11:34:23 +08:00
from datetime import datetime
from typing import Any, Dict, List, Optional
from pydantic import BaseModel
class ToolDefinitionResponse(BaseModel):
name: str
version: str
description: str
input_schema: Dict[str, Any]
output_schema: Dict[str, Any]
class SRSToolCreateJobResponse(BaseModel):
job_id: int
status: str
class SRSToolJobStatusResponse(BaseModel):
job_id: int
tool_name: str
status: str
error_message: Optional[str] = None
extraction_id: Optional[int] = None
started_at: Optional[datetime] = None
completed_at: Optional[datetime] = None
class SRSToolRequirementItem(BaseModel):
id: str
description: str
priority: str
acceptanceCriteria: List[str]
sourceField: str
sectionUid: Optional[str] = None
2026-04-13 11:34:23 +08:00
sectionNumber: Optional[str] = None
sectionTitle: Optional[str] = None
requirementType: Optional[str] = None
interfaceName: Optional[str] = None
interfaceType: Optional[str] = None
dataSource: Optional[str] = None
dataDestination: Optional[str] = None
2026-04-13 11:34:23 +08:00
sortOrder: int
class SRSToolResultResponse(BaseModel):
jobId: int
documentName: str
generatedAt: str
statistics: Dict[str, Any]
requirements: List[SRSToolRequirementItem]
rawOutput: Dict[str, Any]
class SRSToolHistoryItem(BaseModel):
jobId: int
documentName: str
generatedAt: str
totalRequirements: int
status: str
createdAt: str
updatedAt: str
2026-04-13 11:34:23 +08:00
class SRSToolRequirementsSaveRequest(BaseModel):
requirements: List[SRSToolRequirementItem]
class TestingGenerationSaveRequest(BaseModel):
source_job_id: Optional[int] = None
source_document_name: str
knowledge_base_id: Optional[int] = None
generated_file: Dict[str, Any]
class TestingGenerationCreateRequest(BaseModel):
source_job_id: Optional[int] = None
source_document_name: str
knowledge_base_id: Optional[int] = None
requirements: List[SRSToolRequirementItem]
class TestingGenerationCreateResponse(BaseModel):
job_id: int
status: str
class TestingGenerationJobStatusResponse(BaseModel):
job_id: int
tool_name: str
status: str
error_message: Optional[str] = None
started_at: Optional[datetime] = None
completed_at: Optional[datetime] = None
source_document_name: Optional[str] = None
current_step: Optional[int] = None
total_steps: Optional[int] = None
current_requirement_id: Optional[str] = None
class TestingGenerationResultResponse(BaseModel):
jobId: int
sourceJobId: Optional[int] = None
sourceDocumentName: str
generatedAt: str
totalRequirements: int
knowledgeBaseId: Optional[int] = None
generatedFile: Dict[str, Any]
class TestingGenerationHistoryItem(BaseModel):
jobId: int
sourceJobId: Optional[int] = None
sourceDocumentName: str
generatedAt: str
totalRequirements: int
knowledgeBaseId: Optional[int] = None
status: str
createdAt: str
updatedAt: str