import { NextResponse } from 'next/server' import { sendCustomEvent, isTorqueConfigured } from '@/lib/torque-mcp' import { pushEvent } from '@/lib/event-store' export async function POST(req: Request) { const body = await req.json() const { wallet, eventType, eventName, metadata, data, risk, score } = body const name = eventName || eventType const payload = data || metadata || {} if (!wallet || !name) { return NextResponse.json({ error: 'wallet and eventName required' }, { status: 400 }) } const result = await sendCustomEvent(wallet, name, payload) if (!result.success) { const status = isTorqueConfigured() ? 502 : 503 return NextResponse.json({ success: false, error: result.error }, { status }) } pushEvent({ ingestionId: result.eventId || 'local-' + Date.now(), wallet, eventName: name, risk, score, firedAt: new Date().toISOString(), source: 'manual', }) return NextResponse.json({ success: true, eventId: result.eventId }) } export async function GET() { return NextResponse.json({ status: isTorqueConfigured() ? 'ok' : 'unconfigured', events: ['churn_risk_high', 'churn_risk_medium', 'comeback_detected', 'streak_maintained', 'volume_milestone', 'referral_from_saved', 'inactivity_detected'], }) }