fix(core): surface warnings for invalid hook event names in configuration (#16788) (#16873)

This commit is contained in:
Sehoon Shon
2026-01-16 14:39:07 -05:00
committed by GitHub
parent 063f0d0dcd
commit 9722ec9b6a
3 changed files with 65 additions and 3 deletions
+9 -2
View File
@@ -6,7 +6,7 @@
import type { Config } from '../config/config.js';
import type { HookDefinition, HookConfig } from './types.js';
import { HookEventName, ConfigSource } from './types.js';
import { HookEventName, ConfigSource, HOOKS_CONFIG_FIELDS } from './types.js';
import { debugLogger } from '../utils/debugLogger.js';
import { TrustedHooksManager } from './trustedHooks.js';
import { coreEvents } from '../utils/events.js';
@@ -169,8 +169,15 @@ please review the project settings (.gemini/settings.json) and remove them.`;
source: ConfigSource,
): void {
for (const [eventName, definitions] of Object.entries(hooksConfig)) {
if (HOOKS_CONFIG_FIELDS.includes(eventName)) {
continue;
}
if (!this.isValidEventName(eventName)) {
debugLogger.warn(`Invalid hook event name: ${eventName}`);
coreEvents.emitFeedback(
'warning',
`Invalid hook event name: "${eventName}" from ${source} config. Skipping.`,
);
continue;
}