"""First-use startup notices for aablocks.

A single entry point for the best-effort notices shown the first time
aablocks is used in a process — whether through the Python client or the
CLI: active site-wide banners and an out-of-date version warning.

Both underlying checks are memoized (`@functools.cache`) and swallow every
exception, so `show_startup_notices` is safe to call from multiple entry
points (CLI command group, first API call) — it never double-fetches and
never raises.
"""

from __future__ import annotations

from .banners import show_banners_once
from .version_check import warn_if_outdated_once


def show_startup_notices() -> None:
    """Show banners and the out-of-date warning once per process (best-effort)."""
    show_banners_once()
    warn_if_outdated_once()
