feat(phase17): close technical debt — Dashboard real data, index.ts @deprecated, ADR streaming/auth
- Dashboard.tsx: removed 3 hardcoded mock constants (NODES/AGENTS/ACTIVITY_LOG)
- Swarm Nodes panel: real data from trpc.nodes.list (swarm nodes or containers)
- Container stats: live CPU%/MEM from trpc.nodes.stats, rendered as progress bars
- Active Agents panel: real agents from trpc.agents.list with isActive/isSystem/model/role
- Activity Feed: generated from active agents list (live agent names, models, timestamps)
- Metric cards: real counts from trpc.dashboard.stats (uptime, nodes, agents, gateway)
- All 3 panels have loading state (Loader2 spinner) and empty/error state
- Hero banner subtitle uses real stats.nodes and stats.agents counts
- Cluster Topology footer shows real uptime from dashboard.stats
- server/index.ts: documented as @deprecated legacy static-only entry point
- Added JSDoc block explaining this file is NOT the production server
- Points to server/_core/index.ts as the real server with tRPC/OAuth/seed
- Added console.log WARNING on startup to prevent accidental use
- File retained as historical artefact per Phase 17 decision
- todo.md: Phase 16 debt items closed as [x], Phase 17 section added
- ADR-001: Streaming LLM — status DEFERRED, Phase 18 plan documented
(Go Gateway stream:true + tRPC subscription + Chat.tsx EventSource)
- ADR-002: Authentication — status ACCEPTED as internal tool
(OAuth already partial; protectedProcedure path documented for future)
- Phase 9 routers.ts orchestrator migration verified as complete
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
/**
|
||||
* server/index.ts — LEGACY STATIC-ONLY ENTRY POINT
|
||||
*
|
||||
* @deprecated This file is NOT used in production or development.
|
||||
*
|
||||
* The real application server is: server/_core/index.ts
|
||||
* - Registers tRPC router (/api/trpc)
|
||||
* - Registers OAuth routes (/api/oauth/callback)
|
||||
* - Runs Vite middleware in development
|
||||
* - Serves pre-built static assets in production (dist/public)
|
||||
* - Seeds default agents on startup
|
||||
*
|
||||
* This file was the original minimal static server created before
|
||||
* tRPC integration. It has NO tRPC routes, NO OAuth, NO seed logic.
|
||||
*
|
||||
* Build entrypoint (tsconfig/vite.config) → server/_core/index.ts
|
||||
* Dockerfile CMD → node dist/index.js (compiled from _core/index.ts)
|
||||
*
|
||||
* ⚠️ DO NOT add business logic here.
|
||||
* DO NOT run this file directly in production.
|
||||
* It is kept as a historical artefact and may be removed in a future
|
||||
* cleanup phase (see todo.md Phase 17 — technical debt).
|
||||
*/
|
||||
|
||||
import express from "express";
|
||||
import { createServer } from "http";
|
||||
import path from "path";
|
||||
@@ -18,15 +42,15 @@ async function startServer() {
|
||||
|
||||
app.use(express.static(staticPath));
|
||||
|
||||
// Handle client-side routing - serve index.html for all routes
|
||||
// Handle client-side routing — serve index.html for all routes
|
||||
app.get("*", (_req, res) => {
|
||||
res.sendFile(path.join(staticPath, "index.html"));
|
||||
});
|
||||
|
||||
const port = process.env.PORT || 3000;
|
||||
|
||||
server.listen(port, () => {
|
||||
console.log(`Server running on http://localhost:${port}/`);
|
||||
console.log(`[LEGACY] Static-only server running on http://localhost:${port}/`);
|
||||
console.log("[LEGACY] WARNING: This server has no tRPC routes. Use server/_core/index.ts instead.");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user