fix: surface warn-only PreToolUse hooks (#2084)

This commit is contained in:
Affaan Mustafa
2026-05-28 07:45:46 -04:00
committed by GitHub
parent 04c68e483a
commit 64cd1ba248
9 changed files with 143 additions and 35 deletions

View File

@@ -2,6 +2,7 @@
'use strict';
const MAX_STDIN = 1024 * 1024;
const { buildPreToolUseAdditionalContext } = require('./pretooluse-visible-output');
let raw = '';
function run(rawInput) {
@@ -10,11 +11,10 @@ function run(rawInput) {
const cmd = String(input.tool_input?.command || '');
if (/\bgit\s+push\b/.test(cmd)) {
return {
stdout: typeof rawInput === 'string' ? rawInput : JSON.stringify(rawInput),
stderr: [
additionalContext: [
'[Hook] Review changes before push...',
'[Hook] Continuing with push (remove this hook to add interactive review)',
].join('\n'),
],
exitCode: 0,
};
}
@@ -40,7 +40,11 @@ if (require.main === module) {
if (result.stderr) {
process.stderr.write(`${result.stderr}\n`);
}
process.stdout.write(String(result.stdout || ''));
if (Object.prototype.hasOwnProperty.call(result, 'additionalContext')) {
process.stdout.write(buildPreToolUseAdditionalContext(result.additionalContext));
} else {
process.stdout.write(String(result.stdout || ''));
}
process.exitCode = Number.isInteger(result.exitCode) ? result.exitCode : 0;
return;
}