cryptorugmuncher
feat(foundation): wire DeepSeek core/ modules into new main.py
9513328
Raw
History Blame Contribute Delete
1.81 kB
"""Shared response models."""
from __future__ import annotations
from datetime import datetime
from typing import Any, Optional
from pydantic import BaseModel, Field
class ErrorResponse(BaseModel):
"""Standard error response."""
error: str = Field(..., description="Error message")
detail: Optional[str] = Field(default=None)
code: Optional[str] = Field(default=None)
class PaginatedResponse(BaseModel):
"""Standard paginated list response."""
items: list[Any] = Field(default_factory=list)
total: int = Field(default=0)
page: int = Field(default=1)
limit: int = Field(default=20)
has_more: bool = Field(default=False)
class AlertModel(BaseModel):
"""Security alert."""
id: str = Field(default="")
title: str = Field(default="")
severity: str = Field(default="unknown") # critical, high, medium, low
description: Optional[str] = Field(default=None)
chain: Optional[str] = Field(default=None)
token: Optional[str] = Field(default=None)
token_symbol: Optional[str] = Field(default=None)
risk_score: float = Field(default=0.0)
risk_flags: list[str] = Field(default_factory=list)
acknowledged: bool = Field(default=False)
created_at: Optional[datetime] = Field(default=None)
class ScanResult(BaseModel):
"""Token/wallet scan result."""
address: str
chain: str
safety_score: float = Field(default=100.0)
risk_flags: list[str] = Field(default_factory=list)
warnings: list[str] = Field(default_factory=list)
modules_run: list[dict] = Field(default_factory=list)
metadata: dict[str, Any] = Field(default_factory=dict)
class HealthStatus(BaseModel):
"""Service health status."""
status: str = "ok"
error: Optional[str] = None
uptime_seconds: Optional[float] = None