fix(platform): register ai-diagnostics routes + wire 6 hidden sidebar pages

Phase 0 from DASHBOARD_UI_COVERAGE_ROADMAP:
- Register ai-diagnostics routes in server.ts (671-line module was never mounted)
- Add 6 hidden pages to admin sidebar-nav.tsx:
  Debug Sessions, Health Dashboard, Extraction, Experiments,
  Predictive, AI Diagnostics
- /users was already in sidebar (no change needed)
- Kill switch verified: already per-product via productId query param
- Admin sidebar now has 33 items (was 27)
This commit is contained in:
saravanakumardb1 2026-03-21 17:40:35 -07:00
parent 6f9ff2a5a4
commit d1d01727e4
2 changed files with 16 additions and 0 deletions

View File

@ -33,6 +33,12 @@ import {
ClipboardList,
Beaker,
Crosshair,
Bug,
HeartPulse,
FileSearch,
FlaskConical,
BrainCircuit,
TrendingDown,
} from 'lucide-react';
import { cn } from '@/lib/utils';
import { useAuth } from '@/lib/auth-context';
@ -59,10 +65,16 @@ const navItems = [
{ href: '/flags', label: 'Feature Flags', icon: Settings },
{ href: '/audit', label: 'Audit Log', icon: ScrollText },
{ href: '/actiontrail', label: 'ActionTrail', icon: Crosshair },
{ href: '/experiments', label: 'Experiments', icon: FlaskConical },
{ href: '/predictive/at-risk', label: 'Predictive', icon: TrendingDown },
{ href: '/ops', label: 'Mission Control', icon: Activity },
{ href: '/ops/client-logs', label: 'Client Logs', icon: FileText },
{ href: '/ops/telemetry-policies', label: 'Telemetry Policies', icon: Shield },
{ href: '/ops/ab-testing', label: 'A/B Testing', icon: Beaker },
{ href: '/debug-sessions', label: 'Debug Sessions', icon: Bug },
{ href: '/health-dashboard', label: 'Health Dashboard', icon: HeartPulse },
{ href: '/extraction', label: 'Extraction', icon: FileSearch },
{ href: '/ai-diagnostics', label: 'AI Diagnostics', icon: BrainCircuit },
{ href: '/feedback', label: 'User Feedback', icon: MessageSquare },
{ href: '/ops/secrets', label: 'Secrets Manager', icon: KeyRound },
{ href: '/settings', label: 'Settings', icon: Settings },

View File

@ -98,6 +98,7 @@ import { tenantRoutes } from './modules/tenants/routes.js';
import { retentionRoutes } from './modules/retention/routes.js';
import { backupRoutes } from './modules/backups/routes.js';
import { apiVersioningRoutes } from './modules/api-versioning/routes.js';
import aiDiagnosticsRoutes from './modules/ai-diagnostics/routes.js';
import { initCosmosIfNeeded } from './lib/cosmos-init.js';
import { config } from './lib/config.js';
import { type JwtPayload, extractProductIdAsync } from './lib/request-context.js';
@ -264,6 +265,9 @@ await app.register(retentionRoutes, { prefix: '/api' });
await app.register(backupRoutes, { prefix: '/api' });
await app.register(apiVersioningRoutes, { prefix: '/api' });
// AI Diagnostics (NL query, LLM root-cause, error clustering)
await app.register(aiDiagnosticsRoutes, { prefix: '/api' });
// Event subscriptions + DLQ + replay
await app.register(eventSubscriptionRoutes, { prefix: '/api' });
// Agent executor + tool registry + scheduling + metrics