From 44df539d3c99194071e10d031bafd3e5a5ad8b56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A9ri=20Le=20Bouder?= Date: Wed, 12 Nov 2025 14:45:40 -0500 Subject: [PATCH] PoC: periodic event --- src/index.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/index.ts b/src/index.ts index 6a829d9..7cc8964 100644 --- a/src/index.ts +++ b/src/index.ts @@ -371,6 +371,7 @@ const generateTools = async (): Promise => { let allTools: AAPMcpToolDefinition[] = []; +const processUUID = randomUUID(); // Initialize logger only if recording is enabled const toolLogger = recordApiQueries ? new ToolLogger() : null; @@ -833,6 +834,25 @@ const mcpDeleteHandler = async ( } }; +async function sendStatusEvent(): null { + console.log("---"); + console.log(`Server process UUID ${processUUID}`); + console.log(`Active session ${Object.keys(sessionData).length}`); + console.log(`Uptime ${Math.floor(process.uptime())}`); + console.log(`Tools ${Object.keys(allTools).length}`); + try { + await fetch(`${CONFIG.BASE_URL}/`, { + headers: { + Accept: "application/json", + }, + timeout: 1000, + }); + console.log(`AAP is reachable OK`); + } catch (_error) { + console.log(`AAP is reachable KO`); + } +} + // Web UI routes (only enabled if enable_ui is true) if (enableUI) { // Tool list HTML endpoint @@ -1547,6 +1567,10 @@ async function main(): Promise { const PORT = process.env.MCP_PORT || 3000; + const _intervalId: NodeJS.Timeout = setInterval(() => { + sendStatusEvent(); + }, 2000); + app.listen(PORT, () => { console.log(`Server ready on port ${PORT}`); console.log("");