import express from "express";
import { Fact0Client } from "@fact0/sdk";
const lf = new Fact0Client({ apiKey: process.env.FACT0_API_KEY! });
const app = express();
app.use(async (req, res, next) => {
res.on("finish", () => {
void lf.audit.log({
actor: { id: (req as any).user?.id ?? "anonymous", type: "human" },
action: `api.${req.method.toLowerCase()}`,
resource: { id: req.path, type: "endpoint" },
outcome: res.statusCode < 400 ? "success" : "failure",
metadata: { status: res.statusCode },
});
});
next();
});