From 7a9ba9e7b8cc8113d100897690f07ff61ac40f8a Mon Sep 17 00:00:00 2001 From: Pyronewbic Date: Mon, 18 May 2026 16:33:14 +0530 Subject: [PATCH] =?UTF-8?q?feat:=20enriched=20health=20check=20=E2=80=94?= =?UTF-8?q?=20card=20DB,=20secrets,=20memory=20usage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/api.js b/api.js index e664c43..df4d655 100644 --- a/api.js +++ b/api.js @@ -628,11 +628,23 @@ app.get("/api/health", async (req, res) => { let ebayUsage = null; try { ebayUsage = await getEbayUsageToday(); } catch {} const isOwner = getRequestToken(req) === process.env.CASECOMP_API_KEY; + const { searchCards: sc } = await import("./lib/cards/card-database.js"); + const cardDbLoaded = sc("test", 1).length >= 0; + const mem = process.memoryUsage(); + const secrets = { + anthropic: !!process.env.ANTHROPIC_API_KEY, + ebay: !!(clientId && clientSecret), + jwt: !!process.env.CASECOMP_JWT_SECRET, + together: !!(process.env.TOGETHER_API_KEY && process.env.TOGETHER_API_KEY.length > 20), + }; res.json({ status: "ok", uptime: Math.floor(process.uptime()), firestore: firestoreStatus, - ebay: { configured: !!(clientId && clientSecret), ...(isOwner ? { usageToday: ebayUsage, dailyCap: DAILY_CAP } : {}) }, + cardDatabase: cardDbLoaded, + secrets, + ebay: { configured: secrets.ebay, ...(isOwner ? { usageToday: ebayUsage, dailyCap: DAILY_CAP } : {}) }, + ...(isOwner ? { memory: { rss: Math.round(mem.rss / 1048576), heap: Math.round(mem.heapUsed / 1048576) } } : {}), }); });