From 0921fa1ca31c90bc6d586b4ef4a7c300aa2d2443 Mon Sep 17 00:00:00 2001 From: alexpaynex <55271826-alexpaynex@users.noreply.replit.com> Date: Wed, 18 Mar 2026 18:06:44 +0000 Subject: [PATCH] Make the demo user interface accessible through the API Add a new UI route to serve the interactive demo interface at `/api/ui`. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 418bf6f8-212b-4bb0-a7a5-8231a061da4e Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 3fb69144-fc09-46cf-8560-9b4bc828c60f Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9f85e954-647c-46a5-90a7-396e495a805a/418bf6f8-212b-4bb0-a7a5-8231a061da4e/sPDHkg8 Replit-Helium-Checkpoint-Created: true --- artifacts/api-server/src/routes/index.ts | 2 + artifacts/api-server/src/routes/ui.ts | 507 +++++++++++++++++++++++ 2 files changed, 509 insertions(+) create mode 100644 artifacts/api-server/src/routes/ui.ts diff --git a/artifacts/api-server/src/routes/index.ts b/artifacts/api-server/src/routes/index.ts index f0b4773..8b05b28 100644 --- a/artifacts/api-server/src/routes/index.ts +++ b/artifacts/api-server/src/routes/index.ts @@ -4,6 +4,7 @@ import jobsRouter from "./jobs.js"; import demoRouter from "./demo.js"; import devRouter from "./dev.js"; import testkitRouter from "./testkit.js"; +import uiRouter from "./ui.js"; const router: IRouter = Router(); @@ -11,6 +12,7 @@ router.use(healthRouter); router.use(jobsRouter); router.use(demoRouter); router.use(testkitRouter); +router.use(uiRouter); if (process.env.NODE_ENV !== "production") { router.use(devRouter); diff --git a/artifacts/api-server/src/routes/ui.ts b/artifacts/api-server/src/routes/ui.ts new file mode 100644 index 0000000..7bbbda0 --- /dev/null +++ b/artifacts/api-server/src/routes/ui.ts @@ -0,0 +1,507 @@ +import { Router } from "express"; + +const router = Router(); + +router.get("/ui", (_req, res) => { + res.setHeader("Content-Type", "text/html"); + res.send(` + +
+ + +Lightning-gated AI agent — visual payment flow demo
+