"""Hub info endpoints — /v1/hub/*""" from fastapi import APIRouter from meshbay_common import MNP_VERSION, MHP_VERSION from meshbay_hub import __version__ from meshbay_hub.auth import hub_public_key_pem from meshbay_hub.db.engine import get_engine router = APIRouter(prefix="/v1/hub", tags=["hub"]) @router.get("/info") async def hub_info(): engine = get_engine() return { "hub_version": __version__, "mnp_version": MNP_VERSION, "mhp_version": MHP_VERSION, "db_dialect": engine.dialect.name, } @router.get("/pubkey") async def hub_pubkey(): """Hub Ed25519 public key PEM — cached by nodes on first contact.""" return {"pk_hub_pem": hub_public_key_pem().decode()} @router.get("/version") async def hub_version(): """Version check endpoint for clients to detect updates.""" return { "hub": __version__, "mnp": MNP_VERSION, "mhp": MHP_VERSION, }