refactor(settings): remove NIP-91 fields; keep relays under discovery; drop openrouter_base_url

This commit is contained in:
Shroominic
2025-09-08 12:24:32 +01:00
parent 939a991d6b
commit be372c48ea
4 changed files with 11 additions and 38 deletions
+1 -17
View File
@@ -69,29 +69,13 @@ class Settings(BaseSettings):
)
models_path: str = Field(default="models.json", env="MODELS_PATH")
source: str = Field(default="", env="SOURCE")
openrouter_base_url: str = Field(
default="https://openrouter.ai/api/v1", env="BASE_URL"
)
# Secrets / optional runtime controls
provider_id: str = Field(default="", env="PROVIDER_ID")
nip91_provider_id: str = Field(default="", env="NIP91_PROVIDER_ID")
nsec: str = Field(default="", env="NSEC")
# NIP-91
# Discovery
relays: list[str] = Field(default_factory=list, env="RELAYS")
nip91_backoff_base_seconds: float = Field(
default=5.0, env="NIP91_BACKOFF_BASE_SECONDS"
)
nip91_backoff_max_seconds: float = Field(
default=900.0, env="NIP91_BACKOFF_MAX_SECONDS"
)
nip91_backoff_jitter_ratio: float = Field(
default=0.2, env="NIP91_BACKOFF_JITTER_RATIO"
)
nip91_announcement_interval: int = Field(
default=24 * 60 * 60, env="NIP91_ANNOUNCEMENT_INTERVAL"
)
def _compute_primary_mint(cashu_mints: list[str]) -> str:
+7 -18
View File
@@ -287,7 +287,7 @@ def discover_onion_url_from_tor(base_dir: str = "/var/lib/tor") -> str | None:
async def _determine_provider_id(public_key_hex: str, relay_urls: list[str]) -> str:
explicit = settings.provider_id or settings.nip91_provider_id
explicit = settings.provider_id
if explicit:
logger.info(f"Using configured provider_id from env: {explicit}")
return explicit
@@ -368,10 +368,7 @@ async def announce_provider() -> None:
logger.info(f"Using Nostr pubkey: {public_key_hex}")
# Configure relays first (RELAYS only)
try:
relay_urls = [u.strip() for u in settings.relays if u.strip()]
except Exception:
relay_urls = settings.relays
relay_urls = [u.strip() for u in getattr(settings, "relays", []) if u.strip()]
if not relay_urls:
relay_urls = [
"wss://relay.nostr.band",
@@ -438,15 +435,10 @@ async def announce_provider() -> None:
metadata=metadata,
)
# Backoff configuration and state
try:
backoff_base = settings.nip91_backoff_base_seconds
backoff_max = settings.nip91_backoff_max_seconds
backoff_jitter_ratio = settings.nip91_backoff_jitter_ratio
except Exception:
backoff_base = settings.nip91_backoff_base_seconds
backoff_max = settings.nip91_backoff_max_seconds
backoff_jitter_ratio = settings.nip91_backoff_jitter_ratio
# Backoff configuration and state (sensible defaults)
backoff_base = 5.0
backoff_max = 900.0
backoff_jitter_ratio = 0.2
relay_next_allowed: dict[str, float] = {}
relay_current_delay: dict[str, float] = {}
@@ -510,10 +502,7 @@ async def announce_provider() -> None:
)
# Re-announce periodically (every 24 hours)
try:
announcement_interval = settings.nip91_announcement_interval
except Exception:
announcement_interval = settings.nip91_announcement_interval
announcement_interval = 24 * 60 * 60
while True:
try:
+1 -1
View File
@@ -57,7 +57,7 @@ MODELS: list[Model] = []
def fetch_openrouter_models(source_filter: str | None = None) -> list[dict]:
"""Fetches model information from OpenRouter API."""
base_url = settings.openrouter_base_url
base_url = "https://openrouter.ai/api/v1"
try:
with urlopen(f"{base_url}/models") as response:
+2 -2
View File
@@ -42,13 +42,13 @@ class Model(TypedDict):
OUTPUT_FILE = os.getenv("OUTPUT_FILE", "models.json")
BASE_URL = os.getenv("BASE_URL", "https://openrouter.ai/api/v1")
SOURCE = os.getenv("SOURCE")
def fetch_openrouter_models(source_filter: str | None = None) -> list[Model]:
"""Fetches model information from OpenRouter API."""
with urlopen(f"{BASE_URL}/models") as response:
base_url = "https://openrouter.ai/api/v1"
with urlopen(f"{base_url}/models") as response:
data = json.loads(response.read().decode("utf-8"))
models_data: list[Model] = []