@aws/lsp-codewhisperer 0.0.66 → 0.0.68

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 (82) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +5 -0
  3. package/out/language-server/agenticChat/agenticChatController.d.ts +2 -2
  4. package/out/language-server/agenticChat/agenticChatController.js +109 -34
  5. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  6. package/out/language-server/agenticChat/constants/constants.d.ts +5 -0
  7. package/out/language-server/agenticChat/constants/constants.js +7 -1
  8. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  9. package/out/language-server/agenticChat/context/additionalContextProvider.d.ts +9 -1
  10. package/out/language-server/agenticChat/context/additionalContextProvider.js +55 -32
  11. package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
  12. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +4 -0
  13. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  14. package/out/language-server/agenticChat/qAgenticChatServer.d.ts +2 -0
  15. package/out/language-server/agenticChat/qAgenticChatServer.js +18 -1
  16. package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
  17. package/out/language-server/agenticChat/tabBarController.d.ts +1 -0
  18. package/out/language-server/agenticChat/tabBarController.js +7 -0
  19. package/out/language-server/agenticChat/tabBarController.js.map +1 -1
  20. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +14 -2
  21. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  22. package/out/language-server/agenticChat/tools/chatDb/util.d.ts +11 -1
  23. package/out/language-server/agenticChat/tools/chatDb/util.js +17 -0
  24. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  25. package/out/language-server/agenticChat/tools/executeBash.d.ts +0 -5
  26. package/out/language-server/agenticChat/tools/executeBash.js +11 -14
  27. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  28. package/out/language-server/agenticChat/tools/grepSearch.js +3 -1
  29. package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -1
  30. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +208 -170
  31. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
  32. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +12 -18
  33. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +353 -216
  34. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  35. package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +29 -0
  36. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js +60 -1
  37. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
  38. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +27 -4
  39. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +464 -2
  40. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  41. package/out/language-server/agenticChat/tools/toolServer.js +8 -10
  42. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  43. package/out/language-server/agenticChat/tools/toolShared.js +6 -2
  44. package/out/language-server/agenticChat/tools/toolShared.js.map +1 -1
  45. package/out/language-server/chat/chatController.d.ts +1 -1
  46. package/out/language-server/chat/chatController.js.map +1 -1
  47. package/out/language-server/chat/contexts/triggerContext.js +11 -2
  48. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  49. package/out/language-server/configuration/qConfigurationServer.d.ts +2 -0
  50. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  51. package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +1 -0
  52. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +36 -0
  53. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  54. package/out/language-server/inline-completion/codeWhispererServer.js +25 -36
  55. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  56. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +4 -1
  57. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +36 -2
  58. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
  59. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.d.ts +11 -5
  60. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js +37 -10
  61. package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js.map +1 -1
  62. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.d.ts +1 -1
  63. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js +8 -3
  64. package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js.map +1 -1
  65. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js +3 -4
  66. package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js.map +1 -1
  67. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +4 -3
  68. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +5 -9
  69. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
  70. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js +3 -4
  71. package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js.map +1 -1
  72. package/out/language-server/workspaceContext/workspaceContextServer.js +12 -8
  73. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  74. package/out/shared/amazonQServiceManager/configurationUtils.d.ts +4 -0
  75. package/out/shared/amazonQServiceManager/configurationUtils.js +6 -0
  76. package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -1
  77. package/out/shared/streamingClientService.js +12 -1
  78. package/out/shared/streamingClientService.js.map +1 -1
  79. package/out/shared/utils.d.ts +1 -7
  80. package/out/shared/utils.js +39 -36
  81. package/out/shared/utils.js.map +1 -1
  82. package/package.json +3 -4
@@ -6,19 +6,27 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.MAX_TOOL_NAME_LENGTH = void 0;
8
8
  exports.loadMcpServerConfigs = loadMcpServerConfigs;
9
+ exports.loadAgentConfig = loadAgentConfig;
9
10
  exports.loadPersonaPermissions = loadPersonaPermissions;
10
11
  exports.getWorkspacePersonaConfigPaths = getWorkspacePersonaConfigPaths;
11
12
  exports.getGlobalPersonaConfigPath = getGlobalPersonaConfigPath;
13
+ exports.getWorkspaceAgentConfigPaths = getWorkspaceAgentConfigPaths;
14
+ exports.getGlobalAgentConfigPath = getGlobalAgentConfigPath;
12
15
  exports.getWorkspaceMcpConfigPaths = getWorkspaceMcpConfigPaths;
13
16
  exports.getGlobalMcpConfigPath = getGlobalMcpConfigPath;
14
17
  exports.isEmptyEnv = isEmptyEnv;
15
18
  exports.enabledMCP = enabledMCP;
19
+ exports.convertPersonaToAgent = convertPersonaToAgent;
16
20
  exports.sanitizeName = sanitizeName;
17
21
  exports.normalizePathFromUri = normalizePathFromUri;
22
+ exports.migrateToAgentConfig = migrateToAgentConfig;
23
+ exports.saveAgentConfig = saveAgentConfig;
18
24
  exports.createNamespacedToolName = createNamespacedToolName;
19
25
  const vscode_uri_1 = require("vscode-uri");
26
+ const mcpTypes_1 = require("./mcpTypes");
20
27
  const path = require("path");
21
28
  const crypto = require("crypto");
29
+ const toolConstants_1 = require("../../constants/toolConstants");
22
30
  /**
23
31
  * Load, validate, and parse MCP server configurations from JSON files.
24
32
  * - Deduplicates input paths.
@@ -130,6 +138,35 @@ async function loadMcpServerConfigs(workspace, logging, rawPaths) {
130
138
  }
131
139
  return { servers, serverNameMapping, errors: configErrors };
132
140
  }
141
+ const DEFAULT_AGENT_RAW = `{
142
+ "name": "default-agent",
143
+ "version": "1.0.0",
144
+ "description": "Default agent configuration",
145
+ "mcpServers": {},
146
+ "tools": [
147
+ "fs_read",
148
+ "execute_bash",
149
+ "fs_write",
150
+ "report_issue",
151
+ "use_aws"
152
+ ],
153
+ "allowedTools": [
154
+ "fs_read",
155
+ "report_issue",
156
+ "use_aws",
157
+ "execute_bash"
158
+ ],
159
+ "toolsSettings": {
160
+ "use_aws": { "preset": "readOnly" },
161
+ "execute_bash": { "preset": "readOnly" }
162
+ },
163
+ "includedFiles": [
164
+ "AmazonQ.md",
165
+ "README.md",
166
+ ".amazonq/rules/**/*.md"
167
+ ],
168
+ "resources": []
169
+ }`;
133
170
  const DEFAULT_PERSONA_RAW = `{
134
171
  "mcpServers": [
135
172
  "*"
@@ -164,11 +201,182 @@ const DEFAULT_PERSONA_RAW = `{
164
201
  }
165
202
  }`;
166
203
  /**
167
- * Load, validate, and parse persona configurations from YAML files.
204
+ * Load, validate, and parse agent configurations from JSON files.
168
205
  * - If both global and workspace files are missing, create a default global.
169
206
  * - Load global first (if exists), then workspace files—workspace overrides.
170
- * - Only servers in `mcpServers` are enabled.
207
+ * - Combines functionality of loadMcpServerConfigs and loadPersonaPermissions
208
+ * - Handles server configurations and permissions from the same agent file
171
209
  */
210
+ async function loadAgentConfig(workspace, logging, agentPaths) {
211
+ // Initialize return values similar to loadMcpServerConfigs
212
+ const servers = new Map();
213
+ const serverNameMapping = new Map();
214
+ const configErrors = new Map();
215
+ // Create base agent config
216
+ const agentConfig = {
217
+ name: 'default-agent',
218
+ version: '1.0.0',
219
+ description: 'Agent configuration',
220
+ mcpServers: {},
221
+ tools: [],
222
+ allowedTools: [],
223
+ toolsSettings: {},
224
+ includedFiles: [],
225
+ resources: [],
226
+ };
227
+ // Normalize paths
228
+ const uniquePaths = Array.from(new Set(agentPaths.map(raw => {
229
+ try {
230
+ const uri = vscode_uri_1.URI.parse(raw);
231
+ return uri.scheme === 'file' ? path.normalize(uri.fsPath) : path.normalize(raw);
232
+ }
233
+ catch {
234
+ return path.normalize(raw);
235
+ }
236
+ })));
237
+ const globalConfigPath = getGlobalAgentConfigPath(workspace.fs.getUserHomeDir());
238
+ // Process each path like loadMcpServerConfigs
239
+ for (const fsPath of uniquePaths) {
240
+ // 1) Skip missing files or create default global
241
+ let exists;
242
+ try {
243
+ exists = await workspace.fs.exists(fsPath);
244
+ }
245
+ catch (e) {
246
+ const errorMsg = `Could not stat agent config at ${fsPath}: ${e.message}`;
247
+ logging.warn(errorMsg);
248
+ configErrors.set(fsPath, errorMsg);
249
+ continue;
250
+ }
251
+ if (!exists) {
252
+ // Create default global agent file if this is the global path
253
+ if (fsPath === globalConfigPath) {
254
+ try {
255
+ await workspace.fs.mkdir(path.dirname(fsPath), { recursive: true });
256
+ await workspace.fs.writeFile(fsPath, DEFAULT_AGENT_RAW);
257
+ logging.info(`Created default agent file at ${fsPath}`);
258
+ exists = true;
259
+ }
260
+ catch (e) {
261
+ const errorMsg = `Failed to create default agent file: ${e.message}`;
262
+ logging.error(errorMsg);
263
+ configErrors.set(fsPath, errorMsg);
264
+ continue;
265
+ }
266
+ }
267
+ else {
268
+ const errorMsg = `Agent config not found at ${fsPath}, skipping.`;
269
+ logging.warn(errorMsg);
270
+ continue;
271
+ }
272
+ }
273
+ // 2) Read and parse JSON
274
+ let rawText;
275
+ try {
276
+ rawText = (await workspace.fs.readFile(fsPath)).toString();
277
+ }
278
+ catch (e) {
279
+ const errorMsg = `Failed to read agent config at ${fsPath}: ${e.message}`;
280
+ logging.warn(errorMsg);
281
+ configErrors.set(fsPath, errorMsg);
282
+ continue;
283
+ }
284
+ let json;
285
+ try {
286
+ json = JSON.parse(rawText);
287
+ }
288
+ catch (e) {
289
+ const errorMsg = `Invalid JSON in agent config at ${fsPath}: ${e.message}`;
290
+ logging.warn(errorMsg);
291
+ configErrors.set(fsPath, errorMsg);
292
+ continue;
293
+ }
294
+ // 3) Process agent config metadata
295
+ if (fsPath === globalConfigPath) {
296
+ agentConfig.name = json.name || agentConfig.name;
297
+ agentConfig.version = json.version || agentConfig.version;
298
+ agentConfig.description = json.description || agentConfig.description;
299
+ }
300
+ // 4) Process permissions (tools and allowedTools)
301
+ if (Array.isArray(json.tools)) {
302
+ for (const tool of json.tools) {
303
+ if (!agentConfig.tools.includes(tool)) {
304
+ agentConfig.tools.push(tool);
305
+ }
306
+ }
307
+ }
308
+ if (Array.isArray(json.allowedTools)) {
309
+ for (const tool of json.allowedTools) {
310
+ if (!agentConfig.allowedTools.includes(tool)) {
311
+ agentConfig.allowedTools.push(tool);
312
+ }
313
+ }
314
+ }
315
+ // 5) Process tool settings
316
+ if (json.toolsSettings && typeof json.toolsSettings === 'object') {
317
+ agentConfig.toolsSettings = {
318
+ ...agentConfig.toolsSettings,
319
+ ...json.toolsSettings,
320
+ };
321
+ }
322
+ // 6) Process MCP servers (similar to loadMcpServerConfigs)
323
+ if (json.mcpServers && typeof json.mcpServers === 'object') {
324
+ for (const [name, entry] of Object.entries(json.mcpServers)) {
325
+ if (!entry || typeof entry.command !== 'string') {
326
+ const errorMsg = `MCP server '${name}' in ${fsPath} missing required 'command', skipping.`;
327
+ logging.warn(errorMsg);
328
+ configErrors.set(`${name}`, errorMsg);
329
+ continue;
330
+ }
331
+ // Create server config
332
+ const cfg = {
333
+ command: entry.command,
334
+ args: Array.isArray(entry.args) ? entry.args.map(String) : [],
335
+ env: typeof entry.env === 'object' && entry.env !== null ? entry.env : {},
336
+ initializationTimeout: typeof entry.initializationTimeout === 'number'
337
+ ? entry.initializationTimeout
338
+ : undefined,
339
+ timeout: typeof entry.timeout === 'number' ? entry.timeout : undefined,
340
+ __configPath__: fsPath, // Store config path for determining global vs workspace
341
+ };
342
+ const sanitizedName = sanitizeName(name);
343
+ // Handle server conflicts (workspace overrides global)
344
+ if (servers.has(sanitizedName)) {
345
+ const existing = servers.get(sanitizedName);
346
+ const existingIsGlobal = existing.__configPath__ === globalConfigPath;
347
+ const currentIsGlobal = fsPath === globalConfigPath;
348
+ if (existingIsGlobal && !currentIsGlobal) {
349
+ logging.warn(`Workspace override for MCP server '${name}' in ${fsPath}; replacing global configuration.`);
350
+ }
351
+ else {
352
+ logging.warn(`Ignoring ${existingIsGlobal ? 'global' : 'workspace'} MCP server duplicate for '${name}' in ${fsPath}.`);
353
+ continue;
354
+ }
355
+ }
356
+ // Add server to maps
357
+ servers.set(sanitizedName, cfg);
358
+ serverNameMapping.set(sanitizedName, name);
359
+ // Add to agent config
360
+ agentConfig.mcpServers[name] = {
361
+ command: cfg.command,
362
+ args: cfg.args,
363
+ env: cfg.env,
364
+ initializationTimeout: cfg.initializationTimeout,
365
+ timeout: cfg.timeout,
366
+ };
367
+ logging.info(`Loaded MCP server with sanitizedName: '${sanitizedName}' and originalName: '${name}' from ${fsPath}`);
368
+ }
369
+ }
370
+ }
371
+ // Return the agent config, servers, server name mapping, and errors
372
+ logging.info(`Successfully processed ${uniquePaths.length} agent config files`);
373
+ return {
374
+ servers,
375
+ serverNameMapping,
376
+ errors: configErrors,
377
+ agentConfig,
378
+ };
379
+ }
172
380
  async function loadPersonaPermissions(workspace, logging, personaPaths) {
173
381
  const globalPath = getGlobalPersonaConfigPath(workspace.fs.getUserHomeDir());
174
382
  // normalize paths
@@ -260,6 +468,14 @@ function getWorkspacePersonaConfigPaths(wsUris) {
260
468
  function getGlobalPersonaConfigPath(home) {
261
469
  return path.join(home, '.aws', 'amazonq', 'personas', 'default.json');
262
470
  }
471
+ /** Given an array of workspace diretory, return each workspace agent config location */
472
+ function getWorkspaceAgentConfigPaths(wsUris) {
473
+ return wsUris.map(uri => path.join(uri, '.amazonq', 'agents', 'default.json'));
474
+ }
475
+ /** Given a user's home directory, return the global agent config location */
476
+ function getGlobalAgentConfigPath(home) {
477
+ return path.join(home, '.aws', 'amazonq', 'agents', 'default.json');
478
+ }
263
479
  /** Given an array of workspace diretory, return each workspace mcp config location */
264
480
  function getWorkspaceMcpConfigPaths(wsUris) {
265
481
  return wsUris.map(uri => path.join(uri, '.amazonq', 'mcp.json'));
@@ -284,6 +500,96 @@ function enabledMCP(params) {
284
500
  const qCapabilities = params?.initializationOptions?.aws?.awsClientCapabilities?.q;
285
501
  return qCapabilities?.mcp || false;
286
502
  }
503
+ /**
504
+ * Convert from persona format to agent format
505
+ */
506
+ function convertPersonaToAgent(persona, mcpServers, featureAgent) {
507
+ const agent = {
508
+ name: 'default-agent',
509
+ version: '1.0.0',
510
+ description: 'Default agent configuration',
511
+ mcpServers: {},
512
+ tools: [],
513
+ allowedTools: [],
514
+ toolsSettings: {},
515
+ includedFiles: [],
516
+ resources: [],
517
+ };
518
+ // Include all servers from MCP config
519
+ Object.entries(mcpServers).forEach(([name, config]) => {
520
+ agent.mcpServers[name] = {
521
+ command: config.command,
522
+ args: config.args,
523
+ env: config.env,
524
+ timeout: config.timeout,
525
+ initializationTimeout: config.initializationTimeout,
526
+ };
527
+ });
528
+ // Add all server names to tools section
529
+ Object.keys(mcpServers).forEach(serverName => {
530
+ const serverPrefix = `@${serverName}`;
531
+ if (!agent.tools.includes(serverPrefix)) {
532
+ agent.tools.push(serverPrefix);
533
+ }
534
+ });
535
+ // Check persona for alwaysAllowed tools
536
+ if (persona.toolPerms) {
537
+ // Handle server-specific tools
538
+ for (const [serverName, toolPerms] of Object.entries(persona.toolPerms)) {
539
+ if (serverName === 'builtIn' || serverName === 'Built-in') {
540
+ continue; // Already handled above
541
+ }
542
+ // Add specific tools that are alwaysAllow
543
+ for (const [toolName, permission] of Object.entries(toolPerms)) {
544
+ if (permission === mcpTypes_1.McpPermissionType.alwaysAllow) {
545
+ const toolId = `@${serverName}/${toolName}`;
546
+ if (!agent.allowedTools.includes(toolId)) {
547
+ agent.allowedTools.push(toolId);
548
+ }
549
+ }
550
+ // Add tool settings if any
551
+ if (typeof permission === 'object') {
552
+ const toolId = `@${serverName}/${toolName}`;
553
+ agent.toolsSettings[toolId] = permission;
554
+ }
555
+ }
556
+ }
557
+ }
558
+ // Handle built-in tools
559
+ // Add default built-in tools
560
+ for (const toolName of featureAgent.getBuiltInToolNames()) {
561
+ if (!agent.tools.includes(toolName)) {
562
+ agent.tools.push(toolName);
563
+ }
564
+ }
565
+ // Add default allowed tools
566
+ const writeToolNames = new Set(featureAgent.getBuiltInWriteToolNames());
567
+ const defaultAllowedTools = featureAgent.getBuiltInToolNames().filter(toolName => toolName !== toolConstants_1.EXECUTE_BASH);
568
+ for (const toolName of defaultAllowedTools) {
569
+ if (!agent.allowedTools.includes(toolName)) {
570
+ agent.allowedTools.push(toolName);
571
+ }
572
+ }
573
+ // Add default tool settings
574
+ if (!agent.toolsSettings) {
575
+ agent.toolsSettings = {};
576
+ }
577
+ agent.toolsSettings['execute_bash'] = {
578
+ alwaysAllow: [
579
+ {
580
+ preset: 'readOnly',
581
+ },
582
+ ],
583
+ };
584
+ agent.toolsSettings['use_aws'] = {
585
+ alwaysAllow: [
586
+ {
587
+ preset: 'readOnly',
588
+ },
589
+ ],
590
+ };
591
+ return agent;
592
+ }
287
593
  /**
288
594
  * Sanitizes a name by:
289
595
  * 1. Returning the original if it matches the regex and doesn't contain namespace delimiter(__)
@@ -334,6 +640,162 @@ function normalizePathFromUri(path, logging) {
334
640
  return path; // Return original path if parsing fails
335
641
  }
336
642
  }
643
+ /**
644
+ * Save agent configuration to the specified path
645
+ */
646
+ /**
647
+ * Migrate MCP servers and their permissions from config and persona files to agent config
648
+ */
649
+ async function migrateToAgentConfig(workspace, logging, agent) {
650
+ // Process global and workspace paths separately
651
+ const globalConfigPath = getGlobalMcpConfigPath(workspace.fs.getUserHomeDir());
652
+ const globalPersonaPath = getGlobalPersonaConfigPath(workspace.fs.getUserHomeDir());
653
+ const globalAgentPath = getGlobalAgentConfigPath(workspace.fs.getUserHomeDir());
654
+ // Get workspace paths
655
+ const wsUris = workspace.getAllWorkspaceFolders()?.map(f => f.uri) ?? [];
656
+ const wsConfigPaths = getWorkspaceMcpConfigPaths(wsUris);
657
+ const wsPersonaPaths = getWorkspacePersonaConfigPaths(wsUris);
658
+ const wsAgentPaths = getWorkspaceAgentConfigPaths(wsUris);
659
+ // Migrate global config
660
+ await migrateConfigToAgent(workspace, logging, globalConfigPath, globalPersonaPath, globalAgentPath, agent, true);
661
+ // Migrate workspace configs
662
+ for (let i = 0; i < wsUris.length; i++) {
663
+ if (wsConfigPaths[i] && wsPersonaPaths[i] && wsAgentPaths[i]) {
664
+ // Normalize and check if the workspace config path exists before migrating
665
+ const normalizedWsConfigPath = normalizePathFromUri(wsConfigPaths[i], logging);
666
+ const wsConfigExists = await workspace.fs.exists(normalizedWsConfigPath).catch(() => false);
667
+ if (wsConfigExists) {
668
+ await migrateConfigToAgent(workspace, logging, wsConfigPaths[i], wsPersonaPaths[i], wsAgentPaths[i], agent);
669
+ }
670
+ }
671
+ }
672
+ }
673
+ /**
674
+ * Migrate a specific config and persona to an agent config
675
+ */
676
+ async function migrateConfigToAgent(workspace, logging, configPath, personaPath, agentPath, agent, isGlobalDefault = false) {
677
+ // Normalize all paths to ensure consistent handling
678
+ const normalizedConfigPath = normalizePathFromUri(configPath, logging);
679
+ const normalizedPersonaPath = normalizePathFromUri(personaPath, logging);
680
+ agentPath = normalizePathFromUri(agentPath);
681
+ // Check if agent config exists
682
+ const agentExists = await workspace.fs.exists(agentPath).catch(() => false);
683
+ // Load existing agent config if it exists
684
+ let existingAgentConfig;
685
+ if (agentExists) {
686
+ try {
687
+ const raw = (await workspace.fs.readFile(agentPath)).toString().trim();
688
+ existingAgentConfig = raw ? JSON.parse(raw) : undefined;
689
+ }
690
+ catch (err) {
691
+ logging.warn(`Failed to read existing agent config at ${agentPath}: ${err}`);
692
+ }
693
+ }
694
+ // Read MCP server configs directly from file
695
+ const serverConfigs = {};
696
+ try {
697
+ const configExists = await workspace.fs.exists(normalizedConfigPath);
698
+ if (configExists) {
699
+ const raw = (await workspace.fs.readFile(normalizedConfigPath)).toString().trim();
700
+ if (raw) {
701
+ const config = JSON.parse(raw);
702
+ if (config.mcpServers && typeof config.mcpServers === 'object') {
703
+ // Add each server to the serverConfigs
704
+ for (const [name, serverConfig] of Object.entries(config.mcpServers)) {
705
+ serverConfigs[name] = {
706
+ command: serverConfig.command,
707
+ args: Array.isArray(serverConfig.args) ? serverConfig.args : undefined,
708
+ env: typeof serverConfig.env === 'object' ? serverConfig.env : undefined,
709
+ initializationTimeout: typeof serverConfig.initializationTimeout === 'number'
710
+ ? serverConfig.initializationTimeout
711
+ : undefined,
712
+ timeout: typeof serverConfig.timeout === 'number'
713
+ ? serverConfig.timeout
714
+ : undefined,
715
+ };
716
+ logging.info(`Added server ${name} to serverConfigs`);
717
+ }
718
+ }
719
+ }
720
+ }
721
+ }
722
+ catch (err) {
723
+ logging.warn(`Failed to read MCP config file ${normalizedConfigPath}: ${err}`);
724
+ }
725
+ // Read persona config directly from file
726
+ let personaConfig = { mcpServers: [], toolPerms: {} };
727
+ try {
728
+ const personaExists = await workspace.fs.exists(normalizedPersonaPath);
729
+ if (personaExists) {
730
+ const raw = (await workspace.fs.readFile(normalizedPersonaPath)).toString().trim();
731
+ if (raw) {
732
+ const config = JSON.parse(raw);
733
+ if (config.mcpServers || config.toolPerms) {
734
+ personaConfig = config;
735
+ }
736
+ }
737
+ }
738
+ }
739
+ catch (err) {
740
+ logging.warn(`Failed to read persona config at ${normalizedPersonaPath}: ${err}`);
741
+ }
742
+ // Convert to agent config
743
+ const newAgentConfig = convertPersonaToAgent(personaConfig, serverConfigs, agent);
744
+ newAgentConfig.includedFiles = ['AmazonQ.md', 'README.md', '.amazonq/rules/**/*.md'];
745
+ newAgentConfig.resources = []; // Initialize with empty array
746
+ // Merge with existing config if available
747
+ let finalAgentConfig;
748
+ if (existingAgentConfig) {
749
+ // Keep existing metadata
750
+ finalAgentConfig = {
751
+ ...existingAgentConfig,
752
+ // Merge MCP servers, keeping existing ones if they exist
753
+ mcpServers: {
754
+ ...existingAgentConfig.mcpServers,
755
+ ...newAgentConfig.mcpServers,
756
+ },
757
+ // Merge tools lists without duplicates
758
+ tools: [...new Set([...existingAgentConfig.tools, ...newAgentConfig.tools])],
759
+ allowedTools: [...new Set([...existingAgentConfig.allowedTools, ...newAgentConfig.allowedTools])],
760
+ // Merge tool settings, preferring existing ones
761
+ toolsSettings: {
762
+ ...newAgentConfig.toolsSettings,
763
+ ...existingAgentConfig.toolsSettings,
764
+ },
765
+ // Keep other properties from existing config
766
+ includedFiles: existingAgentConfig.includedFiles || newAgentConfig.includedFiles,
767
+ createHooks: existingAgentConfig.createHooks || newAgentConfig.createHooks,
768
+ promptHooks: [
769
+ ...new Set([...(existingAgentConfig.promptHooks || []), ...(newAgentConfig.promptHooks || [])]),
770
+ ],
771
+ resources: [...new Set([...(existingAgentConfig.resources || []), ...(newAgentConfig.resources || [])])],
772
+ };
773
+ }
774
+ else {
775
+ finalAgentConfig = newAgentConfig;
776
+ logging.info(`Using new config (no existing config to merge)`);
777
+ }
778
+ // Save agent config
779
+ try {
780
+ await saveAgentConfig(workspace, logging, finalAgentConfig, agentPath);
781
+ logging.info(`Successfully ${existingAgentConfig ? 'updated' : 'created'} agent config at ${agentPath}`);
782
+ }
783
+ catch (err) {
784
+ logging.error(`Failed to save agent config to ${agentPath}: ${err}`);
785
+ throw err;
786
+ }
787
+ }
788
+ async function saveAgentConfig(workspace, logging, config, configPath) {
789
+ try {
790
+ await workspace.fs.mkdir(path.dirname(configPath), { recursive: true });
791
+ await workspace.fs.writeFile(configPath, JSON.stringify(config, null, 2));
792
+ logging.info(`Saved agent config to ${configPath}`);
793
+ }
794
+ catch (err) {
795
+ logging.error(`Failed to save agent config to ${configPath}: ${err.message}`);
796
+ throw err;
797
+ }
798
+ }
337
799
  exports.MAX_TOOL_NAME_LENGTH = 64;
338
800
  /**
339
801
  * Create a namespaced tool name from server and tool names.
@@ -1 +1 @@
1
- {"version":3,"file":"mcpUtils.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpUtils.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpUtils.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ const lspApplyWorkspaceEdit_1 = require("./lspApplyWorkspaceEdit");
12
12
  const mcpManager_1 = require("./mcp/mcpManager");
13
13
  const mcpTool_1 = require("./mcp/mcpTool");
14
14
  const fileSearch_1 = require("./fileSearch");
15
- const grepSearch_1 = require("./grepSearch");
16
15
  const qCodeReview_1 = require("./qCodeAnalysis/qCodeReview");
17
16
  const codeWhispererService_1 = require("../../../shared/codeWhispererService");
18
17
  const mcpUtils_1 = require("./mcp/mcpUtils");
@@ -24,7 +23,6 @@ const FsToolsServer = ({ workspace, logging, agent, lsp }) => {
24
23
  const fsWriteTool = new fsWrite_1.FsWrite({ workspace, lsp, logging });
25
24
  const listDirectoryTool = new listDirectory_1.ListDirectory({ workspace, logging, lsp });
26
25
  const fileSearchTool = new fileSearch_1.FileSearch({ workspace, lsp, logging });
27
- const grepSearchTool = new grepSearch_1.GrepSearch({ workspace, logging, lsp });
28
26
  const fsReplaceTool = new fsReplace_1.FsReplace({ workspace, lsp, logging });
29
27
  agent.addTool(fsReadTool.getSpec(), async (input) => {
30
28
  await fsReadTool.validate(input);
@@ -122,7 +120,6 @@ const McpToolsServer = ({ credentialsProvider, workspace, logging, lsp, agent, t
122
120
  // 2) add new enabled tools
123
121
  for (const def of defs) {
124
122
  // Sanitize the tool name
125
- const sanitizedToolName = (0, mcpUtils_1.sanitizeName)(def.toolName);
126
123
  // Check if this tool name is already in use
127
124
  const namespaced = (0, mcpUtils_1.createNamespacedToolName)(def.serverName, def.toolName, allNamespacedTools, mcpManager_1.McpManager.instance.getToolNameMapping());
128
125
  const tool = new mcpTool_1.McpTool({ logging, workspace, lsp }, def);
@@ -159,13 +156,13 @@ const McpToolsServer = ({ credentialsProvider, workspace, logging, lsp, agent, t
159
156
  return;
160
157
  }
161
158
  const wsUris = workspace.getAllWorkspaceFolders()?.map(f => f.uri) ?? [];
162
- const wsConfigPaths = (0, mcpUtils_1.getWorkspaceMcpConfigPaths)(wsUris);
163
- const globalConfigPath = (0, mcpUtils_1.getGlobalMcpConfigPath)(workspace.fs.getUserHomeDir());
164
- const allConfigPaths = [...wsConfigPaths, globalConfigPath];
165
- const wsPersonaPaths = (0, mcpUtils_1.getWorkspacePersonaConfigPaths)(wsUris);
166
- const globalPersonaPath = (0, mcpUtils_1.getGlobalPersonaConfigPath)(workspace.fs.getUserHomeDir());
167
- const allPersonaPaths = [...wsPersonaPaths, globalPersonaPath];
168
- const mgr = await mcpManager_1.McpManager.init(allConfigPaths, allPersonaPaths, {
159
+ // Get agent paths
160
+ const wsAgentPaths = (0, mcpUtils_1.getWorkspaceAgentConfigPaths)(wsUris);
161
+ const globalAgentPath = (0, mcpUtils_1.getGlobalAgentConfigPath)(workspace.fs.getUserHomeDir());
162
+ const allAgentPaths = [...wsAgentPaths, globalAgentPath];
163
+ // Migrate config and persona files to agent config
164
+ await (0, mcpUtils_1.migrateToAgentConfig)(workspace, logging, agent);
165
+ const mgr = await mcpManager_1.McpManager.init(allAgentPaths, {
169
166
  logging,
170
167
  workspace,
171
168
  lsp,
@@ -176,6 +173,7 @@ const McpToolsServer = ({ credentialsProvider, workspace, logging, lsp, agent, t
176
173
  // Clear tool name mapping before registering all tools to avoid conflicts from previous registrations
177
174
  mcpManager_1.McpManager.instance.clearToolNameMapping();
178
175
  const byServer = {};
176
+ logging.info(`enabled Tools: ${mgr.getEnabledTools().entries()}`);
179
177
  // only register enabled tools
180
178
  for (const d of mgr.getEnabledTools()) {
181
179
  ;