@aws/lsp-codewhisperer 0.0.65 → 0.0.67
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 +56 -0
- package/README.md +5 -0
- package/out/language-server/agenticChat/agenticChatController.d.ts +9 -2
- package/out/language-server/agenticChat/agenticChatController.js +512 -136
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/constants/constants.d.ts +17 -0
- package/out/language-server/agenticChat/constants/constants.js +79 -1
- package/out/language-server/agenticChat/constants/constants.js.map +1 -1
- package/out/language-server/agenticChat/constants/toolConstants.d.ts +24 -0
- package/out/language-server/agenticChat/constants/toolConstants.js +35 -0
- package/out/language-server/agenticChat/constants/toolConstants.js.map +1 -0
- package/out/language-server/agenticChat/context/additionalContextProvider.d.ts +9 -1
- package/out/language-server/agenticChat/context/additionalContextProvider.js +92 -34
- package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +11 -2
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +36 -2
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
- package/out/language-server/agenticChat/context/contextCommandsProvider.js +1 -1
- package/out/language-server/agenticChat/context/contextCommandsProvider.js.map +1 -1
- package/out/language-server/agenticChat/context/contextUtils.d.ts +16 -0
- package/out/language-server/agenticChat/context/contextUtils.js +29 -0
- package/out/language-server/agenticChat/context/contextUtils.js.map +1 -1
- package/out/language-server/agenticChat/qAgenticChatServer.d.ts +2 -0
- package/out/language-server/agenticChat/qAgenticChatServer.js +18 -2
- package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +11 -3
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +115 -31
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.d.ts +15 -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 -11
- package/out/language-server/agenticChat/tools/executeBash.js +16 -35
- 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/chatSessionService.d.ts +1 -0
- package/out/language-server/chat/chatSessionService.js +5 -2
- package/out/language-server/chat/chatSessionService.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/chat/quickActions.d.ts +7 -1
- package/out/language-server/chat/quickActions.js +7 -1
- package/out/language-server/chat/quickActions.js.map +1 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +1 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.js +9 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.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 +3 -0
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +105 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
- package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js +6 -1
- package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js.map +1 -1
- package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.d.ts +1 -0
- package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js +1 -0
- package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.js +53 -52
- 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/activeUserTracker.d.ts +52 -0
- package/out/shared/activeUserTracker.js +164 -0
- package/out/shared/activeUserTracker.js.map +1 -0
- 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/codeWhispererService.js +3 -1
- package/out/shared/codeWhispererService.js.map +1 -1
- package/out/shared/streamingClientService.js +12 -1
- package/out/shared/streamingClientService.js.map +1 -1
- package/out/shared/telemetry/telemetryService.js +1 -2
- package/out/shared/telemetry/telemetryService.js.map +1 -1
- package/out/shared/telemetry/types.d.ts +7 -1
- package/out/shared/telemetry/types.js +1 -0
- package/out/shared/telemetry/types.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 +7 -6
|
@@ -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
|
;
|