@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.
- package/CHANGELOG.md +34 -0
- package/README.md +5 -0
- package/out/language-server/agenticChat/agenticChatController.d.ts +2 -2
- package/out/language-server/agenticChat/agenticChatController.js +109 -34
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/constants/constants.d.ts +5 -0
- package/out/language-server/agenticChat/constants/constants.js +7 -1
- package/out/language-server/agenticChat/constants/constants.js.map +1 -1
- package/out/language-server/agenticChat/context/additionalContextProvider.d.ts +9 -1
- package/out/language-server/agenticChat/context/additionalContextProvider.js +55 -32
- package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +4 -0
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
- package/out/language-server/agenticChat/qAgenticChatServer.d.ts +2 -0
- package/out/language-server/agenticChat/qAgenticChatServer.js +18 -1
- package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
- package/out/language-server/agenticChat/tabBarController.d.ts +1 -0
- package/out/language-server/agenticChat/tabBarController.js +7 -0
- package/out/language-server/agenticChat/tabBarController.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +14 -2
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.d.ts +11 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js +17 -0
- package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
- package/out/language-server/agenticChat/tools/executeBash.d.ts +0 -5
- package/out/language-server/agenticChat/tools/executeBash.js +11 -14
- package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
- package/out/language-server/agenticChat/tools/grepSearch.js +3 -1
- package/out/language-server/agenticChat/tools/grepSearch.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +208 -170
- package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +12 -18
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js +353 -216
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +29 -0
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.js +60 -1
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +27 -4
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +464 -2
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
- package/out/language-server/agenticChat/tools/toolServer.js +8 -10
- package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
- package/out/language-server/agenticChat/tools/toolShared.js +6 -2
- package/out/language-server/agenticChat/tools/toolShared.js.map +1 -1
- package/out/language-server/chat/chatController.d.ts +1 -1
- package/out/language-server/chat/chatController.js.map +1 -1
- package/out/language-server/chat/contexts/triggerContext.js +11 -2
- package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
- package/out/language-server/configuration/qConfigurationServer.d.ts +2 -0
- package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +1 -0
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +36 -0
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.js +25 -36
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +4 -1
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +36 -2
- package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyEventBundler.d.ts +11 -5
- package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js +37 -10
- package/out/language-server/workspaceContext/dependency/dependencyEventBundler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.d.ts +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js +8 -3
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JSTSDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js +3 -4
- package/out/language-server/workspaceContext/dependency/dependencyHandler/JavaDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +4 -3
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +5 -9
- package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js +3 -4
- package/out/language-server/workspaceContext/dependency/dependencyHandler/PythonDependencyHandler.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceContextServer.js +12 -8
- package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
- package/out/shared/amazonQServiceManager/configurationUtils.d.ts +4 -0
- package/out/shared/amazonQServiceManager/configurationUtils.js +6 -0
- package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -1
- package/out/shared/streamingClientService.js +12 -1
- package/out/shared/streamingClientService.js.map +1 -1
- package/out/shared/utils.d.ts +1 -7
- package/out/shared/utils.js +39 -36
- package/out/shared/utils.js.map +1 -1
- 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
|
|
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
|
-
* -
|
|
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
|
-
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const mgr = await mcpManager_1.McpManager.init(
|
|
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
|
;
|