feat: add server.ts
This commit is contained in:
parent
bcb5afa820
commit
e071b4df82
1 changed files with 61 additions and 0 deletions
61
server.ts
Normal file
61
server.ts
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
/**
|
||||||
|
* agentify.help — standalone Express server
|
||||||
|
* Deployed on Fly.io (fra region), database on Fly.io Postgres.
|
||||||
|
* DNS: Bunny DNS → agentify.help
|
||||||
|
* Git: git.wellspr.ing/wellspring/agentify-help
|
||||||
|
*/
|
||||||
|
import express from "express";
|
||||||
|
import { pool } from "./db.js";
|
||||||
|
import { registerAgentifyHelpRoutes } from "./routes/agentify-help.js";
|
||||||
|
import { registerAgentifyRoutes } from "./routes/agentify.js";
|
||||||
|
import { registerStage5Routes } from "./routes/stage5.js";
|
||||||
|
import { registerSkillsAgentifyHelpRoutes } from "./routes/skills.js";
|
||||||
|
import { registerCorpusRoutes } from "./routes/corpus.js";
|
||||||
|
import { registerCorpusGatherRoutes } from "./routes/corpus-gather.js";
|
||||||
|
import { registerPersonaForgeRoutes, initPersonaForge } from "./routes/personaforge.js";
|
||||||
|
import { registerStewardRoutes, initStewardDash } from "./routes/steward.js";
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
const PORT = parseInt(process.env.PORT || "3000");
|
||||||
|
|
||||||
|
app.set("trust proxy", true);
|
||||||
|
app.use(express.json({ limit: "10mb" }));
|
||||||
|
app.use(express.urlencoded({ extended: true, limit: "10mb" }));
|
||||||
|
|
||||||
|
app.get("/health", (_req, res) => {
|
||||||
|
res.json({ ok: true, app: "agentify-help", ts: new Date().toISOString() });
|
||||||
|
});
|
||||||
|
|
||||||
|
registerAgentifyHelpRoutes(app);
|
||||||
|
registerAgentifyRoutes(app);
|
||||||
|
registerStage5Routes(app);
|
||||||
|
registerSkillsAgentifyHelpRoutes(app);
|
||||||
|
registerCorpusRoutes(app);
|
||||||
|
registerCorpusGatherRoutes(app);
|
||||||
|
|
||||||
|
async function start() {
|
||||||
|
try {
|
||||||
|
await pool.query("SELECT 1");
|
||||||
|
console.log("[db] pool connected");
|
||||||
|
} catch (e: any) {
|
||||||
|
console.error("[db] connection failed:", e.message);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
await initPersonaForge().catch((e: any) => console.error("[personaforge] init:", e.message));
|
||||||
|
await initStewardDash().catch((e: any) => console.error("[steward] init:", e.message));
|
||||||
|
|
||||||
|
await registerPersonaForgeRoutes(app).catch((e: any) =>
|
||||||
|
console.error("[personaforge] routes:", e.message)
|
||||||
|
);
|
||||||
|
registerStewardRoutes(app);
|
||||||
|
|
||||||
|
app.listen(PORT, "0.0.0.0", () => {
|
||||||
|
console.log(`[agentify-help] listening on :${PORT}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
start().catch((err) => {
|
||||||
|
console.error("Fatal startup error:", err);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
Loading…
Add table
Reference in a new issue