@google/gemini-cli 0.13.0-nightly.20251102.d7243fb8 → 0.13.0-preview.0

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 (166) hide show
  1. package/dist/google-gemini-cli-0.13.0-nightly.20251031.c89bc30d.tgz +0 -0
  2. package/dist/package.json +3 -3
  3. package/dist/src/commands/mcp/list.test.js +25 -21
  4. package/dist/src/commands/mcp/list.test.js.map +1 -1
  5. package/dist/src/config/config.js +11 -84
  6. package/dist/src/config/config.js.map +1 -1
  7. package/dist/src/config/config.test.js +13 -30
  8. package/dist/src/config/config.test.js.map +1 -1
  9. package/dist/src/config/extension-manager.d.ts +18 -6
  10. package/dist/src/config/extension-manager.js +25 -19
  11. package/dist/src/config/extension-manager.js.map +1 -1
  12. package/dist/src/config/extension.test.js +9 -9
  13. package/dist/src/config/extension.test.js.map +1 -1
  14. package/dist/src/config/extensions/extensionSettings.test.js +39 -43
  15. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  16. package/dist/src/config/extensions/github.test.js +133 -165
  17. package/dist/src/config/extensions/github.test.js.map +1 -1
  18. package/dist/src/config/keyBindings.d.ts +3 -0
  19. package/dist/src/config/keyBindings.js +29 -7
  20. package/dist/src/config/keyBindings.js.map +1 -1
  21. package/dist/src/config/keyBindings.test.js +17 -0
  22. package/dist/src/config/keyBindings.test.js.map +1 -1
  23. package/dist/src/config/policy.d.ts +0 -7
  24. package/dist/src/config/policy.js +10 -177
  25. package/dist/src/config/policy.js.map +1 -1
  26. package/dist/src/config/settings.js +1 -0
  27. package/dist/src/config/settings.js.map +1 -1
  28. package/dist/src/config/settingsSchema.d.ts +123 -22
  29. package/dist/src/config/settingsSchema.js +371 -21
  30. package/dist/src/config/settingsSchema.js.map +1 -1
  31. package/dist/src/config/settingsSchema.test.js +40 -1
  32. package/dist/src/config/settingsSchema.test.js.map +1 -1
  33. package/dist/src/gemini.js +15 -5
  34. package/dist/src/gemini.js.map +1 -1
  35. package/dist/src/gemini.test.js +2 -0
  36. package/dist/src/gemini.test.js.map +1 -1
  37. package/dist/src/generated/git-commit.d.ts +2 -2
  38. package/dist/src/generated/git-commit.js +2 -2
  39. package/dist/src/generated/git-commit.js.map +1 -1
  40. package/dist/src/nonInteractiveCli.js +68 -1
  41. package/dist/src/nonInteractiveCli.js.map +1 -1
  42. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  43. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  44. package/dist/src/services/BuiltinCommandLoader.test.js +22 -0
  45. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  46. package/dist/src/services/McpPromptLoader.js +2 -2
  47. package/dist/src/services/McpPromptLoader.js.map +1 -1
  48. package/dist/src/services/McpPromptLoader.test.js +4 -2
  49. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  50. package/dist/src/test-utils/render.d.ts +2 -1
  51. package/dist/src/test-utils/render.js +3 -2
  52. package/dist/src/test-utils/render.js.map +1 -1
  53. package/dist/src/ui/AppContainer.js +32 -15
  54. package/dist/src/ui/AppContainer.js.map +1 -1
  55. package/dist/src/ui/AppContainer.test.js +160 -0
  56. package/dist/src/ui/AppContainer.test.js.map +1 -1
  57. package/dist/src/ui/commands/mcpCommand.js +14 -14
  58. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  59. package/dist/src/ui/commands/mcpCommand.test.js +4 -0
  60. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  61. package/dist/src/ui/commands/policiesCommand.d.ts +7 -0
  62. package/dist/src/ui/commands/policiesCommand.js +59 -0
  63. package/dist/src/ui/commands/policiesCommand.js.map +1 -0
  64. package/dist/src/ui/commands/policiesCommand.test.js +83 -0
  65. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -0
  66. package/dist/src/ui/components/Composer.js +1 -1
  67. package/dist/src/ui/components/Composer.js.map +1 -1
  68. package/dist/src/ui/components/Composer.test.js +4 -1
  69. package/dist/src/ui/components/Composer.test.js.map +1 -1
  70. package/dist/src/ui/components/ConfigInitDisplay.js +4 -6
  71. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
  72. package/dist/src/ui/components/InputPrompt.js +22 -2
  73. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  74. package/dist/src/ui/components/InputPrompt.test.js +70 -5
  75. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  76. package/dist/src/ui/components/MainContent.js +15 -4
  77. package/dist/src/ui/components/MainContent.js.map +1 -1
  78. package/dist/src/ui/components/Notifications.js +38 -5
  79. package/dist/src/ui/components/Notifications.js.map +1 -1
  80. package/dist/src/ui/components/SettingsDialog.js +32 -25
  81. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  82. package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
  83. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  84. package/dist/src/ui/components/messages/InfoMessage.js +1 -1
  85. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  86. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +1 -1
  87. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  88. package/dist/src/ui/components/messages/WarningMessage.js +2 -2
  89. package/dist/src/ui/components/messages/WarningMessage.js.map +1 -1
  90. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  91. package/dist/src/ui/components/shared/text-buffer.js +23 -0
  92. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  93. package/dist/src/ui/components/shared/text-buffer.test.js +246 -201
  94. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  95. package/dist/src/ui/contexts/KeypressContext.js +182 -132
  96. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  97. package/dist/src/ui/contexts/KeypressContext.test.js +144 -8
  98. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  99. package/dist/src/ui/contexts/MouseContext.d.ts +21 -0
  100. package/dist/src/ui/contexts/MouseContext.js +89 -0
  101. package/dist/src/ui/contexts/MouseContext.js.map +1 -0
  102. package/dist/src/ui/contexts/MouseContext.test.js +164 -0
  103. package/dist/src/ui/contexts/MouseContext.test.js.map +1 -0
  104. package/dist/src/ui/hooks/slashCommandProcessor.test.js +70 -73
  105. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  106. package/dist/src/ui/hooks/useGeminiStream.test.js +135 -368
  107. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  108. package/dist/src/ui/hooks/useKeypress.test.js +17 -9
  109. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  110. package/dist/src/ui/hooks/useMouse.d.ts +17 -0
  111. package/dist/src/ui/hooks/useMouse.js +27 -0
  112. package/dist/src/ui/hooks/useMouse.js.map +1 -0
  113. package/dist/src/ui/hooks/useMouse.test.d.ts +6 -0
  114. package/dist/src/ui/hooks/useMouse.test.js +57 -0
  115. package/dist/src/ui/hooks/useMouse.test.js.map +1 -0
  116. package/dist/src/ui/hooks/useSelectionList.js +5 -4
  117. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  118. package/dist/src/ui/hooks/useSelectionList.test.js +24 -3
  119. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  120. package/dist/src/ui/hooks/useToolScheduler.test.js +109 -200
  121. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  122. package/dist/src/ui/keyMatchers.test.js +27 -0
  123. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  124. package/dist/src/ui/themes/no-color.js +1 -0
  125. package/dist/src/ui/themes/no-color.js.map +1 -1
  126. package/dist/src/ui/themes/semantic-tokens.d.ts +1 -0
  127. package/dist/src/ui/themes/semantic-tokens.js +3 -0
  128. package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
  129. package/dist/src/ui/themes/theme.d.ts +1 -0
  130. package/dist/src/ui/themes/theme.js +4 -0
  131. package/dist/src/ui/themes/theme.js.map +1 -1
  132. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -0
  133. package/dist/src/ui/utils/InlineMarkdownRenderer.js +11 -10
  134. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  135. package/dist/src/ui/utils/MarkdownDisplay.js +11 -9
  136. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  137. package/dist/src/ui/utils/input.d.ts +17 -0
  138. package/dist/src/ui/utils/input.js +51 -0
  139. package/dist/src/ui/utils/input.js.map +1 -0
  140. package/dist/src/ui/utils/input.test.d.ts +6 -0
  141. package/dist/src/ui/utils/input.test.js +44 -0
  142. package/dist/src/ui/utils/input.test.js.map +1 -0
  143. package/dist/src/ui/utils/kittyProtocolDetector.js +13 -4
  144. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  145. package/dist/src/ui/utils/mouse.d.ts +31 -0
  146. package/dist/src/ui/utils/mouse.js +164 -0
  147. package/dist/src/ui/utils/mouse.js.map +1 -0
  148. package/dist/src/ui/utils/mouse.test.d.ts +6 -0
  149. package/dist/src/ui/utils/mouse.test.js +131 -0
  150. package/dist/src/ui/utils/mouse.test.js.map +1 -0
  151. package/dist/src/utils/events.d.ts +11 -2
  152. package/dist/src/utils/events.js +1 -0
  153. package/dist/src/utils/events.js.map +1 -1
  154. package/dist/src/utils/sandbox.js +16 -18
  155. package/dist/src/utils/sandbox.js.map +1 -1
  156. package/dist/tsconfig.tsbuildinfo +1 -1
  157. package/package.json +4 -4
  158. package/dist/src/config/policy-toml-loader.d.ts +0 -46
  159. package/dist/src/config/policy-toml-loader.js +0 -314
  160. package/dist/src/config/policy-toml-loader.js.map +0 -1
  161. package/dist/src/config/policy-toml-loader.test.js +0 -626
  162. package/dist/src/config/policy-toml-loader.test.js.map +0 -1
  163. package/dist/src/config/policy.test.js +0 -1058
  164. package/dist/src/config/policy.test.js.map +0 -1
  165. /package/dist/src/{config/policy-toml-loader.test.d.ts → ui/commands/policiesCommand.test.d.ts} +0 -0
  166. /package/dist/src/{config/policy.test.d.ts → ui/contexts/MouseContext.test.d.ts} +0 -0
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { MCPServerConfig, BugCommandSettings, TelemetrySettings, AuthType } from '@google/gemini-cli-core';
6
+ import type { MCPServerConfig, BugCommandSettings, TelemetrySettings, AuthType, HookDefinition, HookEventName } from '@google/gemini-cli-core';
7
7
  import type { CustomTheme } from '../ui/themes/theme.js';
8
8
  import type { SessionRetentionSettings } from './settings.js';
9
9
  export type SettingsType = 'boolean' | 'string' | 'number' | 'array' | 'object' | 'enum';
@@ -18,6 +18,18 @@ export interface SettingEnumOption {
18
18
  value: string | number;
19
19
  label: string;
20
20
  }
21
+ export interface SettingCollectionDefinition {
22
+ type: SettingsType;
23
+ description?: string;
24
+ properties?: SettingsSchema;
25
+ /** Enum type options */
26
+ options?: readonly SettingEnumOption[];
27
+ /**
28
+ * Optional reference identifier for generators that emit a `$ref`.
29
+ * For example, a JSON schema generator can use this to point to a shared definition.
30
+ */
31
+ ref?: string;
32
+ }
21
33
  export declare enum MergeStrategy {
22
34
  REPLACE = "replace",
23
35
  CONCAT = "concat",
@@ -39,6 +51,18 @@ export interface SettingDefinition {
39
51
  mergeStrategy?: MergeStrategy;
40
52
  /** Enum type options */
41
53
  options?: readonly SettingEnumOption[];
54
+ /**
55
+ * For collection types (e.g. arrays), describes the shape of each item.
56
+ */
57
+ items?: SettingCollectionDefinition;
58
+ /**
59
+ * For map-like objects without explicit `properties`, describes the shape of the values.
60
+ */
61
+ additionalProperties?: SettingCollectionDefinition;
62
+ /**
63
+ * Optional reference identifier for generators that emit a `$ref`.
64
+ */
65
+ ref?: string;
42
66
  }
43
67
  export interface SettingsSchema {
44
68
  [key: string]: SettingDefinition;
@@ -60,6 +84,10 @@ declare const SETTINGS_SCHEMA: {
60
84
  readonly description: "Configuration for MCP servers.";
61
85
  readonly showInDialog: false;
62
86
  readonly mergeStrategy: MergeStrategy.SHALLOW_MERGE;
87
+ readonly additionalProperties: {
88
+ readonly type: "object";
89
+ readonly ref: "MCPServerConfig";
90
+ };
63
91
  };
64
92
  readonly general: {
65
93
  readonly type: "object";
@@ -243,7 +271,7 @@ declare const SETTINGS_SCHEMA: {
243
271
  readonly category: "UI";
244
272
  readonly requiresRestart: false;
245
273
  readonly default: string | undefined;
246
- readonly description: "The color theme for the UI.";
274
+ readonly description: "The color theme for the UI. See the CLI themes guide for available options.";
247
275
  readonly showInDialog: false;
248
276
  };
249
277
  readonly customThemes: {
@@ -254,6 +282,10 @@ declare const SETTINGS_SCHEMA: {
254
282
  readonly default: Record<string, CustomTheme>;
255
283
  readonly description: "Custom theme definitions.";
256
284
  readonly showInDialog: false;
285
+ readonly additionalProperties: {
286
+ readonly type: "object";
287
+ readonly ref: "CustomTheme";
288
+ };
257
289
  };
258
290
  readonly hideWindowTitle: {
259
291
  readonly type: "boolean";
@@ -392,14 +424,26 @@ declare const SETTINGS_SCHEMA: {
392
424
  readonly description: "Use the entire width of the terminal for output.";
393
425
  readonly showInDialog: true;
394
426
  };
427
+ readonly useAlternateBuffer: {
428
+ readonly type: "boolean";
429
+ readonly label: "Use Alternate Screen Buffer";
430
+ readonly category: "UI";
431
+ readonly requiresRestart: true;
432
+ readonly default: false;
433
+ readonly description: "Use an alternate screen buffer for the UI, preserving shell history.";
434
+ readonly showInDialog: true;
435
+ };
395
436
  readonly customWittyPhrases: {
396
437
  readonly type: "array";
397
438
  readonly label: "Custom Witty Phrases";
398
439
  readonly category: "UI";
399
440
  readonly requiresRestart: false;
400
441
  readonly default: string[];
401
- readonly description: "Custom witty phrases to display during loading.";
442
+ readonly description: string;
402
443
  readonly showInDialog: false;
444
+ readonly items: {
445
+ readonly type: "string";
446
+ };
403
447
  };
404
448
  readonly accessibility: {
405
449
  readonly type: "object";
@@ -489,6 +533,7 @@ declare const SETTINGS_SCHEMA: {
489
533
  readonly default: TelemetrySettings | undefined;
490
534
  readonly description: "Telemetry configuration.";
491
535
  readonly showInDialog: false;
536
+ readonly ref: "TelemetrySettings";
492
537
  };
493
538
  readonly model: {
494
539
  readonly type: "object";
@@ -525,8 +570,13 @@ declare const SETTINGS_SCHEMA: {
525
570
  readonly default: Record<string, {
526
571
  tokenBudget?: number;
527
572
  }> | undefined;
528
- readonly description: "Settings for summarizing tool output.";
573
+ readonly description: string;
529
574
  readonly showInDialog: false;
575
+ readonly additionalProperties: {
576
+ readonly type: "object";
577
+ readonly description: "Per-tool summarization settings with an optional tokenBudget.";
578
+ readonly ref: "SummarizeToolOutputSettings";
579
+ };
530
580
  };
531
581
  readonly compressionThreshold: {
532
582
  readonly type: "number";
@@ -558,12 +608,13 @@ declare const SETTINGS_SCHEMA: {
558
608
  readonly showInDialog: false;
559
609
  readonly properties: {
560
610
  readonly fileName: {
561
- readonly type: "object";
611
+ readonly type: "string";
562
612
  readonly label: "Context File Name";
563
613
  readonly category: "Context";
564
614
  readonly requiresRestart: false;
565
615
  readonly default: string | string[] | undefined;
566
- readonly description: "The name of the context file.";
616
+ readonly ref: "StringOrStringArray";
617
+ readonly description: "The name of the context file or files to load into memory. Accepts either a single string or an array of strings.";
567
618
  readonly showInDialog: false;
568
619
  };
569
620
  readonly importFormat: {
@@ -590,8 +641,11 @@ declare const SETTINGS_SCHEMA: {
590
641
  readonly category: "Context";
591
642
  readonly requiresRestart: false;
592
643
  readonly default: string[];
593
- readonly description: "Additional directories to include in the workspace context. Missing directories will be skipped with a warning.";
644
+ readonly description: string;
594
645
  readonly showInDialog: false;
646
+ readonly items: {
647
+ readonly type: "string";
648
+ };
595
649
  readonly mergeStrategy: MergeStrategy.CONCAT;
596
650
  };
597
651
  readonly loadMemoryFromIncludeDirectories: {
@@ -600,7 +654,7 @@ declare const SETTINGS_SCHEMA: {
600
654
  readonly category: "Context";
601
655
  readonly requiresRestart: false;
602
656
  readonly default: false;
603
- readonly description: "Whether to load memory files from include directories.";
657
+ readonly description: string;
604
658
  readonly showInDialog: true;
605
659
  };
606
660
  readonly fileFiltering: {
@@ -636,7 +690,7 @@ declare const SETTINGS_SCHEMA: {
636
690
  readonly category: "Context";
637
691
  readonly requiresRestart: true;
638
692
  readonly default: true;
639
- readonly description: "Enable recursive file search functionality";
693
+ readonly description: string;
640
694
  readonly showInDialog: true;
641
695
  };
642
696
  readonly disableFuzzySearch: {
@@ -662,12 +716,13 @@ declare const SETTINGS_SCHEMA: {
662
716
  readonly showInDialog: false;
663
717
  readonly properties: {
664
718
  readonly sandbox: {
665
- readonly type: "object";
719
+ readonly type: "string";
666
720
  readonly label: "Sandbox";
667
721
  readonly category: "Tools";
668
722
  readonly requiresRestart: true;
669
723
  readonly default: boolean | string | undefined;
670
- readonly description: "Sandbox execution environment (can be a boolean or a path string).";
724
+ readonly ref: "BooleanOrString";
725
+ readonly description: string;
671
726
  readonly showInDialog: false;
672
727
  };
673
728
  readonly shell: {
@@ -685,7 +740,7 @@ declare const SETTINGS_SCHEMA: {
685
740
  readonly category: "Tools";
686
741
  readonly requiresRestart: true;
687
742
  readonly default: true;
688
- readonly description: "Use node-pty for an interactive shell experience. Fallback to child_process still applies.";
743
+ readonly description: string;
689
744
  readonly showInDialog: true;
690
745
  };
691
746
  readonly pager: {
@@ -714,7 +769,7 @@ declare const SETTINGS_SCHEMA: {
714
769
  readonly category: "Tools";
715
770
  readonly requiresRestart: false;
716
771
  readonly default: false;
717
- readonly description: "Automatically accept and execute tool calls that are considered safe (e.g., read-only operations).";
772
+ readonly description: string;
718
773
  readonly showInDialog: true;
719
774
  };
720
775
  readonly core: {
@@ -723,8 +778,11 @@ declare const SETTINGS_SCHEMA: {
723
778
  readonly category: "Tools";
724
779
  readonly requiresRestart: true;
725
780
  readonly default: string[] | undefined;
726
- readonly description: "Paths to core tool definitions.";
781
+ readonly description: string;
727
782
  readonly showInDialog: false;
783
+ readonly items: {
784
+ readonly type: "string";
785
+ };
728
786
  };
729
787
  readonly allowed: {
730
788
  readonly type: "array";
@@ -732,8 +790,11 @@ declare const SETTINGS_SCHEMA: {
732
790
  readonly category: "Advanced";
733
791
  readonly requiresRestart: true;
734
792
  readonly default: string[] | undefined;
735
- readonly description: "A list of tool names that will bypass the confirmation dialog.";
793
+ readonly description: string;
736
794
  readonly showInDialog: false;
795
+ readonly items: {
796
+ readonly type: "string";
797
+ };
737
798
  };
738
799
  readonly exclude: {
739
800
  readonly type: "array";
@@ -743,6 +804,9 @@ declare const SETTINGS_SCHEMA: {
743
804
  readonly default: string[] | undefined;
744
805
  readonly description: "Tool names to exclude from discovery.";
745
806
  readonly showInDialog: false;
807
+ readonly items: {
808
+ readonly type: "string";
809
+ };
746
810
  readonly mergeStrategy: MergeStrategy.UNION;
747
811
  };
748
812
  readonly discoveryCommand: {
@@ -760,7 +824,7 @@ declare const SETTINGS_SCHEMA: {
760
824
  readonly category: "Tools";
761
825
  readonly requiresRestart: true;
762
826
  readonly default: string | undefined;
763
- readonly description: "Command to run for tool calls.";
827
+ readonly description: string;
764
828
  readonly showInDialog: false;
765
829
  };
766
830
  readonly useRipgrep: {
@@ -805,9 +869,18 @@ declare const SETTINGS_SCHEMA: {
805
869
  readonly category: "Tools";
806
870
  readonly requiresRestart: true;
807
871
  readonly default: false;
808
- readonly description: "Enable policy-based tool confirmation via message bus integration. When enabled, tools will automatically respect policy engine decisions (ALLOW/DENY/ASK_USER) without requiring individual tool implementations.";
872
+ readonly description: string;
809
873
  readonly showInDialog: true;
810
874
  };
875
+ readonly enableHooks: {
876
+ readonly type: "boolean";
877
+ readonly label: "Enable Hooks System";
878
+ readonly category: "Advanced";
879
+ readonly requiresRestart: true;
880
+ readonly default: false;
881
+ readonly description: "Enable the hooks system for intercepting and customizing Gemini CLI behavior. When enabled, hooks configured in settings will execute at appropriate lifecycle events (BeforeTool, AfterTool, BeforeModel, etc.). Requires MessageBus integration.";
882
+ readonly showInDialog: false;
883
+ };
811
884
  };
812
885
  };
813
886
  readonly mcp: {
@@ -836,6 +909,9 @@ declare const SETTINGS_SCHEMA: {
836
909
  readonly default: string[] | undefined;
837
910
  readonly description: "A list of MCP servers to allow.";
838
911
  readonly showInDialog: false;
912
+ readonly items: {
913
+ readonly type: "string";
914
+ };
839
915
  };
840
916
  readonly excluded: {
841
917
  readonly type: "array";
@@ -845,6 +921,9 @@ declare const SETTINGS_SCHEMA: {
845
921
  readonly default: string[] | undefined;
846
922
  readonly description: "A list of MCP servers to exclude.";
847
923
  readonly showInDialog: false;
924
+ readonly items: {
925
+ readonly type: "string";
926
+ };
848
927
  };
849
928
  };
850
929
  };
@@ -862,7 +941,7 @@ declare const SETTINGS_SCHEMA: {
862
941
  readonly label: "Use Write Todos";
863
942
  readonly category: "Advanced";
864
943
  readonly requiresRestart: false;
865
- readonly default: false;
944
+ readonly default: true;
866
945
  readonly description: "Enable the write_todos_list tool.";
867
946
  readonly showInDialog: false;
868
947
  };
@@ -979,6 +1058,9 @@ declare const SETTINGS_SCHEMA: {
979
1058
  readonly default: string[];
980
1059
  readonly description: "Environment variables to exclude from project context.";
981
1060
  readonly showInDialog: false;
1061
+ readonly items: {
1062
+ readonly type: "string";
1063
+ };
982
1064
  readonly mergeStrategy: MergeStrategy.UNION;
983
1065
  };
984
1066
  readonly bugCommand: {
@@ -989,6 +1071,7 @@ declare const SETTINGS_SCHEMA: {
989
1071
  readonly default: BugCommandSettings | undefined;
990
1072
  readonly description: "Configuration for the bug report command.";
991
1073
  readonly showInDialog: false;
1074
+ readonly ref: "BugCommandSettings";
992
1075
  };
993
1076
  };
994
1077
  };
@@ -1042,7 +1125,7 @@ declare const SETTINGS_SCHEMA: {
1042
1125
  readonly label: "Enable Codebase Investigator";
1043
1126
  readonly category: "Experimental";
1044
1127
  readonly requiresRestart: true;
1045
- readonly default: false;
1128
+ readonly default: true;
1046
1129
  readonly description: "Enable the Codebase Investigator agent.";
1047
1130
  readonly showInDialog: true;
1048
1131
  };
@@ -1051,7 +1134,7 @@ declare const SETTINGS_SCHEMA: {
1051
1134
  readonly label: "Codebase Investigator Max Num Turns";
1052
1135
  readonly category: "Experimental";
1053
1136
  readonly requiresRestart: true;
1054
- readonly default: 15;
1137
+ readonly default: 10;
1055
1138
  readonly description: "Maximum number of turns for the Codebase Investigator agent.";
1056
1139
  readonly showInDialog: true;
1057
1140
  };
@@ -1060,7 +1143,7 @@ declare const SETTINGS_SCHEMA: {
1060
1143
  readonly label: "Max Time (Minutes)";
1061
1144
  readonly category: "Experimental";
1062
1145
  readonly requiresRestart: true;
1063
- readonly default: 5;
1146
+ readonly default: 3;
1064
1147
  readonly description: "Maximum time for the Codebase Investigator agent (in minutes).";
1065
1148
  readonly showInDialog: false;
1066
1149
  };
@@ -1069,7 +1152,7 @@ declare const SETTINGS_SCHEMA: {
1069
1152
  readonly label: "Thinking Budget";
1070
1153
  readonly category: "Experimental";
1071
1154
  readonly requiresRestart: true;
1072
- readonly default: -1;
1155
+ readonly default: 8192;
1073
1156
  readonly description: "The thinking budget for the Codebase Investigator agent.";
1074
1157
  readonly showInDialog: false;
1075
1158
  };
@@ -1103,6 +1186,9 @@ declare const SETTINGS_SCHEMA: {
1103
1186
  readonly default: string[];
1104
1187
  readonly description: "List of disabled extensions.";
1105
1188
  readonly showInDialog: false;
1189
+ readonly items: {
1190
+ readonly type: "string";
1191
+ };
1106
1192
  readonly mergeStrategy: MergeStrategy.UNION;
1107
1193
  };
1108
1194
  readonly workspacesWithMigrationNudge: {
@@ -1113,12 +1199,27 @@ declare const SETTINGS_SCHEMA: {
1113
1199
  readonly default: string[];
1114
1200
  readonly description: "List of workspaces for which the migration nudge has been shown.";
1115
1201
  readonly showInDialog: false;
1202
+ readonly items: {
1203
+ readonly type: "string";
1204
+ };
1116
1205
  readonly mergeStrategy: MergeStrategy.UNION;
1117
1206
  };
1118
1207
  };
1119
1208
  };
1209
+ readonly hooks: {
1210
+ readonly type: "object";
1211
+ readonly label: "Hooks";
1212
+ readonly category: "Advanced";
1213
+ readonly requiresRestart: false;
1214
+ readonly default: { [K in HookEventName]?: HookDefinition[]; };
1215
+ readonly description: "Hook configurations for intercepting and customizing agent behavior.";
1216
+ readonly showInDialog: false;
1217
+ readonly mergeStrategy: MergeStrategy.SHALLOW_MERGE;
1218
+ };
1120
1219
  };
1121
1220
  export type SettingsSchemaType = typeof SETTINGS_SCHEMA;
1221
+ export type SettingsJsonSchemaDefinition = Record<string, unknown>;
1222
+ export declare const SETTINGS_SCHEMA_DEFINITIONS: Record<string, SettingsJsonSchemaDefinition>;
1122
1223
  export declare function getSettingsSchema(): SettingsSchemaType;
1123
1224
  type InferSettings<T extends SettingsSchema> = {
1124
1225
  -readonly [K in keyof T]?: T[K] extends {