@google/gemini-cli-core 0.25.0-preview.0 → 0.26.0-nightly.20260119.20580d754

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/docs/CONTRIBUTING.md +12 -4
  2. package/dist/docs/architecture.md +3 -3
  3. package/dist/docs/changelogs/index.md +25 -0
  4. package/dist/docs/changelogs/latest.md +150 -138
  5. package/dist/docs/changelogs/preview.md +211 -118
  6. package/dist/docs/changelogs/releases.md +408 -27
  7. package/dist/docs/cli/commands.md +24 -0
  8. package/dist/docs/cli/custom-commands.md +9 -9
  9. package/dist/docs/cli/index.md +4 -2
  10. package/dist/docs/cli/keyboard-shortcuts.md +40 -52
  11. package/dist/docs/cli/model-routing.md +1 -1
  12. package/dist/docs/cli/sandbox.md +1 -1
  13. package/dist/docs/cli/settings.md +26 -25
  14. package/dist/docs/cli/skills.md +8 -8
  15. package/dist/docs/cli/telemetry.md +3 -3
  16. package/dist/docs/extensions/getting-started-extensions.md +39 -2
  17. package/dist/docs/extensions/index.md +38 -4
  18. package/dist/docs/get-started/configuration.md +28 -13
  19. package/dist/docs/index.md +2 -0
  20. package/dist/docs/local-development.md +1 -1
  21. package/dist/docs/sidebar.json +4 -0
  22. package/dist/docs/tools/index.md +3 -0
  23. package/dist/docs/tools/mcp-server.md +2 -1
  24. package/dist/docs/troubleshooting.md +14 -2
  25. package/dist/google-gemini-cli-core-0.26.0-nightly.20260115.6cb3ae4e0.tgz +0 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/src/agents/a2a-client-manager.d.ts +0 -5
  30. package/dist/src/agents/a2a-client-manager.js +1 -123
  31. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  32. package/dist/src/agents/a2a-client-manager.test.js +1 -62
  33. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  34. package/dist/src/agents/generalist-agent.d.ts +21 -0
  35. package/dist/src/agents/generalist-agent.js +62 -0
  36. package/dist/src/agents/generalist-agent.js.map +1 -0
  37. package/dist/src/agents/generalist-agent.test.d.ts +6 -0
  38. package/dist/src/agents/generalist-agent.test.js +31 -0
  39. package/dist/src/agents/generalist-agent.test.js.map +1 -0
  40. package/dist/src/agents/local-executor.d.ts +1 -0
  41. package/dist/src/agents/local-executor.js +4 -1
  42. package/dist/src/agents/local-executor.js.map +1 -1
  43. package/dist/src/agents/registry.d.ts +1 -0
  44. package/dist/src/agents/registry.js +51 -14
  45. package/dist/src/agents/registry.js.map +1 -1
  46. package/dist/src/agents/registry.test.js +101 -21
  47. package/dist/src/agents/registry.test.js.map +1 -1
  48. package/dist/src/agents/types.d.ts +1 -0
  49. package/dist/src/code_assist/admin/admin_controls.d.ts +23 -0
  50. package/dist/src/code_assist/admin/admin_controls.js +88 -0
  51. package/dist/src/code_assist/admin/admin_controls.js.map +1 -0
  52. package/dist/src/code_assist/admin/admin_controls.test.d.ts +6 -0
  53. package/dist/src/code_assist/admin/admin_controls.test.js +200 -0
  54. package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -0
  55. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  56. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  57. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  58. package/dist/src/code_assist/server.d.ts +2 -1
  59. package/dist/src/code_assist/server.js +3 -0
  60. package/dist/src/code_assist/server.js.map +1 -1
  61. package/dist/src/code_assist/types.d.ts +56 -17
  62. package/dist/src/code_assist/types.js +16 -0
  63. package/dist/src/code_assist/types.js.map +1 -1
  64. package/dist/src/config/config.d.ts +27 -10
  65. package/dist/src/config/config.js +60 -12
  66. package/dist/src/config/config.js.map +1 -1
  67. package/dist/src/config/config.test.js +74 -25
  68. package/dist/src/config/config.test.js.map +1 -1
  69. package/dist/src/config/constants.d.ts +2 -0
  70. package/dist/src/config/constants.js +4 -0
  71. package/dist/src/config/constants.js.map +1 -1
  72. package/dist/src/confirmation-bus/types.d.ts +52 -2
  73. package/dist/src/confirmation-bus/types.js +1 -0
  74. package/dist/src/confirmation-bus/types.js.map +1 -1
  75. package/dist/src/core/client.js +3 -1
  76. package/dist/src/core/client.js.map +1 -1
  77. package/dist/src/core/client.test.js +15 -0
  78. package/dist/src/core/client.test.js.map +1 -1
  79. package/dist/src/core/contentGenerator.js +2 -1
  80. package/dist/src/core/contentGenerator.js.map +1 -1
  81. package/dist/src/core/coreToolScheduler.d.ts +1 -0
  82. package/dist/src/core/coreToolScheduler.js +9 -3
  83. package/dist/src/core/coreToolScheduler.js.map +1 -1
  84. package/dist/src/core/coreToolScheduler.test.js +49 -6
  85. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  86. package/dist/src/core/prompts.d.ts +1 -1
  87. package/dist/src/core/prompts.js +3 -2
  88. package/dist/src/core/prompts.js.map +1 -1
  89. package/dist/src/core/prompts.test.js +1 -0
  90. package/dist/src/core/prompts.test.js.map +1 -1
  91. package/dist/src/generated/git-commit.d.ts +2 -2
  92. package/dist/src/generated/git-commit.js +2 -2
  93. package/dist/src/generated/git-commit.js.map +1 -1
  94. package/dist/src/hooks/hookRegistry.js +5 -2
  95. package/dist/src/hooks/hookRegistry.js.map +1 -1
  96. package/dist/src/hooks/hookRegistry.test.js +30 -1
  97. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  98. package/dist/src/hooks/types.d.ts +4 -0
  99. package/dist/src/hooks/types.js +4 -0
  100. package/dist/src/hooks/types.js.map +1 -1
  101. package/dist/src/index.d.ts +1 -0
  102. package/dist/src/index.js +1 -0
  103. package/dist/src/index.js.map +1 -1
  104. package/dist/src/mcp/oauth-provider.d.ts +9 -1
  105. package/dist/src/mcp/oauth-provider.js +37 -6
  106. package/dist/src/mcp/oauth-provider.js.map +1 -1
  107. package/dist/src/mcp/oauth-provider.test.js +107 -1
  108. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  109. package/dist/src/policy/config.js +9 -0
  110. package/dist/src/policy/config.js.map +1 -1
  111. package/dist/src/policy/policies/plan.toml +70 -0
  112. package/dist/src/policy/policies/read-only.toml +0 -5
  113. package/dist/src/policy/toml-loader.js +1 -0
  114. package/dist/src/policy/toml-loader.js.map +1 -1
  115. package/dist/src/policy/toml-loader.test.js +2 -0
  116. package/dist/src/policy/toml-loader.test.js.map +1 -1
  117. package/dist/src/policy/types.d.ts +7 -1
  118. package/dist/src/policy/types.js +1 -0
  119. package/dist/src/policy/types.js.map +1 -1
  120. package/dist/src/scheduler/confirmation.d.ts +24 -0
  121. package/dist/src/scheduler/confirmation.js +50 -0
  122. package/dist/src/scheduler/confirmation.js.map +1 -0
  123. package/dist/src/scheduler/confirmation.test.d.ts +6 -0
  124. package/dist/src/scheduler/confirmation.test.js +143 -0
  125. package/dist/src/scheduler/confirmation.test.js.map +1 -0
  126. package/dist/src/scheduler/state-manager.d.ts +67 -0
  127. package/dist/src/scheduler/state-manager.js +335 -0
  128. package/dist/src/scheduler/state-manager.js.map +1 -0
  129. package/dist/src/scheduler/state-manager.test.d.ts +6 -0
  130. package/dist/src/scheduler/state-manager.test.js +386 -0
  131. package/dist/src/scheduler/state-manager.test.js.map +1 -0
  132. package/dist/src/scheduler/tool-executor.js +5 -5
  133. package/dist/src/scheduler/tool-executor.js.map +1 -1
  134. package/dist/src/scheduler/tool-executor.test.js +10 -9
  135. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  136. package/dist/src/scheduler/types.d.ts +10 -1
  137. package/dist/src/services/shellExecutionService.js +14 -3
  138. package/dist/src/services/shellExecutionService.js.map +1 -1
  139. package/dist/src/services/shellExecutionService.test.js +30 -1
  140. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  141. package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
  142. package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  143. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +87 -0
  144. package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  145. package/dist/src/skills/skillLoader.js +65 -9
  146. package/dist/src/skills/skillLoader.js.map +1 -1
  147. package/dist/src/skills/skillLoader.test.js +110 -0
  148. package/dist/src/skills/skillLoader.test.js.map +1 -1
  149. package/dist/src/skills/skillManager.d.ts +2 -2
  150. package/dist/src/skills/skillManager.js +17 -6
  151. package/dist/src/skills/skillManager.js.map +1 -1
  152. package/dist/src/skills/skillManager.test.js +91 -4
  153. package/dist/src/skills/skillManager.test.js.map +1 -1
  154. package/dist/src/telemetry/sdk.test.js +2 -1
  155. package/dist/src/telemetry/sdk.test.js.map +1 -1
  156. package/dist/src/telemetry/semantic.js +88 -0
  157. package/dist/src/telemetry/semantic.js.map +1 -1
  158. package/dist/src/telemetry/semantic.truncation.test.d.ts +1 -0
  159. package/dist/src/telemetry/semantic.truncation.test.js +92 -0
  160. package/dist/src/telemetry/semantic.truncation.test.js.map +1 -0
  161. package/dist/src/test-utils/mock-tool.d.ts +1 -0
  162. package/dist/src/test-utils/mock-tool.js +1 -0
  163. package/dist/src/test-utils/mock-tool.js.map +1 -1
  164. package/dist/src/tools/mcp-client-manager.d.ts +1 -0
  165. package/dist/src/tools/mcp-client-manager.js +3 -0
  166. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  167. package/dist/src/tools/mcp-client-manager.test.js +12 -1
  168. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  169. package/dist/src/tools/shell.js +1 -0
  170. package/dist/src/tools/shell.js.map +1 -1
  171. package/dist/src/tools/tools.d.ts +2 -0
  172. package/dist/src/tools/tools.js.map +1 -1
  173. package/dist/src/utils/editCorrector.js +3 -3
  174. package/dist/src/utils/editCorrector.js.map +1 -1
  175. package/dist/src/utils/events.d.ts +6 -0
  176. package/dist/src/utils/events.js +7 -0
  177. package/dist/src/utils/events.js.map +1 -1
  178. package/dist/src/utils/fileUtils.d.ts +11 -3
  179. package/dist/src/utils/fileUtils.js +49 -49
  180. package/dist/src/utils/fileUtils.js.map +1 -1
  181. package/dist/src/utils/fileUtils.test.js +52 -106
  182. package/dist/src/utils/fileUtils.test.js.map +1 -1
  183. package/dist/src/utils/filesearch/crawler.d.ts +1 -0
  184. package/dist/src/utils/filesearch/crawler.js +18 -1
  185. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  186. package/dist/src/utils/filesearch/crawler.test.js +29 -2
  187. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  188. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -1
  189. package/dist/src/utils/filesearch/fileSearch.js +3 -2
  190. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  191. package/dist/src/utils/filesearch/fileSearch.test.js +49 -28
  192. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  193. package/dist/src/utils/llm-edit-fixer.js +2 -2
  194. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  195. package/dist/src/utils/shell-utils.d.ts +1 -0
  196. package/dist/src/utils/shell-utils.js +46 -2
  197. package/dist/src/utils/shell-utils.js.map +1 -1
  198. package/dist/src/utils/shell-utils.test.js +90 -1
  199. package/dist/src/utils/shell-utils.test.js.map +1 -1
  200. package/dist/src/utils/textUtils.d.ts +8 -0
  201. package/dist/src/utils/textUtils.js +13 -0
  202. package/dist/src/utils/textUtils.js.map +1 -1
  203. package/dist/src/utils/textUtils.test.js +18 -1
  204. package/dist/src/utils/textUtils.test.js.map +1 -1
  205. package/dist/src/utils/tokenCalculation.d.ts +1 -1
  206. package/dist/src/utils/tokenCalculation.js +25 -9
  207. package/dist/src/utils/tokenCalculation.js.map +1 -1
  208. package/dist/src/utils/tokenCalculation.test.js +20 -0
  209. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +2 -2
  212. package/dist/src/utils/LruCache.d.ts +0 -13
  213. package/dist/src/utils/LruCache.js +0 -38
  214. package/dist/src/utils/LruCache.js.map +0 -1
@@ -38,13 +38,13 @@ import { ApprovalMode, type PolicyEngineConfig } from '../policy/types.js';
38
38
  import { HookSystem } from '../hooks/index.js';
39
39
  import type { UserTierId } from '../code_assist/types.js';
40
40
  import type { RetrieveUserQuotaResponse } from '../code_assist/types.js';
41
- import type { GeminiCodeAssistSetting } from '../code_assist/types.js';
41
+ import type { FetchAdminControlsResponse } from '../code_assist/types.js';
42
42
  import type { Experiments } from '../code_assist/experiments/experiments.js';
43
43
  import { AgentRegistry } from '../agents/registry.js';
44
44
  import { SkillManager, type SkillDefinition } from '../skills/skillManager.js';
45
45
  import type { AgentDefinition } from '../agents/types.js';
46
46
  export interface AccessibilitySettings {
47
- disableLoadingPhrases?: boolean;
47
+ enableLoadingPhrases?: boolean;
48
48
  screenReader?: boolean;
49
49
  }
50
50
  export interface BugCommandSettings {
@@ -98,6 +98,7 @@ export interface AgentOverride {
98
98
  modelConfig?: ModelConfig;
99
99
  runConfig?: AgentRunConfig;
100
100
  disabled?: boolean;
101
+ enabled?: boolean;
101
102
  }
102
103
  export interface AgentSettings {
103
104
  overrides?: Record<string, AgentOverride>;
@@ -201,7 +202,9 @@ export interface ConfigParameters {
201
202
  respectGitIgnore?: boolean;
202
203
  respectGeminiIgnore?: boolean;
203
204
  enableRecursiveFileSearch?: boolean;
204
- disableFuzzySearch?: boolean;
205
+ enableFuzzySearch?: boolean;
206
+ maxFileCount?: number;
207
+ searchTimeout?: number;
205
208
  };
206
209
  checkpointing?: boolean;
207
210
  proxy?: string;
@@ -278,6 +281,7 @@ export interface ConfigParameters {
278
281
  adminSkillsEnabled?: boolean;
279
282
  experimentalJitContext?: boolean;
280
283
  disableLLMCorrection?: boolean;
284
+ plan?: boolean;
281
285
  onModelChange?: (model: string) => void;
282
286
  mcpEnabled?: boolean;
283
287
  extensionsEnabled?: boolean;
@@ -285,6 +289,7 @@ export interface ConfigParameters {
285
289
  onReload?: () => Promise<{
286
290
  disabledSkills?: string[];
287
291
  adminSkillsEnabled?: boolean;
292
+ agents?: AgentSettings;
288
293
  }>;
289
294
  }
290
295
  export declare class Config {
@@ -391,21 +396,22 @@ export declare class Config {
391
396
  private pendingIncludeDirectories;
392
397
  private readonly enableHooks;
393
398
  private readonly enableHooksUI;
394
- private readonly hooks;
395
- private readonly projectHooks;
396
- private readonly disabledHooks;
399
+ private hooks;
400
+ private projectHooks;
401
+ private disabledHooks;
397
402
  private experiments;
398
403
  private experimentsPromise;
399
404
  private hookSystem?;
400
405
  private readonly onModelChange;
401
406
  private readonly onReload;
402
407
  private readonly enableAgents;
403
- private readonly agents;
408
+ private agents;
404
409
  private readonly skillsSupport;
405
410
  private disabledSkills;
406
411
  private readonly adminSkillsEnabled;
407
412
  private readonly experimentalJitContext;
408
413
  private readonly disableLLMCorrection;
414
+ private readonly planEnabled;
409
415
  private contextManager?;
410
416
  private terminalBackground;
411
417
  private remoteAdminSettings;
@@ -429,8 +435,8 @@ export declare class Config {
429
435
  getTerminalBackground(): string | undefined;
430
436
  getLatestApiRequest(): GenerateContentParameters | undefined;
431
437
  setLatestApiRequest(req: GenerateContentParameters): void;
432
- getRemoteAdminSettings(): GeminiCodeAssistSetting | undefined;
433
- setRemoteAdminSettings(settings: GeminiCodeAssistSetting): void;
438
+ getRemoteAdminSettings(): FetchAdminControlsResponse | undefined;
439
+ setRemoteAdminSettings(settings: FetchAdminControlsResponse): void;
434
440
  shouldLoadMemoryFromIncludeDirectories(): boolean;
435
441
  getImportFormat(): 'tree' | 'flat';
436
442
  getDiscoveryMaxDirs(): number;
@@ -523,7 +529,7 @@ export declare class Config {
523
529
  getModelRouterService(): ModelRouterService;
524
530
  getModelAvailabilityService(): ModelAvailabilityService;
525
531
  getEnableRecursiveFileSearch(): boolean;
526
- getFileFilteringDisableFuzzySearch(): boolean;
532
+ getFileFilteringEnableFuzzySearch(): boolean;
527
533
  getFileFilteringRespectGitIgnore(): boolean;
528
534
  getFileFilteringRespectGeminiIgnore(): boolean;
529
535
  getFileFilteringOptions(): FileFilteringOptions;
@@ -549,6 +555,7 @@ export declare class Config {
549
555
  getEnabledExtensions(): string[];
550
556
  getEnableExtensionReloading(): boolean;
551
557
  getDisableLLMCorrection(): boolean;
558
+ isPlanEnabled(): boolean;
552
559
  isAgentsEnabled(): boolean;
553
560
  getNoBrowser(): boolean;
554
561
  getAgentsSettings(): AgentSettings;
@@ -584,6 +591,10 @@ export declare class Config {
584
591
  * Reloads skills by re-discovering them from extensions and local directories.
585
592
  */
586
593
  reloadSkills(): Promise<void>;
594
+ /**
595
+ * Reloads agent settings.
596
+ */
597
+ reloadAgents(): Promise<void>;
587
598
  isInteractive(): boolean;
588
599
  getUseRipgrep(): boolean;
589
600
  getEnableInteractiveShell(): boolean;
@@ -632,6 +643,12 @@ export declare class Config {
632
643
  } & {
633
644
  disabled?: string[];
634
645
  }) | undefined;
646
+ /**
647
+ * Update the list of disabled hooks dynamically.
648
+ * This is used to keep the running system in sync with settings changes
649
+ * without risk of loading new hook definitions into memory.
650
+ */
651
+ updateDisabledHooks(disabledHooks: string[]): void;
635
652
  /**
636
653
  * Get disabled hooks list
637
654
  */
@@ -59,6 +59,7 @@ import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
59
59
  import { debugLogger } from '../utils/debugLogger.js';
60
60
  import { SkillManager } from '../skills/skillManager.js';
61
61
  import { startupProfiler } from '../telemetry/startupProfiler.js';
62
+ import { fetchAdminControls } from '../code_assist/admin/admin_controls.js';
62
63
  import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, } from './constants.js';
63
64
  import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
64
65
  import { McpClientManager } from '../tools/mcp-client-manager.js';
@@ -257,6 +258,7 @@ export class Config {
257
258
  adminSkillsEnabled;
258
259
  experimentalJitContext;
259
260
  disableLLMCorrection;
261
+ planEnabled;
260
262
  contextManager;
261
263
  terminalBackground = undefined;
262
264
  remoteAdminSettings;
@@ -310,7 +312,13 @@ export class Config {
310
312
  respectGeminiIgnore: params.fileFiltering?.respectGeminiIgnore ??
311
313
  DEFAULT_FILE_FILTERING_OPTIONS.respectGeminiIgnore,
312
314
  enableRecursiveFileSearch: params.fileFiltering?.enableRecursiveFileSearch ?? true,
313
- disableFuzzySearch: params.fileFiltering?.disableFuzzySearch ?? false,
315
+ enableFuzzySearch: params.fileFiltering?.enableFuzzySearch ?? true,
316
+ maxFileCount: params.fileFiltering?.maxFileCount ??
317
+ DEFAULT_FILE_FILTERING_OPTIONS.maxFileCount ??
318
+ 20000,
319
+ searchTimeout: params.fileFiltering?.searchTimeout ??
320
+ DEFAULT_FILE_FILTERING_OPTIONS.searchTimeout ??
321
+ 5000,
314
322
  };
315
323
  this.checkpointing = params.checkpointing ?? false;
316
324
  this.proxy = params.proxy;
@@ -322,6 +330,7 @@ export class Config {
322
330
  this.enableAgents = params.enableAgents ?? false;
323
331
  this.agents = params.agents ?? {};
324
332
  this.disableLLMCorrection = params.disableLLMCorrection ?? false;
333
+ this.planEnabled = params.plan ?? false;
325
334
  this.skillsSupport = params.skillsSupport ?? false;
326
335
  this.disabledSkills = params.disabledSkills ?? [];
327
336
  this.adminSkillsEnabled = params.adminSkillsEnabled ?? true;
@@ -410,8 +419,13 @@ export class Config {
410
419
  };
411
420
  this.retryFetchErrors = params.retryFetchErrors ?? false;
412
421
  this.disableYoloMode = params.disableYoloMode ?? false;
413
- this.hooks = params.hooks;
414
- this.projectHooks = params.projectHooks;
422
+ if (params.hooks) {
423
+ const { disabled: _, ...restOfHooks } = params.hooks;
424
+ this.hooks = restOfHooks;
425
+ }
426
+ if (params.projectHooks) {
427
+ this.projectHooks = params.projectHooks;
428
+ }
415
429
  this.experiments = params.experiments;
416
430
  this.onModelChange = params.onModelChange;
417
431
  this.onReload = params.onReload;
@@ -479,12 +493,14 @@ export class Config {
479
493
  this.toolRegistry = await this.createToolRegistry();
480
494
  discoverToolsHandle?.end();
481
495
  this.mcpClientManager = new McpClientManager(this.toolRegistry, this, this.eventEmitter);
482
- const initMcpHandle = startupProfiler.start('initialize_mcp_clients');
483
- await Promise.all([
484
- await this.mcpClientManager.startConfiguredMcpServers(),
485
- await this.getExtensionLoader().start(this),
486
- ]);
487
- initMcpHandle?.end();
496
+ // We do not await this promise so that the CLI can start up even if
497
+ // MCP servers are slow to connect.
498
+ Promise.all([
499
+ this.mcpClientManager.startConfiguredMcpServers(),
500
+ this.getExtensionLoader().start(this),
501
+ ]).catch((error) => {
502
+ debugLogger.error('Error initializing MCP clients:', error);
503
+ });
488
504
  if (this.skillsSupport) {
489
505
  this.getSkillManager().setAdminSettings(this.adminSkillsEnabled);
490
506
  if (this.adminSkillsEnabled) {
@@ -556,6 +572,15 @@ export class Config {
556
572
  if (!this.hasAccessToPreviewModel && isPreviewModel(this.model)) {
557
573
  this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
558
574
  }
575
+ // Fetch admin controls
576
+ await this.ensureExperimentsLoaded();
577
+ const adminControlsEnabled = this.experiments?.flags[ExperimentFlags.ENABLE_ADMIN_CONTROLS]
578
+ ?.boolValue ?? false;
579
+ const adminControls = await fetchAdminControls(codeAssistServer, this.getRemoteAdminSettings(), adminControlsEnabled, (newSettings) => {
580
+ this.setRemoteAdminSettings(newSettings);
581
+ coreEvents.emitAdminSettingsChanged();
582
+ });
583
+ this.setRemoteAdminSettings(adminControls);
559
584
  }
560
585
  async getExperimentsAsync() {
561
586
  if (this.experiments) {
@@ -933,8 +958,8 @@ export class Config {
933
958
  getEnableRecursiveFileSearch() {
934
959
  return this.fileFiltering.enableRecursiveFileSearch;
935
960
  }
936
- getFileFilteringDisableFuzzySearch() {
937
- return this.fileFiltering.disableFuzzySearch;
961
+ getFileFilteringEnableFuzzySearch() {
962
+ return this.fileFiltering.enableFuzzySearch;
938
963
  }
939
964
  getFileFilteringRespectGitIgnore() {
940
965
  return this.fileFiltering.respectGitIgnore;
@@ -946,6 +971,8 @@ export class Config {
946
971
  return {
947
972
  respectGitIgnore: this.fileFiltering.respectGitIgnore,
948
973
  respectGeminiIgnore: this.fileFiltering.respectGeminiIgnore,
974
+ maxFileCount: this.fileFiltering.maxFileCount,
975
+ searchTimeout: this.fileFiltering.searchTimeout,
949
976
  };
950
977
  }
951
978
  /**
@@ -1015,6 +1042,9 @@ export class Config {
1015
1042
  getDisableLLMCorrection() {
1016
1043
  return this.disableLLMCorrection;
1017
1044
  }
1045
+ isPlanEnabled() {
1046
+ return this.planEnabled;
1047
+ }
1018
1048
  isAgentsEnabled() {
1019
1049
  return this.enableAgents;
1020
1050
  }
@@ -1070,7 +1100,6 @@ export class Config {
1070
1100
  if (this.compressionThreshold) {
1071
1101
  return this.compressionThreshold;
1072
1102
  }
1073
- await this.ensureExperimentsLoaded();
1074
1103
  const remoteThreshold = this.experiments?.flags[ExperimentFlags.CONTEXT_COMPRESSION_THRESHOLD]
1075
1104
  ?.floatValue;
1076
1105
  if (remoteThreshold === 0) {
@@ -1142,6 +1171,17 @@ export class Config {
1142
1171
  // Notify the client that system instructions might need updating
1143
1172
  await this.updateSystemInstructionIfInitialized();
1144
1173
  }
1174
+ /**
1175
+ * Reloads agent settings.
1176
+ */
1177
+ async reloadAgents() {
1178
+ if (this.onReload) {
1179
+ const refreshed = await this.onReload();
1180
+ if (refreshed.agents) {
1181
+ this.agents = refreshed.agents;
1182
+ }
1183
+ }
1184
+ }
1145
1185
  isInteractive() {
1146
1186
  return this.interactive;
1147
1187
  }
@@ -1330,6 +1370,14 @@ export class Config {
1330
1370
  getProjectHooks() {
1331
1371
  return this.projectHooks;
1332
1372
  }
1373
+ /**
1374
+ * Update the list of disabled hooks dynamically.
1375
+ * This is used to keep the running system in sync with settings changes
1376
+ * without risk of loading new hook definitions into memory.
1377
+ */
1378
+ updateDisabledHooks(disabledHooks) {
1379
+ this.disabledHooks = disabledHooks;
1380
+ }
1333
1381
  /**
1334
1382
  * Get disabled hooks list
1335
1383
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -222,6 +222,27 @@ describe('Server Config (config.ts)', () => {
222
222
  await expect(config.initialize()).resolves.toBeUndefined();
223
223
  await expect(config.initialize()).rejects.toThrow('Config was already initialized');
224
224
  });
225
+ it('should not await MCP initialization', async () => {
226
+ const config = new Config({
227
+ ...baseParams,
228
+ checkpointing: false,
229
+ });
230
+ const { McpClientManager } = await import('../tools/mcp-client-manager.js');
231
+ let mcpStarted = false;
232
+ McpClientManager.mockImplementation(() => ({
233
+ startConfiguredMcpServers: vi.fn().mockImplementation(async () => {
234
+ await new Promise((resolve) => setTimeout(resolve, 50));
235
+ mcpStarted = true;
236
+ }),
237
+ getMcpInstructions: vi.fn(),
238
+ }));
239
+ await config.initialize();
240
+ // Should return immediately, before MCP finishes (50ms delay)
241
+ expect(mcpStarted).toBe(false);
242
+ // Wait for it to eventually finish to avoid open handles
243
+ await new Promise((resolve) => setTimeout(resolve, 60));
244
+ expect(mcpStarted).toBe(true);
245
+ });
225
246
  describe('getCompressionThreshold', () => {
226
247
  it('should return the local compression threshold if it is set', async () => {
227
248
  const config = new Config({
@@ -1155,37 +1176,15 @@ describe('Config getHooks', () => {
1155
1176
  });
1156
1177
  it('should return the hooks configuration when provided', () => {
1157
1178
  const mockHooks = {
1158
- [HookEventName.BeforeTool]: [
1179
+ BeforeTool: [
1159
1180
  {
1160
- matcher: 'write_file',
1161
- hooks: [
1162
- {
1163
- type: HookType.Command,
1164
- command: 'echo "test hook"',
1165
- timeout: 5000,
1166
- },
1167
- ],
1168
- },
1169
- ],
1170
- [HookEventName.AfterTool]: [
1171
- {
1172
- hooks: [
1173
- {
1174
- type: HookType.Command,
1175
- command: './hooks/after-tool.sh',
1176
- timeout: 10000,
1177
- },
1178
- ],
1181
+ hooks: [{ type: HookType.Command, command: 'echo 1' }],
1179
1182
  },
1180
1183
  ],
1181
1184
  };
1182
- const config = new Config({
1183
- ...baseParams,
1184
- hooks: mockHooks,
1185
- });
1185
+ const config = new Config({ ...baseParams, hooks: mockHooks });
1186
1186
  const retrievedHooks = config.getHooks();
1187
1187
  expect(retrievedHooks).toEqual(mockHooks);
1188
- expect(retrievedHooks).toBe(mockHooks); // Should return the same reference
1189
1188
  });
1190
1189
  it('should return hooks with all supported event types', () => {
1191
1190
  const allEventHooks = {
@@ -1419,6 +1418,36 @@ describe('Availability Service Integration', () => {
1419
1418
  expect(spy).toHaveBeenCalled();
1420
1419
  });
1421
1420
  });
1421
+ describe('Hooks configuration', () => {
1422
+ const baseParams = {
1423
+ sessionId: 'test',
1424
+ targetDir: '.',
1425
+ debugMode: false,
1426
+ model: 'test-model',
1427
+ cwd: '.',
1428
+ hooks: { disabled: ['initial-hook'] },
1429
+ };
1430
+ it('updateDisabledHooks should update the disabled list', () => {
1431
+ const config = new Config(baseParams);
1432
+ expect(config.getDisabledHooks()).toEqual(['initial-hook']);
1433
+ const newDisabled = ['new-hook-1', 'new-hook-2'];
1434
+ config.updateDisabledHooks(newDisabled);
1435
+ expect(config.getDisabledHooks()).toEqual(['new-hook-1', 'new-hook-2']);
1436
+ });
1437
+ it('updateDisabledHooks should only update disabled list and not definitions', () => {
1438
+ const initialHooks = {
1439
+ BeforeAgent: [
1440
+ {
1441
+ hooks: [{ type: HookType.Command, command: 'initial' }],
1442
+ },
1443
+ ],
1444
+ };
1445
+ const config = new Config({ ...baseParams, hooks: initialHooks });
1446
+ config.updateDisabledHooks(['some-hook']);
1447
+ expect(config.getDisabledHooks()).toEqual(['some-hook']);
1448
+ expect(config.getHooks()).toEqual(initialHooks);
1449
+ });
1450
+ });
1422
1451
  describe('Config Quota & Preview Model Access', () => {
1423
1452
  let config;
1424
1453
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1506,6 +1535,26 @@ describe('Config Quota & Preview Model Access', () => {
1506
1535
  expect(config.getModel()).toBe(PREVIEW_GEMINI_MODEL);
1507
1536
  });
1508
1537
  });
1538
+ describe('isPlanEnabled', () => {
1539
+ it('should return false by default', () => {
1540
+ const config = new Config(baseParams);
1541
+ expect(config.isPlanEnabled()).toBe(false);
1542
+ });
1543
+ it('should return true when plan is enabled', () => {
1544
+ const config = new Config({
1545
+ ...baseParams,
1546
+ plan: true,
1547
+ });
1548
+ expect(config.isPlanEnabled()).toBe(true);
1549
+ });
1550
+ it('should return false when plan is explicitly disabled', () => {
1551
+ const config = new Config({
1552
+ ...baseParams,
1553
+ plan: false,
1554
+ });
1555
+ expect(config.isPlanEnabled()).toBe(false);
1556
+ });
1557
+ });
1509
1558
  });
1510
1559
  describe('Config JIT Initialization', () => {
1511
1560
  let config;