mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-12 12:54:07 -07:00
feat(hooks): Hooks Commands Panel, Enable/Disable, and Migrate (#14225)
This commit is contained in:
@@ -312,9 +312,13 @@ export interface ConfigParameters {
|
||||
modelConfigServiceConfig?: ModelConfigServiceConfig;
|
||||
enableHooks?: boolean;
|
||||
experiments?: Experiments;
|
||||
hooks?: {
|
||||
[K in HookEventName]?: HookDefinition[];
|
||||
};
|
||||
hooks?:
|
||||
| {
|
||||
[K in HookEventName]?: HookDefinition[];
|
||||
}
|
||||
| ({
|
||||
[K in HookEventName]?: HookDefinition[];
|
||||
} & { disabled?: string[] });
|
||||
previewFeatures?: boolean;
|
||||
enableModelAvailabilityService?: boolean;
|
||||
experimentalJitContext?: boolean;
|
||||
@@ -429,6 +433,7 @@ export class Config {
|
||||
private readonly hooks:
|
||||
| { [K in HookEventName]?: HookDefinition[] }
|
||||
| undefined;
|
||||
private readonly disabledHooks: string[];
|
||||
private experiments: Experiments | undefined;
|
||||
private experimentsPromise: Promise<void> | undefined;
|
||||
private hookSystem?: HookSystem;
|
||||
@@ -541,6 +546,10 @@ export class Config {
|
||||
this.useSmartEdit = params.useSmartEdit ?? true;
|
||||
this.useWriteTodos = params.useWriteTodos ?? true;
|
||||
this.enableHooks = params.enableHooks ?? false;
|
||||
this.disabledHooks =
|
||||
(params.hooks && 'disabled' in params.hooks
|
||||
? params.hooks.disabled
|
||||
: undefined) ?? [];
|
||||
|
||||
// Enable MessageBus integration if:
|
||||
// 1. Explicitly enabled via setting, OR
|
||||
@@ -1563,6 +1572,13 @@ export class Config {
|
||||
return this.hooks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get disabled hooks list
|
||||
*/
|
||||
getDisabledHooks(): string[] {
|
||||
return this.disabledHooks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get experiments configuration
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user