@vybestack/llxprt-code-core 0.8.0 → 0.9.0-nightly.260120.c5843db0e

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 (169) hide show
  1. package/dist/src/auth/token-store.d.ts +57 -0
  2. package/dist/src/auth/token-store.js +137 -0
  3. package/dist/src/auth/token-store.js.map +1 -1
  4. package/dist/src/code_assist/oauth-credential-storage.js +9 -4
  5. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  6. package/dist/src/config/config.d.ts +53 -8
  7. package/dist/src/config/config.js +106 -10
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/schedulerSingleton.js.map +1 -1
  10. package/dist/src/config/storage.d.ts +3 -0
  11. package/dist/src/config/storage.js +20 -0
  12. package/dist/src/config/storage.js.map +1 -1
  13. package/dist/src/core/client.d.ts +5 -0
  14. package/dist/src/core/client.js +18 -6
  15. package/dist/src/core/client.js.map +1 -1
  16. package/dist/src/core/geminiChat.js +0 -2
  17. package/dist/src/core/geminiChat.js.map +1 -1
  18. package/dist/src/core/nonInteractiveToolExecutor.js +6 -1
  19. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  20. package/dist/src/hooks/hookPlanner.d.ts +46 -0
  21. package/dist/src/hooks/hookPlanner.js +109 -0
  22. package/dist/src/hooks/hookPlanner.js.map +1 -0
  23. package/dist/src/hooks/hookRegistry.d.ts +87 -0
  24. package/dist/src/hooks/hookRegistry.js +199 -0
  25. package/dist/src/hooks/hookRegistry.js.map +1 -0
  26. package/dist/src/hooks/hookTranslator.d.ts +113 -0
  27. package/dist/src/hooks/hookTranslator.js +232 -0
  28. package/dist/src/hooks/hookTranslator.js.map +1 -0
  29. package/dist/src/hooks/index.d.ts +12 -0
  30. package/dist/src/hooks/index.js +14 -0
  31. package/dist/src/hooks/index.js.map +1 -0
  32. package/dist/src/hooks/types.d.ts +384 -0
  33. package/dist/src/hooks/types.js +284 -0
  34. package/dist/src/hooks/types.js.map +1 -0
  35. package/dist/src/ide/ide-client.d.ts +5 -0
  36. package/dist/src/ide/ide-client.js +7 -0
  37. package/dist/src/ide/ide-client.js.map +1 -1
  38. package/dist/src/index.d.ts +8 -2
  39. package/dist/src/index.js +13 -3
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/mcp/oauth-provider.d.ts +9 -9
  42. package/dist/src/mcp/oauth-provider.js +124 -42
  43. package/dist/src/mcp/oauth-provider.js.map +1 -1
  44. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  45. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
  46. package/dist/src/models/hydration.d.ts +40 -0
  47. package/dist/src/models/hydration.js +148 -0
  48. package/dist/src/models/hydration.js.map +1 -0
  49. package/dist/src/models/index.d.ts +33 -0
  50. package/dist/src/models/index.js +46 -0
  51. package/dist/src/models/index.js.map +1 -0
  52. package/dist/src/models/profiles.d.ts +19 -0
  53. package/dist/src/models/profiles.js +83 -0
  54. package/dist/src/models/profiles.js.map +1 -0
  55. package/dist/src/models/provider-integration.d.ts +49 -0
  56. package/dist/src/models/provider-integration.js +162 -0
  57. package/dist/src/models/provider-integration.js.map +1 -0
  58. package/dist/src/models/registry.d.ts +137 -0
  59. package/dist/src/models/registry.js +321 -0
  60. package/dist/src/models/registry.js.map +1 -0
  61. package/dist/src/models/schema.d.ts +1173 -0
  62. package/dist/src/models/schema.js +166 -0
  63. package/dist/src/models/schema.js.map +1 -0
  64. package/dist/src/models/transformer.d.ts +21 -0
  65. package/dist/src/models/transformer.js +130 -0
  66. package/dist/src/models/transformer.js.map +1 -0
  67. package/dist/src/policy/config.d.ts +42 -38
  68. package/dist/src/policy/config.js +306 -93
  69. package/dist/src/policy/config.js.map +1 -1
  70. package/dist/src/policy/policies/discovered.toml +2 -2
  71. package/dist/src/policy/policies/read-only.toml +39 -16
  72. package/dist/src/policy/policies/write.toml +56 -45
  73. package/dist/src/policy/policies/yolo.toml +2 -1
  74. package/dist/src/policy/policy-engine.d.ts +7 -0
  75. package/dist/src/policy/policy-engine.js +11 -0
  76. package/dist/src/policy/policy-engine.js.map +1 -1
  77. package/dist/src/policy/toml-loader.d.ts +50 -24
  78. package/dist/src/policy/toml-loader.js +368 -137
  79. package/dist/src/policy/toml-loader.js.map +1 -1
  80. package/dist/src/policy/types.d.ts +49 -0
  81. package/dist/src/policy/types.js +11 -0
  82. package/dist/src/policy/types.js.map +1 -1
  83. package/dist/src/providers/IProviderManager.d.ts +7 -3
  84. package/dist/src/providers/ProviderManager.d.ts +2 -2
  85. package/dist/src/providers/ProviderManager.js +56 -1
  86. package/dist/src/providers/ProviderManager.js.map +1 -1
  87. package/dist/src/providers/anthropic/AnthropicProvider.js +15 -15
  88. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  89. package/dist/src/providers/gemini/GeminiProvider.js +27 -25
  90. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  91. package/dist/src/providers/openai/OpenAIProvider.js +15 -5
  92. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  93. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +28 -29
  94. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +30 -100
  95. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  96. package/dist/src/services/fileDiscoveryService.d.ts +1 -0
  97. package/dist/src/services/fileDiscoveryService.js +17 -3
  98. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  99. package/dist/src/services/loopDetectionService.d.ts +2 -2
  100. package/dist/src/services/loopDetectionService.js +4 -4
  101. package/dist/src/services/loopDetectionService.js.map +1 -1
  102. package/dist/src/services/shellExecutionService.d.ts +24 -0
  103. package/dist/src/services/shellExecutionService.js +119 -13
  104. package/dist/src/services/shellExecutionService.js.map +1 -1
  105. package/dist/src/tools/ast-edit.d.ts +133 -0
  106. package/dist/src/tools/ast-edit.js +1833 -0
  107. package/dist/src/tools/ast-edit.js.map +1 -0
  108. package/dist/src/tools/delete_line_range.js +2 -2
  109. package/dist/src/tools/delete_line_range.js.map +1 -1
  110. package/dist/src/tools/diffOptions.d.ts +3 -3
  111. package/dist/src/tools/diffOptions.js +4 -4
  112. package/dist/src/tools/diffOptions.js.map +1 -1
  113. package/dist/src/tools/edit.js +3 -3
  114. package/dist/src/tools/edit.js.map +1 -1
  115. package/dist/src/tools/google-web-fetch.js +1 -5
  116. package/dist/src/tools/google-web-fetch.js.map +1 -1
  117. package/dist/src/tools/insert_at_line.js +2 -2
  118. package/dist/src/tools/insert_at_line.js.map +1 -1
  119. package/dist/src/tools/mcp-client-manager.d.ts +48 -12
  120. package/dist/src/tools/mcp-client-manager.js +191 -48
  121. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  122. package/dist/src/tools/mcp-client.d.ts +1 -0
  123. package/dist/src/tools/mcp-client.js +5 -0
  124. package/dist/src/tools/mcp-client.js.map +1 -1
  125. package/dist/src/tools/memoryTool.js +2 -2
  126. package/dist/src/tools/memoryTool.js.map +1 -1
  127. package/dist/src/tools/modifiable-tool.js +2 -2
  128. package/dist/src/tools/modifiable-tool.js.map +1 -1
  129. package/dist/src/tools/tool-error.d.ts +1 -0
  130. package/dist/src/tools/tool-error.js +1 -0
  131. package/dist/src/tools/tool-error.js.map +1 -1
  132. package/dist/src/tools/tool-registry.d.ts +2 -21
  133. package/dist/src/tools/tool-registry.js +3 -81
  134. package/dist/src/tools/tool-registry.js.map +1 -1
  135. package/dist/src/tools/tools.d.ts +10 -1
  136. package/dist/src/tools/tools.js.map +1 -1
  137. package/dist/src/tools/write-file.js +3 -3
  138. package/dist/src/tools/write-file.js.map +1 -1
  139. package/dist/src/utils/channel.d.ts +18 -0
  140. package/dist/src/utils/channel.js +49 -0
  141. package/dist/src/utils/channel.js.map +1 -0
  142. package/dist/src/utils/extensionLoader.d.ts +79 -0
  143. package/dist/src/utils/extensionLoader.js +162 -0
  144. package/dist/src/utils/extensionLoader.js.map +1 -0
  145. package/dist/src/utils/fetch.js +1 -6
  146. package/dist/src/utils/fetch.js.map +1 -1
  147. package/dist/src/utils/gitIgnoreParser.d.ts +9 -3
  148. package/dist/src/utils/gitIgnoreParser.js +105 -12
  149. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  150. package/dist/src/utils/googleErrors.d.ts +104 -0
  151. package/dist/src/utils/googleErrors.js +165 -0
  152. package/dist/src/utils/googleErrors.js.map +1 -0
  153. package/dist/src/utils/googleQuotaErrors.d.ts +36 -0
  154. package/dist/src/utils/googleQuotaErrors.js +149 -0
  155. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  156. package/dist/src/utils/memoryDiscovery.d.ts +13 -0
  157. package/dist/src/utils/memoryDiscovery.js +137 -0
  158. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  159. package/dist/src/utils/package.d.ts +12 -0
  160. package/dist/src/utils/package.js +15 -0
  161. package/dist/src/utils/package.js.map +1 -0
  162. package/dist/src/utils/shell-parser.js +37 -7
  163. package/dist/src/utils/shell-parser.js.map +1 -1
  164. package/dist/src/utils/shell-utils.js +16 -21
  165. package/dist/src/utils/shell-utils.js.map +1 -1
  166. package/package.json +17 -1
  167. package/dist/src/providers/openai-responses/CODEX_PROMPT.d.ts +0 -34
  168. package/dist/src/providers/openai-responses/CODEX_PROMPT.js +0 -346
  169. package/dist/src/providers/openai-responses/CODEX_PROMPT.js.map +0 -1
@@ -46,6 +46,26 @@ export interface TokenStore {
46
46
  * @returns Bucket statistics if available, null otherwise
47
47
  */
48
48
  getBucketStats(provider: string, bucket: string): Promise<BucketStats | null>;
49
+ /**
50
+ * Acquire a refresh lock for a provider to prevent concurrent refreshes
51
+ * @param provider - The provider name
52
+ * @param options - Optional configuration for lock behavior
53
+ * - waitMs: Maximum time to wait for lock
54
+ * - staleMs: Threshold for considering a lock stale
55
+ * - bucket: Optional bucket name for multi-account support
56
+ * @returns true if lock was acquired, false otherwise
57
+ */
58
+ acquireRefreshLock(provider: string, options?: {
59
+ waitMs?: number;
60
+ staleMs?: number;
61
+ bucket?: string;
62
+ }): Promise<boolean>;
63
+ /**
64
+ * Release the refresh lock for a provider
65
+ * @param provider - The provider name
66
+ * @param bucket - Optional bucket name for multi-account support
67
+ */
68
+ releaseRefreshLock(provider: string, bucket?: string): Promise<void>;
49
69
  }
50
70
  /**
51
71
  * Implementation of multi-provider token storage
@@ -53,6 +73,8 @@ export interface TokenStore {
53
73
  */
54
74
  export declare class MultiProviderTokenStore implements TokenStore {
55
75
  private readonly basePath;
76
+ private readonly DEFAULT_LOCK_WAIT_MS;
77
+ private readonly DEFAULT_STALE_THRESHOLD_MS;
56
78
  constructor(basePath?: string);
57
79
  /**
58
80
  * Save an OAuth token for a specific provider
@@ -93,4 +115,39 @@ export declare class MultiProviderTokenStore implements TokenStore {
93
115
  * Rejects characters that could cause issues with file paths
94
116
  */
95
117
  private validateBucketName;
118
+ /**
119
+ * Acquire a refresh lock for a provider to prevent concurrent token refreshes
120
+ * Implements the lock mechanism required for issue #1159
121
+ *
122
+ * @param provider - The provider name
123
+ * @param options - Configuration for lock behavior
124
+ * - waitMs: Maximum time to wait for lock (default: 10s)
125
+ * - staleMs: Threshold for considering a lock stale (default: 30s)
126
+ * - bucket: Optional bucket name for multi-account support
127
+ * @returns true if lock was acquired, false otherwise
128
+ */
129
+ acquireRefreshLock(provider: string, options?: {
130
+ waitMs?: number;
131
+ staleMs?: number;
132
+ bucket?: string;
133
+ }): Promise<boolean>;
134
+ /**
135
+ * Release the refresh lock for a provider
136
+ *
137
+ * @param provider - The provider name
138
+ * @param bucket - Optional bucket name for multi-account support
139
+ */
140
+ releaseRefreshLock(provider: string, bucket?: string): Promise<void>;
141
+ /**
142
+ * Create a lock file with current process info
143
+ */
144
+ private createLock;
145
+ /**
146
+ * Break a stale lock by removing it
147
+ */
148
+ private breakLock;
149
+ /**
150
+ * Get the lock file path for a provider (with optional bucket support)
151
+ */
152
+ private getLockPath;
96
153
  }
@@ -13,6 +13,8 @@ import { OAuthTokenSchema, } from './types.js';
13
13
  */
14
14
  export class MultiProviderTokenStore {
15
15
  basePath;
16
+ DEFAULT_LOCK_WAIT_MS = 10000; // 10 seconds
17
+ DEFAULT_STALE_THRESHOLD_MS = 30000; // 30 seconds
16
18
  constructor(basePath) {
17
19
  this.basePath = basePath ?? join(homedir(), '.llxprt', 'oauth');
18
20
  }
@@ -223,5 +225,140 @@ export class MultiProviderTokenStore {
223
225
  throw new Error(`Invalid bucket name: "${bucket}". Bucket names cannot contain: : / \\ < > " | ? *`);
224
226
  }
225
227
  }
228
+ /**
229
+ * Acquire a refresh lock for a provider to prevent concurrent token refreshes
230
+ * Implements the lock mechanism required for issue #1159
231
+ *
232
+ * @param provider - The provider name
233
+ * @param options - Configuration for lock behavior
234
+ * - waitMs: Maximum time to wait for lock (default: 10s)
235
+ * - staleMs: Threshold for considering a lock stale (default: 30s)
236
+ * - bucket: Optional bucket name for multi-account support
237
+ * @returns true if lock was acquired, false otherwise
238
+ */
239
+ async acquireRefreshLock(provider, options) {
240
+ // Validate bucket name if provided
241
+ if (options?.bucket) {
242
+ this.validateBucketName(options.bucket);
243
+ }
244
+ const lockPath = this.getLockPath(provider, options?.bucket);
245
+ const waitMs = options?.waitMs ?? this.DEFAULT_LOCK_WAIT_MS;
246
+ const staleMs = options?.staleMs ?? this.DEFAULT_STALE_THRESHOLD_MS;
247
+ const startTime = Date.now();
248
+ // Ensure directory exists
249
+ await this.ensureDirectory();
250
+ while (Date.now() - startTime < waitMs) {
251
+ try {
252
+ // Try to read existing lock
253
+ const lockContent = await fs.readFile(lockPath, 'utf8');
254
+ const lockInfo = JSON.parse(lockContent);
255
+ const lockAge = Date.now() - lockInfo.timestamp;
256
+ // Check if lock is stale
257
+ if (lockAge > staleMs) {
258
+ // Lock is stale, break it and acquire
259
+ await this.breakLock(lockPath);
260
+ // Continue to next iteration to try creating lock
261
+ continue;
262
+ }
263
+ // Lock is recent, wait and retry
264
+ await new Promise((resolve) => setTimeout(resolve, 100));
265
+ }
266
+ catch (error) {
267
+ // Handle different error cases
268
+ if (error &&
269
+ typeof error === 'object' &&
270
+ 'code' in error &&
271
+ error.code === 'ENOENT') {
272
+ // Lock file doesn't exist, try to create it
273
+ const created = await this.createLock(lockPath);
274
+ if (created) {
275
+ return true;
276
+ }
277
+ // EEXIST race - another process created it first, continue waiting
278
+ continue;
279
+ }
280
+ // If JSON parse fails (corrupted lock), break it and retry
281
+ await this.breakLock(lockPath);
282
+ continue;
283
+ }
284
+ }
285
+ // Timeout waiting for lock
286
+ return false;
287
+ }
288
+ /**
289
+ * Release the refresh lock for a provider
290
+ *
291
+ * @param provider - The provider name
292
+ * @param bucket - Optional bucket name for multi-account support
293
+ */
294
+ async releaseRefreshLock(provider, bucket) {
295
+ // Validate bucket name if provided
296
+ if (bucket) {
297
+ this.validateBucketName(bucket);
298
+ }
299
+ const lockPath = this.getLockPath(provider, bucket);
300
+ try {
301
+ await fs.unlink(lockPath);
302
+ }
303
+ catch (error) {
304
+ // Ignore errors if lock doesn't exist
305
+ if (error &&
306
+ typeof error === 'object' &&
307
+ 'code' in error &&
308
+ error.code !== 'ENOENT') {
309
+ throw error;
310
+ }
311
+ }
312
+ }
313
+ /**
314
+ * Create a lock file with current process info
315
+ */
316
+ async createLock(lockPath) {
317
+ try {
318
+ const lockInfo = {
319
+ pid: process.pid,
320
+ timestamp: Date.now(),
321
+ };
322
+ await fs.writeFile(lockPath, JSON.stringify(lockInfo), {
323
+ flag: 'wx', // Exclusive write - fails if file exists
324
+ mode: 0o600,
325
+ });
326
+ return true;
327
+ }
328
+ catch (error) {
329
+ // Lock already exists, another process beat us to it
330
+ if (error &&
331
+ typeof error === 'object' &&
332
+ 'code' in error &&
333
+ error.code === 'EEXIST') {
334
+ return false;
335
+ }
336
+ throw error;
337
+ }
338
+ }
339
+ /**
340
+ * Break a stale lock by removing it
341
+ */
342
+ async breakLock(lockPath) {
343
+ try {
344
+ await fs.unlink(lockPath);
345
+ }
346
+ catch (error) {
347
+ // Ignore if already removed
348
+ if (error &&
349
+ typeof error === 'object' &&
350
+ 'code' in error &&
351
+ error.code !== 'ENOENT') {
352
+ throw error;
353
+ }
354
+ }
355
+ }
356
+ /**
357
+ * Get the lock file path for a provider (with optional bucket support)
358
+ */
359
+ getLockPath(provider, bucket) {
360
+ const bucketSuffix = bucket && bucket !== 'default' ? `-${bucket}` : '';
361
+ return join(this.basePath, `${provider}${bucketSuffix}-refresh.lock`);
362
+ }
226
363
  }
227
364
  //# sourceMappingURL=token-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { OAUTH_FILE, Storage } from '../config/storage.js';
8
8
  import * as path from 'node:path';
9
9
  import * as os from 'node:os';
10
10
  import { promises as fs } from 'node:fs';
11
+ import { coreEvents } from '../utils/events.js';
11
12
  const KEYCHAIN_SERVICE_NAME = 'llxprt-code-oauth';
12
13
  const MAIN_ACCOUNT_KEY = 'main-account';
13
14
  function getLegacyCredentialPaths() {
@@ -47,8 +48,10 @@ export class OAuthCredentialStorage {
47
48
  return await this.migrateFromFileStorage();
48
49
  }
49
50
  catch (error) {
50
- console.error(error);
51
- throw new Error('Failed to load OAuth credentials');
51
+ coreEvents.emitFeedback('error', 'Failed to load OAuth credentials', error);
52
+ throw error instanceof Error
53
+ ? error
54
+ : new Error('Failed to load OAuth credentials');
52
55
  }
53
56
  }
54
57
  /**
@@ -82,8 +85,10 @@ export class OAuthCredentialStorage {
82
85
  await Promise.all(getLegacyCredentialPaths().map((legacyPath) => fs.rm(legacyPath, { force: true }).catch(() => { })));
83
86
  }
84
87
  catch (error) {
85
- console.error(error);
86
- throw new Error('Failed to clear OAuth credentials');
88
+ coreEvents.emitFeedback('error', 'Failed to clear OAuth credentials', error);
89
+ throw error instanceof Error
90
+ ? error
91
+ : new Error('Failed to clear OAuth credentials');
87
92
  }
88
93
  }
89
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-credential-storage.js","sourceRoot":"","sources":["../../../src/code_assist/oauth-credential-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-credential-storage.js","sourceRoot":"","sources":["../../../src/code_assist/oauth-credential-storage.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { PromptRegistry } from '../prompts/prompt-registry.js';
8
8
  import { ToolRegistry } from '../tools/tool-registry.js';
9
9
  import type { SubagentSchedulerFactory } from '../core/subagentScheduler.js';
10
10
  import { GeminiClient } from '../core/client.js';
11
+ import type { HookDefinition, HookEventName } from '../hooks/types.js';
11
12
  import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
12
13
  import { GitService } from '../services/gitService.js';
13
14
  import { OutputFormat } from '../utils/output-format.js';
@@ -30,6 +31,8 @@ import type { EventEmitter } from 'node:events';
30
31
  import { MessageBus } from '../confirmation-bus/message-bus.js';
31
32
  import { PolicyEngine } from '../policy/policy-engine.js';
32
33
  import type { PolicyEngineConfig } from '../policy/types.js';
34
+ import { type ExtensionLoader } from '../utils/extensionLoader.js';
35
+ import { McpClientManager } from '../tools/mcp-client-manager.js';
33
36
  export interface RedactionConfig {
34
37
  redactApiKeys: boolean;
35
38
  redactCredentials: boolean;
@@ -111,6 +114,9 @@ export interface GeminiCLIExtension {
111
114
  mcpServers?: Record<string, MCPServerConfig>;
112
115
  contextFiles: string[];
113
116
  excludeTools?: string[];
117
+ hooks?: {
118
+ [K in HookEventName]?: HookDefinition[];
119
+ };
114
120
  }
115
121
  export interface ExtensionInstallMetadata {
116
122
  source: string;
@@ -147,11 +153,12 @@ export declare class MCPServerConfig {
147
153
  readonly includeTools?: string[] | undefined;
148
154
  readonly excludeTools?: string[] | undefined;
149
155
  readonly extensionName?: string | undefined;
156
+ readonly extension?: GeminiCLIExtension | undefined;
150
157
  readonly oauth?: MCPOAuthConfig | undefined;
151
158
  readonly authProviderType?: AuthProviderType | undefined;
152
159
  readonly targetAudience?: string | undefined;
153
160
  readonly targetServiceAccount?: string | undefined;
154
- constructor(command?: string | undefined, args?: string[] | undefined, env?: Record<string, string> | undefined, cwd?: string | undefined, url?: string | undefined, httpUrl?: string | undefined, headers?: Record<string, string> | undefined, tcp?: string | undefined, timeout?: number | undefined, trust?: boolean | undefined, description?: string | undefined, includeTools?: string[] | undefined, excludeTools?: string[] | undefined, extensionName?: string | undefined, oauth?: MCPOAuthConfig | undefined, authProviderType?: AuthProviderType | undefined, targetAudience?: string | undefined, targetServiceAccount?: string | undefined);
161
+ constructor(command?: string | undefined, args?: string[] | undefined, env?: Record<string, string> | undefined, cwd?: string | undefined, url?: string | undefined, httpUrl?: string | undefined, headers?: Record<string, string> | undefined, tcp?: string | undefined, timeout?: number | undefined, trust?: boolean | undefined, description?: string | undefined, includeTools?: string[] | undefined, excludeTools?: string[] | undefined, extensionName?: string | undefined, extension?: GeminiCLIExtension | undefined, oauth?: MCPOAuthConfig | undefined, authProviderType?: AuthProviderType | undefined, targetAudience?: string | undefined, targetServiceAccount?: string | undefined);
155
162
  }
156
163
  export declare enum AuthProviderType {
157
164
  DYNAMIC_DISCOVERY = "dynamic_discovery",
@@ -237,6 +244,10 @@ export interface ConfigParameters {
237
244
  providerManager?: ProviderManager;
238
245
  provider?: string;
239
246
  extensions?: GeminiCLIExtension[];
247
+ extensionLoader?: ExtensionLoader;
248
+ enabledExtensions?: string[];
249
+ enableExtensionReloading?: boolean;
250
+ allowedMcpServers?: string[];
240
251
  blockedMcpServers?: Array<{
241
252
  name: string;
242
253
  extensionName: string;
@@ -267,9 +278,17 @@ export interface ConfigParameters {
267
278
  enableShellOutputEfficiency?: boolean;
268
279
  continueSession?: boolean;
269
280
  disableYoloMode?: boolean;
281
+ enableMessageBusIntegration?: boolean;
282
+ enableHooks?: boolean;
283
+ hooks?: {
284
+ [K in HookEventName]?: HookDefinition[];
285
+ };
270
286
  }
271
287
  export declare class Config {
272
288
  private toolRegistry;
289
+ private mcpClientManager?;
290
+ private allowedMcpServers;
291
+ private blockedMcpServers;
273
292
  private promptRegistry;
274
293
  private readonly sessionId;
275
294
  private readonly settingsService;
@@ -288,7 +307,7 @@ export declare class Config {
288
307
  private readonly toolDiscoveryCommand;
289
308
  private readonly toolCallCommand;
290
309
  private readonly mcpServerCommand;
291
- private readonly mcpServers;
310
+ private mcpServers;
292
311
  private userMemory;
293
312
  private llxprtMdFileCount;
294
313
  private llxprtMdFilePaths;
@@ -320,8 +339,8 @@ export declare class Config {
320
339
  private readonly maxSessionTurns;
321
340
  private readonly _activeExtensions;
322
341
  private readonly listExtensions;
323
- private readonly _extensions;
324
- private readonly _blockedMcpServers;
342
+ private readonly _extensionLoader;
343
+ private readonly enableExtensionReloading;
325
344
  private providerManager?;
326
345
  private profileManager?;
327
346
  private subagentManager?;
@@ -373,6 +392,8 @@ export declare class Config {
373
392
  private readonly enableShellOutputEfficiency;
374
393
  private readonly continueSession;
375
394
  private readonly disableYoloMode;
395
+ private readonly enableHooks;
396
+ private readonly hooks;
376
397
  constructor(params: ConfigParameters);
377
398
  /**
378
399
  * Must only be called once, throws if called again.
@@ -402,11 +423,29 @@ export declare class Config {
402
423
  getQuestion(): string | undefined;
403
424
  getCoreTools(): string[] | undefined;
404
425
  getAllowedTools(): string[] | undefined;
426
+ /**
427
+ * All the excluded tools from static configuration, loaded extensions, or
428
+ * other sources.
429
+ *
430
+ * May change over time.
431
+ */
405
432
  getExcludeTools(): string[] | undefined;
406
433
  getToolDiscoveryCommand(): string | undefined;
407
434
  getToolCallCommand(): string | undefined;
408
435
  getMcpServerCommand(): string | undefined;
436
+ /**
437
+ * The user configured MCP servers (via gemini settings files).
438
+ *
439
+ * Does NOT include mcp servers configured by extensions.
440
+ */
409
441
  getMcpServers(): Record<string, MCPServerConfig> | undefined;
442
+ getMcpClientManager(): McpClientManager | undefined;
443
+ getAllowedMcpServers(): string[] | undefined;
444
+ getBlockedMcpServers(): Array<{
445
+ name: string;
446
+ extensionName: string;
447
+ }> | undefined;
448
+ setMcpServers(mcpServers: Record<string, MCPServerConfig>): void;
410
449
  getUserMemory(): string;
411
450
  setUserMemory(newUserMemory: string): void;
412
451
  getLlxprtMdFileCount(): number;
@@ -467,12 +506,11 @@ export declare class Config {
467
506
  getExperimentalZedIntegration(): boolean;
468
507
  getListExtensions(): boolean;
469
508
  getExtensionManagement(): boolean;
509
+ getExtensionLoader(): ExtensionLoader;
470
510
  getExtensions(): GeminiCLIExtension[];
471
511
  getActiveExtensions(): ActiveExtension[];
472
- getBlockedMcpServers(): Array<{
473
- name: string;
474
- extensionName: string;
475
- }>;
512
+ getEnableExtensionReloading(): boolean;
513
+ getExtensionEvents(): EventEmitter | undefined;
476
514
  getProvider(): string | undefined;
477
515
  setProvider(provider: string): void;
478
516
  getNoBrowser(): boolean;
@@ -568,6 +606,13 @@ export declare class Config {
568
606
  };
569
607
  getOrCreateScheduler(sessionId: string, callbacks: SchedulerCallbacks): Promise<import('../core/coreToolScheduler.js').CoreToolScheduler>;
570
608
  disposeScheduler(sessionId: string): void;
609
+ getEnableHooks(): boolean;
610
+ /**
611
+ * Get hooks configuration
612
+ */
613
+ getHooks(): {
614
+ [K in HookEventName]?: HookDefinition[];
615
+ } | undefined;
571
616
  }
572
617
  export { type SchedulerCallbacks };
573
618
  export { DEFAULT_GEMINI_FLASH_MODEL };