riskengine / src /bmc /models.py
datavorous's picture
intial commit
28779c1 verified
raw
history blame contribute delete
913 Bytes
from dataclasses import dataclass, field
from typing import List, Literal, Optional
@dataclass
class ProfileSnapshot:
bmc_url: str
name: Optional[str]
slug: Optional[str]
bio: Optional[str]
external_links: List[str]
has_nsfw: Optional[bool]
payment_method: Optional[str]
limitations: List[str] = field(default_factory=list)
@dataclass
class ResolvedLink:
original_url: str
final_url: Optional[str]
final_domain: Optional[str]
status_code: Optional[int]
redirect_chain: List[str]
title: Optional[str]
error: Optional[str]
@dataclass
class EvidenceItem:
type_: str
category: str
confidence: Literal["high", "medium", "low"]
snippet: str
source: str
points: int
@dataclass
class RiskAssessment:
risk_score: int
risk_level: str
recommended_action: str
evidence: List[EvidenceItem]
limitations: List[str]