#!/usr/bin/env node import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { checkSessionBrokerCoverage, formatSessionBrokerCoverageViolations, SESSION_BROKER_PATCH2_FILES, } from '../session-broker-coverage.mjs'; const rootDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); const violations = checkSessionBrokerCoverage(rootDir); if (violations.length > 0) { console.error('session broker coverage check failed:\n'); console.error(formatSessionBrokerCoverageViolations(violations)); console.error('\nSession ownership must go through session-broker.mjs (createSessionAccess / resolveSessionAccess).'); console.error(`Patch 2 modules: ${SESSION_BROKER_PATCH2_FILES.join(', ')}`); process.exit(1); } console.log( `session broker coverage ok (patch2=${SESSION_BROKER_PATCH2_FILES.length}, facade=session-broker.mjs)`, );