Rokad
すべてのドキュメント
dhalドキュメント

API と v1 契約

Dhal v1 の安定した export、エンジン、サブパス、互換性保証を利用します。

リポジトリを見る
dhalドキュメント
9ページ中9ページ

Dhal 1.x はパッケージ、CLI、設定について安定した契約を提供します。実験的な機能は明示的に区別されます。

エンジン

ts
import { createDhal } from "@rokadhq/dhal";
const protection = createDhal({ configPath: "dhal.json" });

DhalEngine は次を公開します。

  • config: 解決・検証済み設定
  • events: アプリケーションイベントバス
  • inspect(request): セキュリティ判断
  • recordOutcome(request, outcome): 認証失敗シグナルに使うレスポンス結果
  • flush(timeoutMs?): 管理対象テレメトリの排出
  • close(timeoutMs?): エンジンを閉じて排出
  • getRuntimeSnapshot(): カウンターと状態

DhalDecision には actionstatusCodereasonscore が含まれ、必要に応じて ruleIdseveritywouldBlockmeta が含まれます。monitor モードでは、ブロック相当の判断は wouldBlock: true で許可されます。

DhalOptionsconfigconfigPathloggerrateLimitStoresignalStoreipReputationProvidertelemetry を受け取れます。

安定したサブパス

  • @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

機械可読の契約

ts
import {
  DHAL_V1_PUBLIC_EXPORTS,
  DHAL_V1_CLI_COMMANDS,
  getDhalV1Contract,
  validateDhalV1Contract
} from "@rokadhq/dhal/v1-contract";

1.x の範囲では、安定版 export は削除・改名されず、安定 CLI コマンドは維持され、設定スキーマ 1 は後方互換です。非推奨 API は将来のメジャー削除前に移行ガイドを提供します。

AI 支援 autosetup は実験的です。

アップグレード

bash
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.json

変更履歴を確認し、以前の固定バージョンと monitor モードへ戻せる手順をテストしてください。