{
  "name": "relay-auth",
  "version": "0.0.0",
  "private": true,
  "type": "module",
  "description": "P5 — Auth & Tenant Isolation for the rendezvous-relay service. Deny-by-default tenant authz (INV1/INV3/INV6), capability tokens + DPoP proof-of-possession (INV15), device-auth proof (§4.4), mTLS/SPIFFE verification + rotation (INV4/INV14), fast revocation (INV12), WebAuthn/TOTP/OIDC/step-up human auth, per-tenant rate-limits, immutable zero-payload audit (INV10). Dependency-light: imports relay-contracts (§4) read-only; no ws/xterm/ANSI parser (INV2/INV11). See docs/PLAN_RELAY_AUTH_ISOLATION.md.",
  "engines": {
    "node": ">=18"
  },
  "main": "src/index.ts",
  "scripts": {
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage"
  },
  "dependencies": {
    "relay-contracts": "file:../relay-contracts",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/node": "^25.9.3",
    "@vitest/coverage-v8": "^4.1.9",
    "typescript": "^6.0.3",
    "vitest": "^4.1.9"
  }
}
