Crypto Rug Muncher
clean slate: removing all old data, fresh build
6993919
Raw
History Blame Contribute Delete
1.35 kB
"""RMI SDK — Response models (ergonomic, not raw API shapes)."""
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
class TokenRisk(BaseModel):
score: int = 0
tier: str = "low"
factors: list[str] = Field(default_factory=list)
token: dict | None = None
deployer_reputation: int | None = None
class Report(BaseModel):
report_id: str
subject_type: str
subject_id: str
risk_score: int
risk_tier: str
markdown: str
sections: dict[str, str] = Field(default_factory=dict)
class RagHit(BaseModel):
"""A RAG search hit. Maps from the API's `content` field to `text`."""
doc_id: str
score: float
text: str = ""
content: str = "" # alias
metadata: dict[str, Any] = Field(default_factory=dict)
def __init__(self, **data):
# Accept both `text` and `content` from the API
if "content" in data and "text" not in data:
data["text"] = data["content"]
super().__init__(**data)
class NewsItem(BaseModel):
news_id: str
title: str
source: str
published_at: str
summary: str = ""
sentiment_score: float | None = None
score: float | None = None
class McpTool(BaseModel):
name: str
description: str
input_schema: dict[str, Any] = Field(default_factory=dict)