feat: 添加线索引擎、NLQ、场景检测、前端界面等核心功能模块
This commit is contained in:
@@ -34,3 +34,52 @@ class PenetrateResponse(BaseModel):
|
||||
max_depth: int
|
||||
related_count: int
|
||||
related: list[RelatedEntityOut]
|
||||
|
||||
|
||||
class ClueOut(BaseModel):
|
||||
id: uuid.UUID
|
||||
title: str
|
||||
risk_domain: str
|
||||
scenario_code: str
|
||||
confidence: str
|
||||
score: float
|
||||
status: str
|
||||
rationale: str
|
||||
evidence: dict = Field(default_factory=dict)
|
||||
subjects: dict = Field(default_factory=dict)
|
||||
amount_involved: float | None = None
|
||||
assignee: str | None = None
|
||||
feedback: str | None = None
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class AssignRequest(BaseModel):
|
||||
assignee: str = Field(min_length=1)
|
||||
actor: str = Field(min_length=1)
|
||||
|
||||
|
||||
class AdjudicateRequest(BaseModel):
|
||||
confirmed: bool
|
||||
actor: str = Field(min_length=1)
|
||||
note: str | None = None
|
||||
|
||||
|
||||
class NLQRequest(BaseModel):
|
||||
question: str = Field(min_length=1)
|
||||
|
||||
|
||||
class NLQResponse(BaseModel):
|
||||
question: str
|
||||
answer: str
|
||||
provider: str
|
||||
model: str
|
||||
egress: bool
|
||||
|
||||
|
||||
class DashboardSummary(BaseModel):
|
||||
total: int
|
||||
by_status: dict[str, int]
|
||||
by_confidence: dict[str, int]
|
||||
by_scenario: dict[str, int]
|
||||
total_amount_involved: float
|
||||
|
||||
Reference in New Issue
Block a user