From b92e03370ab9d167c46e1409233d6ac688bf2c57 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Mon, 16 Mar 2026 11:30:44 -0700 Subject: [PATCH] Feat: Add live state API endpoint --- app/api/live-state/route.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 app/api/live-state/route.js diff --git a/app/api/live-state/route.js b/app/api/live-state/route.js new file mode 100644 index 0000000..b42a9a2 --- /dev/null +++ b/app/api/live-state/route.js @@ -0,0 +1,29 @@ +import { NextResponse } from 'next/server'; +import fs from 'fs'; + +export const dynamic = 'force-dynamic'; + +const STATE_FILE = '/tmp/kalbot-live-state.json'; + +export async function GET() { + try { + const raw = fs.readFileSync(STATE_FILE, 'utf-8'); + const data = JSON.parse(raw); + return NextResponse.json(data); + } catch (e) { + return NextResponse.json({ + market: null, + live: { + balance: null, portfolioValue: null, totalPnL: 0, + wins: 0, losses: 0, winRate: 0, totalTrades: 0, + openOrders: [], paused: true, dailyLoss: 0, + maxDailyLoss: 20, maxPerTrade: 5, + enabledStrategies: [], positions: [] + }, + strategies: [], + workerUptime: 0, + lastUpdate: null, + error: 'Worker not running or no data yet' + }); + } +}