#!/usr/bin/env node
/**
 * mentor-gate-config — рубильник наставника (зеркало judge-gate-config.mjs:10-32).
 * Активен ТОЛЬКО при ROUTER_MENTOR_SEAM_ENABLED=1 И наличии ROUTER_LLM_KEY (транспорт).
 * Без них — inert: обёртка no-op ($0), freeze-gate в печать НЕ подключается.
 * Имя SEAM — чтобы владелец не путал с судейским ROUTER_MENTOR_JUDGE_ENABLED.
 */
const ENABLED_ENV = 'ROUTER_MENTOR_SEAM_ENABLED';

/** «Оба строго» (решение владельца 2026-06-12): наставник ест ТОЛЬКО со своего
 *  ROUTER_MENTOR_LLM_KEY — общий ROUTER_LLM_KEY НЕ фолбэк (разделение счетов). */
export function resolveMentorLlmKey({ env = process.env } = {}) {
  return env.ROUTER_MENTOR_LLM_KEY || null;
}

export function mentorSeamActive({ env = process.env } = {}) {
  return env[ENABLED_ENV] === '1' && !!resolveMentorLlmKey({ env });
}

/** W-2 (sharp-edges 2026-06-12): корень репо для C-3-резолва цитат в mentorGate —
 *  из события хука (event.cwd несёт harness), фолбэк process.cwd(). Утверждение
 *  «cwd хука = корень репо» кодом не гарантировано — берём из события. */
export function repoRootOf(event) {
  const c = event && event.cwd;
  return (typeof c === 'string' && c.trim()) ? c : process.cwd();
}

export const _internals = { ENABLED_ENV };
