Files
brain/tools/standby-session-reset.mjs
T

29 lines
1.2 KiB
JavaScript
Raw Normal View History

#!/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();