#pragma once

#include "crow.h"

namespace routes {

/// Register API routes (JSON endpoints)
void register_api(crow::SimpleApp& app);

/// Register page + static-asset routes
void register_pages(crow::SimpleApp& app);

/// Register system/version/echo + websocket routes
void register_system(crow::SimpleApp& app);

/// Register reverse-proxy routes for sidecar services:
///   /api/diffusion/*  -> CXAI_DIFFUSION_UPSTREAM
///   /api/demand/*     -> CXAI_DEMAND_UPSTREAM
///   /api/lang/*       -> CXAI_LANG_UPSTREAM
///   /api/slack/*      -> CXAI_SLACK_UPSTREAM
void register_proxy(crow::SimpleApp& app);

/// Register macOS app metadata routes (/api/mac/*).
void register_mac(crow::SimpleApp& app);

} // namespace routes
