@google/gemini-cli 0.13.0-nightly.20251103.9187f6f6 → 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 (164) 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 +8 -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/settingsSchema.d.ts +103 -21
  27. package/dist/src/config/settingsSchema.js +352 -21
  28. package/dist/src/config/settingsSchema.js.map +1 -1
  29. package/dist/src/config/settingsSchema.test.js +40 -1
  30. package/dist/src/config/settingsSchema.test.js.map +1 -1
  31. package/dist/src/gemini.js +15 -5
  32. package/dist/src/gemini.js.map +1 -1
  33. package/dist/src/gemini.test.js +2 -0
  34. package/dist/src/gemini.test.js.map +1 -1
  35. package/dist/src/generated/git-commit.d.ts +2 -2
  36. package/dist/src/generated/git-commit.js +2 -2
  37. package/dist/src/generated/git-commit.js.map +1 -1
  38. package/dist/src/nonInteractiveCli.js +68 -1
  39. package/dist/src/nonInteractiveCli.js.map +1 -1
  40. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  41. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  42. package/dist/src/services/BuiltinCommandLoader.test.js +22 -0
  43. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  44. package/dist/src/services/McpPromptLoader.js +2 -2
  45. package/dist/src/services/McpPromptLoader.js.map +1 -1
  46. package/dist/src/services/McpPromptLoader.test.js +4 -2
  47. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  48. package/dist/src/test-utils/render.d.ts +2 -1
  49. package/dist/src/test-utils/render.js +3 -2
  50. package/dist/src/test-utils/render.js.map +1 -1
  51. package/dist/src/ui/AppContainer.js +32 -15
  52. package/dist/src/ui/AppContainer.js.map +1 -1
  53. package/dist/src/ui/AppContainer.test.js +160 -0
  54. package/dist/src/ui/AppContainer.test.js.map +1 -1
  55. package/dist/src/ui/commands/mcpCommand.js +14 -14
  56. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  57. package/dist/src/ui/commands/mcpCommand.test.js +4 -0
  58. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  59. package/dist/src/ui/commands/policiesCommand.d.ts +7 -0
  60. package/dist/src/ui/commands/policiesCommand.js +59 -0
  61. package/dist/src/ui/commands/policiesCommand.js.map +1 -0
  62. package/dist/src/ui/commands/policiesCommand.test.js +83 -0
  63. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -0
  64. package/dist/src/ui/components/Composer.js +1 -1
  65. package/dist/src/ui/components/Composer.js.map +1 -1
  66. package/dist/src/ui/components/Composer.test.js +4 -1
  67. package/dist/src/ui/components/Composer.test.js.map +1 -1
  68. package/dist/src/ui/components/ConfigInitDisplay.js +4 -6
  69. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
  70. package/dist/src/ui/components/InputPrompt.js +22 -2
  71. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  72. package/dist/src/ui/components/InputPrompt.test.js +70 -5
  73. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  74. package/dist/src/ui/components/MainContent.js +15 -4
  75. package/dist/src/ui/components/MainContent.js.map +1 -1
  76. package/dist/src/ui/components/Notifications.js +38 -5
  77. package/dist/src/ui/components/Notifications.js.map +1 -1
  78. package/dist/src/ui/components/SettingsDialog.js +32 -25
  79. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  80. package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
  81. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  82. package/dist/src/ui/components/messages/InfoMessage.js +1 -1
  83. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  84. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +1 -1
  85. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  86. package/dist/src/ui/components/messages/WarningMessage.js +2 -2
  87. package/dist/src/ui/components/messages/WarningMessage.js.map +1 -1
  88. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  89. package/dist/src/ui/components/shared/text-buffer.js +23 -0
  90. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  91. package/dist/src/ui/components/shared/text-buffer.test.js +246 -201
  92. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  93. package/dist/src/ui/contexts/KeypressContext.js +182 -132
  94. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  95. package/dist/src/ui/contexts/KeypressContext.test.js +144 -8
  96. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  97. package/dist/src/ui/contexts/MouseContext.d.ts +21 -0
  98. package/dist/src/ui/contexts/MouseContext.js +89 -0
  99. package/dist/src/ui/contexts/MouseContext.js.map +1 -0
  100. package/dist/src/ui/contexts/MouseContext.test.js +164 -0
  101. package/dist/src/ui/contexts/MouseContext.test.js.map +1 -0
  102. package/dist/src/ui/hooks/slashCommandProcessor.test.js +70 -73
  103. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  104. package/dist/src/ui/hooks/useGeminiStream.test.js +135 -368
  105. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  106. package/dist/src/ui/hooks/useKeypress.test.js +17 -9
  107. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  108. package/dist/src/ui/hooks/useMouse.d.ts +17 -0
  109. package/dist/src/ui/hooks/useMouse.js +27 -0
  110. package/dist/src/ui/hooks/useMouse.js.map +1 -0
  111. package/dist/src/ui/hooks/useMouse.test.d.ts +6 -0
  112. package/dist/src/ui/hooks/useMouse.test.js +57 -0
  113. package/dist/src/ui/hooks/useMouse.test.js.map +1 -0
  114. package/dist/src/ui/hooks/useSelectionList.js +5 -4
  115. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  116. package/dist/src/ui/hooks/useSelectionList.test.js +24 -3
  117. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  118. package/dist/src/ui/hooks/useToolScheduler.test.js +109 -200
  119. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  120. package/dist/src/ui/keyMatchers.test.js +27 -0
  121. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  122. package/dist/src/ui/themes/no-color.js +1 -0
  123. package/dist/src/ui/themes/no-color.js.map +1 -1
  124. package/dist/src/ui/themes/semantic-tokens.d.ts +1 -0
  125. package/dist/src/ui/themes/semantic-tokens.js +3 -0
  126. package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
  127. package/dist/src/ui/themes/theme.d.ts +1 -0
  128. package/dist/src/ui/themes/theme.js +4 -0
  129. package/dist/src/ui/themes/theme.js.map +1 -1
  130. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -0
  131. package/dist/src/ui/utils/InlineMarkdownRenderer.js +11 -10
  132. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  133. package/dist/src/ui/utils/MarkdownDisplay.js +11 -9
  134. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  135. package/dist/src/ui/utils/input.d.ts +17 -0
  136. package/dist/src/ui/utils/input.js +51 -0
  137. package/dist/src/ui/utils/input.js.map +1 -0
  138. package/dist/src/ui/utils/input.test.d.ts +6 -0
  139. package/dist/src/ui/utils/input.test.js +44 -0
  140. package/dist/src/ui/utils/input.test.js.map +1 -0
  141. package/dist/src/ui/utils/kittyProtocolDetector.js +13 -4
  142. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  143. package/dist/src/ui/utils/mouse.d.ts +31 -0
  144. package/dist/src/ui/utils/mouse.js +164 -0
  145. package/dist/src/ui/utils/mouse.js.map +1 -0
  146. package/dist/src/ui/utils/mouse.test.d.ts +6 -0
  147. package/dist/src/ui/utils/mouse.test.js +131 -0
  148. package/dist/src/ui/utils/mouse.test.js.map +1 -0
  149. package/dist/src/utils/events.d.ts +11 -2
  150. package/dist/src/utils/events.js +1 -0
  151. package/dist/src/utils/events.js.map +1 -1
  152. package/dist/src/utils/sandbox.js +16 -18
  153. package/dist/src/utils/sandbox.js.map +1 -1
  154. package/dist/tsconfig.tsbuildinfo +1 -1
  155. package/package.json +4 -4
  156. package/dist/src/config/policy-toml-loader.d.ts +0 -46
  157. package/dist/src/config/policy-toml-loader.js +0 -314
  158. package/dist/src/config/policy-toml-loader.js.map +0 -1
  159. package/dist/src/config/policy-toml-loader.test.js +0 -626
  160. package/dist/src/config/policy-toml-loader.test.js.map +0 -1
  161. package/dist/src/config/policy.test.js +0 -1058
  162. package/dist/src/config/policy.test.js.map +0 -1
  163. /package/dist/src/{config/policy-toml-loader.test.d.ts → ui/commands/policiesCommand.test.d.ts} +0 -0
  164. /package/dist/src/{config/policy.test.d.ts → ui/contexts/MouseContext.test.d.ts} +0 -0
@@ -3,186 +3,19 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { PolicyDecision, MessageBusType, Storage, } from '@google/gemini-cli-core';
7
- import { getSystemSettingsPath } from './settings.js';
8
- import path from 'node:path';
9
- import { fileURLToPath } from 'node:url';
10
- import { loadPoliciesFromToml, } from './policy-toml-loader.js';
11
- // Get the directory name of the current module
12
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
- // Store policy loading errors to be displayed after UI is ready
14
- let storedPolicyErrors = [];
15
- function getPolicyDirectories() {
16
- const DEFAULT_POLICIES_DIR = path.resolve(__dirname, 'policies');
17
- const USER_POLICIES_DIR = Storage.getUserPoliciesDir();
18
- const systemSettingsPath = getSystemSettingsPath();
19
- const ADMIN_POLICIES_DIR = path.join(path.dirname(systemSettingsPath), 'policies');
20
- return [
21
- DEFAULT_POLICIES_DIR,
22
- USER_POLICIES_DIR,
23
- ADMIN_POLICIES_DIR,
24
- ].reverse();
25
- }
26
- /**
27
- * Determines the policy tier (1=default, 2=user, 3=admin) for a given directory.
28
- * This is used by the TOML loader to assign priority bands.
29
- */
30
- function getPolicyTier(dir) {
31
- const DEFAULT_POLICIES_DIR = path.resolve(__dirname, 'policies');
32
- const USER_POLICIES_DIR = Storage.getUserPoliciesDir();
33
- const systemSettingsPath = getSystemSettingsPath();
34
- const ADMIN_POLICIES_DIR = path.join(path.dirname(systemSettingsPath), 'policies');
35
- // Normalize paths for comparison
36
- const normalizedDir = path.resolve(dir);
37
- const normalizedDefault = path.resolve(DEFAULT_POLICIES_DIR);
38
- const normalizedUser = path.resolve(USER_POLICIES_DIR);
39
- const normalizedAdmin = path.resolve(ADMIN_POLICIES_DIR);
40
- if (normalizedDir === normalizedDefault)
41
- return 1;
42
- if (normalizedDir === normalizedUser)
43
- return 2;
44
- if (normalizedDir === normalizedAdmin)
45
- return 3;
46
- // Default to tier 1 if unknown
47
- return 1;
48
- }
49
- /**
50
- * Formats a policy file error for console logging.
51
- */
52
- function formatPolicyError(error) {
53
- const tierLabel = error.tier.toUpperCase();
54
- let message = `[${tierLabel}] Policy file error in ${error.fileName}:\n`;
55
- message += ` ${error.message}`;
56
- if (error.details) {
57
- message += `\n${error.details}`;
58
- }
59
- if (error.suggestion) {
60
- message += `\n Suggestion: ${error.suggestion}`;
61
- }
62
- return message;
63
- }
6
+ import { createPolicyEngineConfig as createCorePolicyEngineConfig, createPolicyUpdater as createCorePolicyUpdater, } from '@google/gemini-cli-core';
7
+ import {} from './settings.js';
64
8
  export async function createPolicyEngineConfig(settings, approvalMode) {
65
- const policyDirs = getPolicyDirectories();
66
- // Load policies from TOML files
67
- const { rules: tomlRules, errors } = await loadPoliciesFromToml(approvalMode, policyDirs, getPolicyTier);
68
- // Store any errors encountered during TOML loading
69
- // These will be emitted by getPolicyErrorsForUI() after the UI is ready.
70
- if (errors.length > 0) {
71
- storedPolicyErrors = errors.map((error) => formatPolicyError(error));
72
- }
73
- const rules = [...tomlRules];
74
- // Priority system for policy rules:
75
- // - Higher priority numbers win over lower priority numbers
76
- // - When multiple rules match, the highest priority rule is applied
77
- // - Rules are evaluated in order of priority (highest first)
78
- //
79
- // Priority bands (tiers):
80
- // - Default policies (TOML): 1 + priority/1000 (e.g., priority 100 → 1.100)
81
- // - User policies (TOML): 2 + priority/1000 (e.g., priority 100 → 2.100)
82
- // - Admin policies (TOML): 3 + priority/1000 (e.g., priority 100 → 3.100)
83
- //
84
- // This ensures Admin > User > Default hierarchy is always preserved,
85
- // while allowing user-specified priorities to work within each tier.
86
- //
87
- // Settings-based and dynamic rules (all in user tier 2.x):
88
- // 2.95: Tools that the user has selected as "Always Allow" in the interactive UI
89
- // 2.9: MCP servers excluded list (security: persistent server blocks)
90
- // 2.4: Command line flag --exclude-tools (explicit temporary blocks)
91
- // 2.3: Command line flag --allowed-tools (explicit temporary allows)
92
- // 2.2: MCP servers with trust=true (persistent trusted servers)
93
- // 2.1: MCP servers allowed list (persistent general server allows)
94
- //
95
- // TOML policy priorities (before transformation):
96
- // 10: Write tools default to ASK_USER (becomes 1.010 in default tier)
97
- // 15: Auto-edit tool override (becomes 1.015 in default tier)
98
- // 50: Read-only tools (becomes 1.050 in default tier)
99
- // 999: YOLO mode allow-all (becomes 1.999 in default tier)
100
- // MCP servers that are explicitly excluded in settings.mcp.excluded
101
- // Priority: 2.9 (highest in user tier for security - persistent server blocks)
102
- if (settings.mcp?.excluded) {
103
- for (const serverName of settings.mcp.excluded) {
104
- rules.push({
105
- toolName: `${serverName}__*`,
106
- decision: PolicyDecision.DENY,
107
- priority: 2.9,
108
- });
109
- }
110
- }
111
- // Tools that are explicitly excluded in the settings.
112
- // Priority: 2.4 (user tier - explicit temporary blocks)
113
- if (settings.tools?.exclude) {
114
- for (const tool of settings.tools.exclude) {
115
- rules.push({
116
- toolName: tool,
117
- decision: PolicyDecision.DENY,
118
- priority: 2.4,
119
- });
120
- }
121
- }
122
- // Tools that are explicitly allowed in the settings.
123
- // Priority: 2.3 (user tier - explicit temporary allows)
124
- if (settings.tools?.allowed) {
125
- for (const tool of settings.tools.allowed) {
126
- rules.push({
127
- toolName: tool,
128
- decision: PolicyDecision.ALLOW,
129
- priority: 2.3,
130
- });
131
- }
132
- }
133
- // MCP servers that are trusted in the settings.
134
- // Priority: 2.2 (user tier - persistent trusted servers)
135
- if (settings.mcpServers) {
136
- for (const [serverName, serverConfig] of Object.entries(settings.mcpServers)) {
137
- if (serverConfig.trust) {
138
- // Trust all tools from this MCP server
139
- // Using pattern matching for MCP tool names which are formatted as "serverName__toolName"
140
- rules.push({
141
- toolName: `${serverName}__*`,
142
- decision: PolicyDecision.ALLOW,
143
- priority: 2.2,
144
- });
145
- }
146
- }
147
- }
148
- // MCP servers that are explicitly allowed in settings.mcp.allowed
149
- // Priority: 2.1 (user tier - persistent general server allows)
150
- if (settings.mcp?.allowed) {
151
- for (const serverName of settings.mcp.allowed) {
152
- rules.push({
153
- toolName: `${serverName}__*`,
154
- decision: PolicyDecision.ALLOW,
155
- priority: 2.1,
156
- });
157
- }
158
- }
159
- return {
160
- rules,
161
- defaultDecision: PolicyDecision.ASK_USER,
9
+ // Explicitly construct PolicySettings from Settings to ensure type safety
10
+ // and avoid accidental leakage of other settings properties.
11
+ const policySettings = {
12
+ mcp: settings.mcp,
13
+ tools: settings.tools,
14
+ mcpServers: settings.mcpServers,
162
15
  };
16
+ return createCorePolicyEngineConfig(policySettings, approvalMode);
163
17
  }
164
18
  export function createPolicyUpdater(policyEngine, messageBus) {
165
- messageBus.subscribe(MessageBusType.UPDATE_POLICY, (message) => {
166
- const toolName = message.toolName;
167
- policyEngine.addRule({
168
- toolName,
169
- decision: PolicyDecision.ALLOW,
170
- // User tier (2) + high priority (950/1000) = 2.95
171
- // This ensures user "always allow" selections are high priority
172
- // but still lose to admin policies (3.xxx) and settings excludes (200)
173
- priority: 2.95,
174
- });
175
- });
176
- }
177
- /**
178
- * Gets and clears any policy errors that were stored during config loading.
179
- * This should be called once the UI is ready to display errors.
180
- *
181
- * @returns Array of formatted error messages, or empty array if no errors
182
- */
183
- export function getPolicyErrorsForUI() {
184
- const errors = [...storedPolicyErrors];
185
- storedPolicyErrors = []; // Clear after retrieving
186
- return errors;
19
+ return createCorePolicyUpdater(policyEngine, messageBus);
187
20
  }
188
21
  //# sourceMappingURL=policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/config/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/config/policy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAML,wBAAwB,IAAI,4BAA4B,EACxD,mBAAmB,IAAI,uBAAuB,GAC/C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAiB,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAkB,EAClB,YAA0B;IAE1B,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,cAAc,GAAmB;QACrC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;IAEF,OAAO,4BAA4B,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAA0B,EAC1B,UAAsB;IAEtB,OAAO,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC"}
@@ -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,7 +869,7 @@ 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
  };
811
875
  readonly enableHooks: {
@@ -845,6 +909,9 @@ declare const SETTINGS_SCHEMA: {
845
909
  readonly default: string[] | undefined;
846
910
  readonly description: "A list of MCP servers to allow.";
847
911
  readonly showInDialog: false;
912
+ readonly items: {
913
+ readonly type: "string";
914
+ };
848
915
  };
849
916
  readonly excluded: {
850
917
  readonly type: "array";
@@ -854,6 +921,9 @@ declare const SETTINGS_SCHEMA: {
854
921
  readonly default: string[] | undefined;
855
922
  readonly description: "A list of MCP servers to exclude.";
856
923
  readonly showInDialog: false;
924
+ readonly items: {
925
+ readonly type: "string";
926
+ };
857
927
  };
858
928
  };
859
929
  };
@@ -871,7 +941,7 @@ declare const SETTINGS_SCHEMA: {
871
941
  readonly label: "Use Write Todos";
872
942
  readonly category: "Advanced";
873
943
  readonly requiresRestart: false;
874
- readonly default: false;
944
+ readonly default: true;
875
945
  readonly description: "Enable the write_todos_list tool.";
876
946
  readonly showInDialog: false;
877
947
  };
@@ -988,6 +1058,9 @@ declare const SETTINGS_SCHEMA: {
988
1058
  readonly default: string[];
989
1059
  readonly description: "Environment variables to exclude from project context.";
990
1060
  readonly showInDialog: false;
1061
+ readonly items: {
1062
+ readonly type: "string";
1063
+ };
991
1064
  readonly mergeStrategy: MergeStrategy.UNION;
992
1065
  };
993
1066
  readonly bugCommand: {
@@ -998,6 +1071,7 @@ declare const SETTINGS_SCHEMA: {
998
1071
  readonly default: BugCommandSettings | undefined;
999
1072
  readonly description: "Configuration for the bug report command.";
1000
1073
  readonly showInDialog: false;
1074
+ readonly ref: "BugCommandSettings";
1001
1075
  };
1002
1076
  };
1003
1077
  };
@@ -1051,7 +1125,7 @@ declare const SETTINGS_SCHEMA: {
1051
1125
  readonly label: "Enable Codebase Investigator";
1052
1126
  readonly category: "Experimental";
1053
1127
  readonly requiresRestart: true;
1054
- readonly default: false;
1128
+ readonly default: true;
1055
1129
  readonly description: "Enable the Codebase Investigator agent.";
1056
1130
  readonly showInDialog: true;
1057
1131
  };
@@ -1060,7 +1134,7 @@ declare const SETTINGS_SCHEMA: {
1060
1134
  readonly label: "Codebase Investigator Max Num Turns";
1061
1135
  readonly category: "Experimental";
1062
1136
  readonly requiresRestart: true;
1063
- readonly default: 15;
1137
+ readonly default: 10;
1064
1138
  readonly description: "Maximum number of turns for the Codebase Investigator agent.";
1065
1139
  readonly showInDialog: true;
1066
1140
  };
@@ -1069,7 +1143,7 @@ declare const SETTINGS_SCHEMA: {
1069
1143
  readonly label: "Max Time (Minutes)";
1070
1144
  readonly category: "Experimental";
1071
1145
  readonly requiresRestart: true;
1072
- readonly default: 5;
1146
+ readonly default: 3;
1073
1147
  readonly description: "Maximum time for the Codebase Investigator agent (in minutes).";
1074
1148
  readonly showInDialog: false;
1075
1149
  };
@@ -1078,7 +1152,7 @@ declare const SETTINGS_SCHEMA: {
1078
1152
  readonly label: "Thinking Budget";
1079
1153
  readonly category: "Experimental";
1080
1154
  readonly requiresRestart: true;
1081
- readonly default: -1;
1155
+ readonly default: 8192;
1082
1156
  readonly description: "The thinking budget for the Codebase Investigator agent.";
1083
1157
  readonly showInDialog: false;
1084
1158
  };
@@ -1112,6 +1186,9 @@ declare const SETTINGS_SCHEMA: {
1112
1186
  readonly default: string[];
1113
1187
  readonly description: "List of disabled extensions.";
1114
1188
  readonly showInDialog: false;
1189
+ readonly items: {
1190
+ readonly type: "string";
1191
+ };
1115
1192
  readonly mergeStrategy: MergeStrategy.UNION;
1116
1193
  };
1117
1194
  readonly workspacesWithMigrationNudge: {
@@ -1122,6 +1199,9 @@ declare const SETTINGS_SCHEMA: {
1122
1199
  readonly default: string[];
1123
1200
  readonly description: "List of workspaces for which the migration nudge has been shown.";
1124
1201
  readonly showInDialog: false;
1202
+ readonly items: {
1203
+ readonly type: "string";
1204
+ };
1125
1205
  readonly mergeStrategy: MergeStrategy.UNION;
1126
1206
  };
1127
1207
  };
@@ -1138,6 +1218,8 @@ declare const SETTINGS_SCHEMA: {
1138
1218
  };
1139
1219
  };
1140
1220
  export type SettingsSchemaType = typeof SETTINGS_SCHEMA;
1221
+ export type SettingsJsonSchemaDefinition = Record<string, unknown>;
1222
+ export declare const SETTINGS_SCHEMA_DEFINITIONS: Record<string, SettingsJsonSchemaDefinition>;
1141
1223
  export declare function getSettingsSchema(): SettingsSchemaType;
1142
1224
  type InferSettings<T extends SettingsSchema> = {
1143
1225
  -readonly [K in keyof T]?: T[K] extends {