Files
brain/tools/standby-session-reset.mjs
T
Дмитрий abf2060328 feat standby: штатный режим - флаг, управляющий хук, сброс, страж в 12 хуков
Сессионный флаг standby-mode + управляющий UserPromptSubmit-хук рукопожатия + SessionStart-сброс. Страж if standbyActive в 12 блокирующих хуках; рельсы floor/snapshot/verify-gate не тронуты.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 10:07:04 +03:00

29 lines
1.2 KiB
JavaScript

#!/usr/bin/env node
/**
* standby-session-reset — SessionStart-хук штатного режима.
* При старте КАЖДОЙ сессии снимает часовой standby-mode и метку standby-pending данной сессии —
* гарантирует, что новая сессия всегда стартует со стеной (не полагается на уникальность sessionId).
* Fail-quiet: ошибка не ломает старт.
*/
import { fileURLToPath } from 'url';
import { readStdin, parseEventJson, removeSentinel } from './enforce-hook-helpers.mjs';
/** Чистая: чистит флаг+pending данной сессии через инъектируемый remove. */
export function resetSession(sess, remove) {
remove('standby-mode', sess);
remove('standby-pending', sess);
return { reset: true };
}
async function main() {
try {
const event = parseEventJson(await readStdin());
const sess = event.session_id || 'unknown';
resetSession(sess, removeSentinel);
} catch { /* fail-quiet — сброс best-effort */ }
process.stdout.write('{}'); process.exit(0);
}
const isCli = process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1];
if (isCli) main();