"use server"; import { AuditOutcomePersistenceError } from "@/features/housekeeping/foundation/commands/audit-envelope"; import { dispatchHousekeepingCommand } from "@/features/housekeeping/foundation/commands/dispatcher"; import { sealHousekeepingCommandRegistry } from "@/features/housekeeping/foundation/commands/registry"; import { fail, type HousekeepingResult, mapUnknownError, } from "@/features/housekeeping/foundation/contracts"; import { getHousekeepingCapabilityContext } from "@/features/housekeeping/foundation/server-capability-context"; import { clientIp, rateLimit } from "@/lib/rate-limit"; import { housekeepingAuditWriter } from "@/lib/services/audit"; export async function executeHousekeepingCommand( request: unknown, ): Promise> { sealHousekeepingCommandRegistry(); try { const [context, ipAddress] = await Promise.all([ getHousekeepingCapabilityContext(), clientIp(), ]); return await dispatchHousekeepingCommand(request, { context, ipAddress, audit: housekeepingAuditWriter, rateLimit: async (key, attempts, windowMs) => (await rateLimit(key, attempts, windowMs)).ok, }); } catch (error) { if ( error instanceof AuditOutcomePersistenceError && isHousekeepingResult(error.operationResult) ) { return fail( "INTERNAL", "errors.housekeeping.partial", error.operationResult.correlationId, ); } return mapUnknownError(error); } } function isHousekeepingResult( value: unknown, ): value is HousekeepingResult { return ( typeof value === "object" && value !== null && "ok" in value && typeof (value as { ok?: unknown }).ok === "boolean" && "correlationId" in value && typeof (value as { correlationId?: unknown }).correlationId === "string" ); }