Replace the corrections/adaptive-prompt-tuner feature with a new dashboard module providing server stats and user profile overview. Backend: - Add dashboard module (routes, service, repository) with stats + user list + user detail endpoints - Remove corrections module entirely - Wire dashboard router in app.ts Frontend: - Add dashboard feature (DashboardStats, UserSummaryList, UserProfileDetail components + useDashboard hook) - Remove tuner feature (CorrectionStats, CorrectionHistory, SubmitCorrection, useCorrections) - Update API client from corrections → dashboard types/fns - Rename tab 'tuner' → 'dashboard' - Update MobileTabBar, Header, Sidebar links Tests: - Expand backend placeholder test with dashboard assertions - Expand discord-gateway placeholder test with config/channel assertions AI moderation: - llmModerationClient: improve status/reply detection, expand safety categories, fix timer reset - userProfileLearner: fix isReply refinement - userProfileStore: add pending cache check - messageMetadata: add crosspost type mapping - migrate.ts: improve partial-index safety in schema push Co-Authored-By: Claude <noreply@anthropic.com>
21 lines
627 B
TypeScript
21 lines
627 B
TypeScript
import type { Router } from "express";
|
|
import express from "express";
|
|
import { collectDefaultMetrics, register } from "prom-client";
|
|
import { handleHealthCheck, handleMetrics } from "./health.controller.js";
|
|
|
|
// Initialize default Node.js runtime metrics (event loop lag, memory, GC, etc.)
|
|
// Called once at module load, not per-request.
|
|
collectDefaultMetrics();
|
|
|
|
export function createHealthRouter(): Router {
|
|
const router = express.Router();
|
|
|
|
// GET /api/health
|
|
router.get("/health", handleHealthCheck);
|
|
|
|
// GET /api/metrics — Prometheus scrape endpoint
|
|
router.get("/metrics", handleMetrics);
|
|
|
|
return router;
|
|
}
|