Dhal 1.x ofrece un contrato estable de paquete, CLI y configuración. Las superficies experimentales se identifican explícitamente.
Motor
import { createDhal } from "@rokadhq/dhal";
const protection = createDhal({ configPath: "dhal.json" });DhalEngine expone:
config: configuración resuelta;events: bus de eventos;inspect(request): decisión de seguridad;recordOutcome(request, outcome): resultado usado por señales de credenciales;flush(timeoutMs?): drena telemetría;close(timeoutMs?): cierra y drena;getRuntimeSnapshot(): contadores y salud.
Decisión
Una DhalDecision contiene action, statusCode, reason, score y opcionalmente ruleId, severity, wouldBlock y meta. En modo monitor, una decisión bloqueante se permite con wouldBlock: true.
Opciones
DhalOptions permite config, configPath, logger, rateLimitStore, signalStore, ipReputationProvider y telemetry.
Subpaths estables
@rokadhq/dhal@rokadhq/dhal/express@rokadhq/dhal/fastify@rokadhq/dhal/node-http@rokadhq/dhal/stores/redis@rokadhq/dhal/stores/redis-signal@rokadhq/dhal/stores/memory-signal@rokadhq/dhal/reputation/abuseipdb@rokadhq/dhal/telemetry/otel@rokadhq/dhal/telemetry/webhook@rokadhq/dhal/config-schema@rokadhq/dhal/doctor@rokadhq/dhal/rules/catalog@rokadhq/dhal/presets@rokadhq/dhal/report@rokadhq/dhal/compatibility@rokadhq/dhal/readiness@rokadhq/dhal/migrations@rokadhq/dhal/stability@rokadhq/dhal/v1-contract
Contrato legible por máquinas
import {
DHAL_V1_PUBLIC_EXPORTS,
DHAL_V1_CLI_COMMANDS,
getDhalV1Contract,
validateDhalV1Contract
} from "@rokadhq/dhal/v1-contract";En 1.x, los exports estables no se eliminan ni renombran, los comandos estables permanecen, el esquema 1 sigue siendo compatible y las deprecaciones reciben guía de migración antes de una futura versión mayor.
Autosetup asistido por IA es experimental.
Actualización
npm install @rokadhq/dhal@latest
npx dhal migrate --check
npx dhal test-config
npx dhal doctor
npx dhal readiness --production
npx dhal replay fixtures.replay.jsonRevisa el changelog y conserva un rollback probado a la versión anterior y a modo monitor.