397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
1.1 KiB
JavaScript
24 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* verify-gate-config (G1) — рубильник verify-гейта (зеркало judge-gate-config).
|
|
* Активен ТОЛЬКО при флаге ROUTER_MENTOR_VERIFY_ENABLED=1 И наличии ключа подписанта.
|
|
* Флаг OFF → inert ($0, до активации владельцем A3). Флаг ON + нет ключа → keyMissing
|
|
* (consumer трактует как fail-CLOSE: владелец включил, но конфиг сломан — не пропускать молча).
|
|
* Регистрация хука + флаг + ключ — шаг ВЛАДЕЛЬЦА.
|
|
*/
|
|
import { resolveReceiptKey } from './receipt-key-config.mjs';
|
|
|
|
const ENABLED_ENV = 'ROUTER_MENTOR_VERIFY_ENABLED';
|
|
|
|
export function resolveVerifyEnabled({ env = process.env } = {}) {
|
|
return env[ENABLED_ENV] === '1';
|
|
}
|
|
|
|
export function verifyGateActive({ env = process.env, keyImpl = resolveReceiptKey } = {}) {
|
|
if (!resolveVerifyEnabled({ env })) return { active: false, keyMissing: false };
|
|
const key = keyImpl();
|
|
return { active: !!key, keyMissing: !key };
|
|
}
|
|
|
|
export const _internals = { ENABLED_ENV };
|