@aws/lsp-codewhisperer 0.0.78 → 0.0.80

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 (45) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/out/language-server/agenticChat/agenticChatController.js +57 -2
  3. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  4. package/out/language-server/agenticChat/tools/mcp/agentPermissionManager.d.ts +60 -0
  5. package/out/language-server/agenticChat/tools/mcp/agentPermissionManager.js +190 -0
  6. package/out/language-server/agenticChat/tools/mcp/agentPermissionManager.js.map +1 -0
  7. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +1 -0
  8. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +9 -120
  9. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  10. package/out/language-server/agenticChat/tools/toolServer.js +5 -2
  11. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  12. package/out/language-server/agenticChat/tools/workspaceContext/semanticSearch.d.ts +40 -0
  13. package/out/language-server/agenticChat/tools/workspaceContext/semanticSearch.js +106 -0
  14. package/out/language-server/agenticChat/tools/workspaceContext/semanticSearch.js.map +1 -0
  15. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +0 -1
  16. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  17. package/out/language-server/inline-completion/codeWhispererServer.d.ts +2 -1
  18. package/out/language-server/inline-completion/codeWhispererServer.js +31 -6
  19. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  20. package/out/language-server/netTransform/artifactManager.d.ts +1 -0
  21. package/out/language-server/netTransform/artifactManager.js +63 -10
  22. package/out/language-server/netTransform/artifactManager.js.map +1 -1
  23. package/out/language-server/workspaceContext/util.d.ts +4 -0
  24. package/out/language-server/workspaceContext/util.js +8 -1
  25. package/out/language-server/workspaceContext/util.js.map +1 -1
  26. package/out/language-server/workspaceContext/workspaceContextServer.js +19 -18
  27. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  28. package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +8 -2
  29. package/out/language-server/workspaceContext/workspaceFolderManager.js +35 -3
  30. package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
  31. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js +7 -5
  32. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -1
  33. package/out/shared/amazonQServiceManager/qDeveloperProfiles.d.ts +1 -2
  34. package/out/shared/amazonQServiceManager/qDeveloperProfiles.js.map +1 -1
  35. package/out/shared/codeWhispererService.d.ts +25 -6
  36. package/out/shared/codeWhispererService.js +47 -18
  37. package/out/shared/codeWhispererService.js.map +1 -1
  38. package/out/shared/streamingClientService.js +9 -0
  39. package/out/shared/streamingClientService.js.map +1 -1
  40. package/out/shared/testUtils.d.ts +1 -1
  41. package/out/shared/testUtils.js.map +1 -1
  42. package/out/shared/utils.d.ts +2 -3
  43. package/out/shared/utils.js +21 -5
  44. package/out/shared/utils.js.map +1 -1
  45. package/package.json +2 -2
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * Copyright Amazon.com, Inc. or its affiliates.
3
+ * All Rights Reserved. SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { AgentConfig, McpPermissionType } from './mcpTypes';
6
+ /**
7
+ * Manages agent tool permissions with wildcard support for reading and simple patterns for writing
8
+ */
9
+ export declare class AgentPermissionManager {
10
+ private agentConfig;
11
+ constructor(agentConfig: AgentConfig);
12
+ /**
13
+ * Check if a tool matches a pattern using glob-style wildcards
14
+ */
15
+ private matchesPattern;
16
+ /**
17
+ * Check if a tool is enabled (in tools array)
18
+ */
19
+ isToolEnabled(serverName: string, toolName: string): boolean;
20
+ /**
21
+ * Check if a tool is always allowed (in allowedTools array)
22
+ */
23
+ isToolAlwaysAllowed(serverName: string, toolName: string): boolean;
24
+ /**
25
+ * Get permission type for a tool
26
+ */
27
+ getToolPermission(serverName: string, toolName: string): McpPermissionType;
28
+ /**
29
+ * Set permission for a tool (uses simple patterns for writing)
30
+ */
31
+ setToolPermission(serverName: string, toolName: string, permission: McpPermissionType): void;
32
+ /**
33
+ * Remove wildcards that would conflict with specific tool permission
34
+ */
35
+ private removeConflictingWildcards;
36
+ /**
37
+ * Add tool to tools array
38
+ */
39
+ private addTool;
40
+ /**
41
+ * Remove tool from tools array
42
+ */
43
+ private removeTool;
44
+ /**
45
+ * Add tool to allowedTools array
46
+ */
47
+ private addToAllowedTools;
48
+ /**
49
+ * Remove tool from allowedTools array
50
+ */
51
+ private removeFromAllowedTools;
52
+ /**
53
+ * Set server-wide permission (uses @serverName pattern)
54
+ */
55
+ setServerPermission(serverName: string, permission: McpPermissionType): void;
56
+ /**
57
+ * Get updated agent config
58
+ */
59
+ getAgentConfig(): AgentConfig;
60
+ }
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright Amazon.com, Inc. or its affiliates.
4
+ * All Rights Reserved. SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AgentPermissionManager = void 0;
8
+ const mcpTypes_1 = require("./mcpTypes");
9
+ /**
10
+ * Manages agent tool permissions with wildcard support for reading and simple patterns for writing
11
+ */
12
+ class AgentPermissionManager {
13
+ agentConfig;
14
+ constructor(agentConfig) {
15
+ this.agentConfig = agentConfig;
16
+ }
17
+ /**
18
+ * Check if a tool matches a pattern using glob-style wildcards
19
+ */
20
+ matchesPattern(toolName, pattern) {
21
+ // Handle exact matches first
22
+ if (pattern === toolName)
23
+ return true;
24
+ // Convert glob pattern to regex
25
+ // Escape special regex characters except * and ?
26
+ const regexPattern = pattern
27
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&') // Escape regex special chars
28
+ .replace(/\*/g, '.*') // * matches any sequence
29
+ .replace(/\?/g, '.'); // ? matches single character
30
+ const regex = new RegExp(`^${regexPattern}$`);
31
+ return regex.test(toolName);
32
+ }
33
+ /**
34
+ * Check if a tool is enabled (in tools array)
35
+ */
36
+ isToolEnabled(serverName, toolName) {
37
+ const toolId = serverName ? `@${serverName}/${toolName}` : toolName;
38
+ const serverPrefix = serverName ? `@${serverName}` : '';
39
+ // Check exact matches first
40
+ if (this.agentConfig.tools.includes(toolId))
41
+ return true;
42
+ if (serverPrefix && this.agentConfig.tools.includes(serverPrefix))
43
+ return true;
44
+ // Check wildcard patterns
45
+ for (const tool of this.agentConfig.tools) {
46
+ if (tool.includes('*') || tool.includes('?')) {
47
+ if (this.matchesPattern(toolId, tool))
48
+ return true;
49
+ }
50
+ }
51
+ // Check for global wildcard
52
+ return this.agentConfig.tools.includes('*');
53
+ }
54
+ /**
55
+ * Check if a tool is always allowed (in allowedTools array)
56
+ */
57
+ isToolAlwaysAllowed(serverName, toolName) {
58
+ const toolId = serverName ? `@${serverName}/${toolName}` : toolName;
59
+ const serverPrefix = serverName ? `@${serverName}` : '';
60
+ // Check exact matches first
61
+ if (this.agentConfig.allowedTools.includes(toolId))
62
+ return true;
63
+ if (serverPrefix && this.agentConfig.allowedTools.includes(serverPrefix))
64
+ return true;
65
+ // Check wildcard patterns
66
+ for (const allowedTool of this.agentConfig.allowedTools) {
67
+ if (allowedTool.includes('*') || allowedTool.includes('?')) {
68
+ if (this.matchesPattern(toolId, allowedTool))
69
+ return true;
70
+ }
71
+ }
72
+ return false;
73
+ }
74
+ /**
75
+ * Get permission type for a tool
76
+ */
77
+ getToolPermission(serverName, toolName) {
78
+ const isEnabled = this.isToolEnabled(serverName, toolName);
79
+ const isAlwaysAllowed = this.isToolAlwaysAllowed(serverName, toolName);
80
+ // If tool is always allowed, it's implicitly enabled
81
+ if (isAlwaysAllowed) {
82
+ return mcpTypes_1.McpPermissionType.alwaysAllow;
83
+ }
84
+ // If tool is enabled but not always allowed, ask for permission
85
+ if (isEnabled) {
86
+ return mcpTypes_1.McpPermissionType.ask;
87
+ }
88
+ // Tool is not enabled and not always allowed
89
+ return mcpTypes_1.McpPermissionType.deny;
90
+ }
91
+ /**
92
+ * Set permission for a tool (uses simple patterns for writing)
93
+ */
94
+ setToolPermission(serverName, toolName, permission) {
95
+ const toolId = serverName ? `@${serverName}/${toolName}` : toolName;
96
+ const serverPrefix = serverName ? `@${serverName}` : '';
97
+ // Remove conflicting wildcards that would affect this tool
98
+ this.removeConflictingWildcards(toolId);
99
+ switch (permission) {
100
+ case mcpTypes_1.McpPermissionType.deny:
101
+ this.removeTool(toolId, serverPrefix);
102
+ this.removeFromAllowedTools(toolId, serverPrefix);
103
+ break;
104
+ case mcpTypes_1.McpPermissionType.ask:
105
+ this.addTool(toolId);
106
+ this.removeFromAllowedTools(toolId, serverPrefix);
107
+ break;
108
+ case mcpTypes_1.McpPermissionType.alwaysAllow:
109
+ this.addTool(toolId);
110
+ this.addToAllowedTools(toolId);
111
+ break;
112
+ }
113
+ }
114
+ /**
115
+ * Remove wildcards that would conflict with specific tool permission
116
+ */
117
+ removeConflictingWildcards(toolId) {
118
+ // Remove wildcards from tools array that would match this tool
119
+ this.agentConfig.tools = this.agentConfig.tools.filter(tool => {
120
+ if (!tool.includes('*') && !tool.includes('?'))
121
+ return true;
122
+ return !this.matchesPattern(toolId, tool);
123
+ });
124
+ // Remove wildcards from allowedTools array that would match this tool
125
+ this.agentConfig.allowedTools = this.agentConfig.allowedTools.filter(tool => {
126
+ if (!tool.includes('*') && !tool.includes('?'))
127
+ return true;
128
+ return !this.matchesPattern(toolId, tool);
129
+ });
130
+ }
131
+ /**
132
+ * Add tool to tools array
133
+ */
134
+ addTool(toolId) {
135
+ if (!this.agentConfig.tools.includes(toolId)) {
136
+ this.agentConfig.tools.push(toolId);
137
+ }
138
+ }
139
+ /**
140
+ * Remove tool from tools array
141
+ */
142
+ removeTool(toolId, serverPrefix) {
143
+ this.agentConfig.tools = this.agentConfig.tools.filter(tool => tool !== toolId && tool !== serverPrefix);
144
+ }
145
+ /**
146
+ * Add tool to allowedTools array
147
+ */
148
+ addToAllowedTools(toolId) {
149
+ if (!this.agentConfig.allowedTools.includes(toolId)) {
150
+ this.agentConfig.allowedTools.push(toolId);
151
+ }
152
+ }
153
+ /**
154
+ * Remove tool from allowedTools array
155
+ */
156
+ removeFromAllowedTools(toolId, serverPrefix) {
157
+ this.agentConfig.allowedTools = this.agentConfig.allowedTools.filter(tool => tool !== toolId && tool !== serverPrefix);
158
+ }
159
+ /**
160
+ * Set server-wide permission (uses @serverName pattern)
161
+ */
162
+ setServerPermission(serverName, permission) {
163
+ const serverPrefix = `@${serverName}`;
164
+ // Remove all specific tools from this server
165
+ this.agentConfig.tools = this.agentConfig.tools.filter(tool => !tool.startsWith(`${serverPrefix}/`));
166
+ this.agentConfig.allowedTools = this.agentConfig.allowedTools.filter(tool => !tool.startsWith(`${serverPrefix}/`));
167
+ switch (permission) {
168
+ case mcpTypes_1.McpPermissionType.deny:
169
+ this.removeTool(serverPrefix, serverPrefix);
170
+ this.removeFromAllowedTools(serverPrefix, serverPrefix);
171
+ break;
172
+ case mcpTypes_1.McpPermissionType.ask:
173
+ this.addTool(serverPrefix);
174
+ this.removeFromAllowedTools(serverPrefix, serverPrefix);
175
+ break;
176
+ case mcpTypes_1.McpPermissionType.alwaysAllow:
177
+ this.addTool(serverPrefix);
178
+ this.addToAllowedTools(serverPrefix);
179
+ break;
180
+ }
181
+ }
182
+ /**
183
+ * Get updated agent config
184
+ */
185
+ getAgentConfig() {
186
+ return this.agentConfig;
187
+ }
188
+ }
189
+ exports.AgentPermissionManager = AgentPermissionManager;
190
+ //# sourceMappingURL=agentPermissionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentPermissionManager.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/agentPermissionManager.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare class McpManager {
30
30
  private toolNameMapping;
31
31
  private serverNameMapping;
32
32
  private agentConfig;
33
+ private permissionManager;
33
34
  private constructor();
34
35
  static init(agentPaths: string[], features: Pick<Features, 'logging' | 'workspace' | 'lsp' | 'telemetry' | 'credentialsProvider' | 'runtime'>): Promise<McpManager>;
35
36
  static get instance(): McpManager;
@@ -20,6 +20,7 @@ const vscode_uri_1 = require("vscode-uri");
20
20
  const utils_1 = require("../../../../shared/utils");
21
21
  const profileStatusMonitor_1 = require("./profileStatusMonitor");
22
22
  const mcpOauthClient_1 = require("./mcpOauthClient");
23
+ const agentPermissionManager_1 = require("./agentPermissionManager");
23
24
  exports.MCP_SERVER_STATUS_CHANGED = 'mcpServerStatusChanged';
24
25
  exports.AGENT_TOOLS_CHANGED = 'agentToolsChanged';
25
26
  var AuthIntent;
@@ -46,6 +47,7 @@ class McpManager {
46
47
  toolNameMapping;
47
48
  serverNameMapping;
48
49
  agentConfig;
50
+ permissionManager;
49
51
  constructor(agentPaths, features) {
50
52
  this.agentPaths = agentPaths;
51
53
  this.features = features;
@@ -136,6 +138,7 @@ class McpManager {
136
138
  const result = await (0, mcpUtils_1.loadAgentConfig)(this.features.workspace, this.features.logging, this.agentPaths);
137
139
  // Extract agent config and other data
138
140
  this.agentConfig = result.agentConfig;
141
+ this.permissionManager = new agentPermissionManager_1.AgentPermissionManager(this.agentConfig);
139
142
  this.mcpServers = result.servers;
140
143
  this.serverNameMapping = result.serverNameMapping;
141
144
  // Reset the configuration errors after every refresh.
@@ -438,18 +441,7 @@ class McpManager {
438
441
  }
439
442
  // Get unsanitized server name for prefix
440
443
  const unsanitizedServerName = this.serverNameMapping.get(server) || server;
441
- // Check if the server is enabled as a whole (@server)
442
- const serverPrefix = `@${unsanitizedServerName}`;
443
- const isWholeServerEnabled = this.agentConfig.tools.includes(serverPrefix);
444
- // Check if the specific tool is enabled
445
- const toolId = `${serverPrefix}/${tool}`;
446
- const isSpecificToolEnabled = this.agentConfig.tools.includes(toolId);
447
- // If server is enabled as a whole, all tools are enabled
448
- if (isWholeServerEnabled) {
449
- return false;
450
- }
451
- // Otherwise, check if this specific tool is enabled
452
- return !isSpecificToolEnabled;
444
+ return !this.permissionManager.isToolEnabled(server === 'builtIn' ? 'builtIn' : unsanitizedServerName, tool);
453
445
  }
454
446
  /**
455
447
  * Returns true if the given server is currently disabled.
@@ -462,35 +454,8 @@ class McpManager {
462
454
  * Returns tool permission type for a given tool.
463
455
  */
464
456
  getToolPerm(server, tool) {
465
- // For built-in tools, check directly without prefix
466
- if (server === 'builtIn') {
467
- return this.agentConfig.allowedTools.includes(tool) ? mcpTypes_1.McpPermissionType.alwaysAllow : mcpTypes_1.McpPermissionType.ask;
468
- }
469
- // Get unsanitized server name for prefix
470
457
  const unsanitizedServerName = this.serverNameMapping.get(server) || server;
471
- // Check if the server is enabled as a whole (@server)
472
- const serverPrefix = `@${unsanitizedServerName}`;
473
- const isWholeServerEnabled = this.agentConfig.tools.includes(serverPrefix);
474
- // Check if the specific tool is enabled
475
- const toolId = `${serverPrefix}/${tool}`;
476
- const isSpecificToolEnabled = this.agentConfig.tools.includes(toolId);
477
- // If the tool is not enabled, return deny
478
- if (!isWholeServerEnabled && !isSpecificToolEnabled) {
479
- return mcpTypes_1.McpPermissionType.deny;
480
- }
481
- // If server is enabled as a whole, check if the server itself is in allowedTools
482
- if (isWholeServerEnabled) {
483
- // If server is in allowedTools, all tools are alwaysAllow
484
- if (this.agentConfig.allowedTools.includes(serverPrefix)) {
485
- return mcpTypes_1.McpPermissionType.alwaysAllow;
486
- }
487
- // Otherwise, check if specific tool is in allowedTools
488
- return this.agentConfig.allowedTools.includes(toolId)
489
- ? mcpTypes_1.McpPermissionType.alwaysAllow
490
- : mcpTypes_1.McpPermissionType.ask;
491
- }
492
- // For specific tools, check if it's in allowedTools
493
- return this.agentConfig.allowedTools.includes(toolId) ? mcpTypes_1.McpPermissionType.alwaysAllow : mcpTypes_1.McpPermissionType.ask;
458
+ return this.permissionManager.getToolPermission(server === 'builtIn' ? 'builtIn' : unsanitizedServerName, tool);
494
459
  }
495
460
  /**
496
461
  * Return a list of all server configurations.
@@ -808,88 +773,12 @@ class McpManager {
808
773
  throw new Error(`Server '${serverName}' not found`);
809
774
  }
810
775
  const serverPrefix = `@${unsanitizedServerName}`;
811
- // Track tools that should be enabled
812
- const toolsToEnable = new Set();
813
- const toolsToAlwaysAllow = new Set();
814
- // Check if server is enabled as a whole
815
- const isWholeServerEnabled = this.agentConfig.tools.includes(serverPrefix);
816
- // Process each tool permission
776
+ // Process each tool permission using the permission manager
817
777
  for (const [toolName, permission] of Object.entries(perm.toolPerms || {})) {
818
- const toolId = `${serverPrefix}/${toolName}`;
819
- if (permission === mcpTypes_1.McpPermissionType.deny) {
820
- // For deny: if server is enabled as a whole, we need to switch to individual tools
821
- if (isWholeServerEnabled) {
822
- // Get all tools for this server
823
- const serverTools = this.mcpTools.filter(t => t.serverName === serverName);
824
- // Remove server prefix from tools
825
- this.agentConfig.tools = this.agentConfig.tools.filter(t => t !== serverPrefix);
826
- // Add all tools except the denied one
827
- for (const t of serverTools) {
828
- if (t.toolName !== toolName) {
829
- const tid = `${serverPrefix}/${t.toolName}`;
830
- if (!this.agentConfig.tools.includes(tid)) {
831
- this.agentConfig.tools.push(tid);
832
- }
833
- toolsToEnable.add(tid);
834
- }
835
- }
836
- }
837
- else {
838
- // Just remove the specific tool
839
- this.agentConfig.tools = this.agentConfig.tools.filter(t => t !== toolId);
840
- }
841
- // Always remove from allowedTools
842
- this.agentConfig.allowedTools = this.agentConfig.allowedTools.filter(t => t !== toolId);
843
- }
844
- else {
845
- // For ask or alwaysAllow: add to tools
846
- toolsToEnable.add(toolId);
847
- // For alwaysAllow: also add to allowedTools
848
- if (permission === mcpTypes_1.McpPermissionType.alwaysAllow) {
849
- toolsToAlwaysAllow.add(toolId);
850
- }
851
- else {
852
- // For ask: remove from allowedTools if present
853
- this.agentConfig.allowedTools = this.agentConfig.allowedTools.filter(t => t !== toolId);
854
- }
855
- }
856
- }
857
- // If all tools are enabled, use @serverName instead of individual tools
858
- const allTools = this.mcpTools.filter(t => t.serverName === serverName).map(t => t.toolName);
859
- // Check if all tools are enabled, considering both:
860
- // 1. The server might already be enabled as a whole (isWholeServerEnabled)
861
- // 2. All tools might be individually enabled in toolsToEnable
862
- const allToolsEnabled = allTools.length > 0 &&
863
- // If server is already enabled as a whole and no tools are being denied
864
- ((isWholeServerEnabled && !Object.values(perm.toolPerms || {}).includes(mcpTypes_1.McpPermissionType.deny)) ||
865
- // Or if all tools are individually enabled
866
- allTools.every(toolName => toolsToEnable.has(`${serverPrefix}/${toolName}`) ||
867
- !Object.keys(perm.toolPerms || {}).includes(toolName)));
868
- // Update tools list
869
- if (allToolsEnabled) {
870
- // Remove individual tool entries
871
- this.agentConfig.tools = this.agentConfig.tools.filter(t => !t.startsWith(`${serverPrefix}/`));
872
- // Add server prefix if not already there
873
- if (!this.agentConfig.tools.includes(serverPrefix)) {
874
- this.agentConfig.tools.push(serverPrefix);
875
- }
876
- }
877
- else {
878
- // Remove server prefix if present
879
- this.agentConfig.tools = this.agentConfig.tools.filter(t => t !== serverPrefix);
880
- // Add individual tools
881
- for (const toolId of toolsToEnable) {
882
- if (!this.agentConfig.tools.includes(toolId)) {
883
- this.agentConfig.tools.push(toolId);
884
- }
885
- }
886
- }
887
- // Update allowedTools list
888
- for (const toolId of toolsToAlwaysAllow) {
889
- if (!this.agentConfig.allowedTools.includes(toolId)) {
890
- this.agentConfig.allowedTools.push(toolId);
891
- }
778
+ this.permissionManager.setToolPermission(unsanitizedServerName, toolName, permission);
892
779
  }
780
+ // Update the agent config from the permission manager
781
+ this.agentConfig = this.permissionManager.getAgentConfig();
893
782
  // Update mcpServerPermissions map immediately to reflect changes
894
783
  this.mcpServerPermissions.set(serverName, {
895
784
  enabled: perm.enabled,
@@ -1 +1 @@
1
- {"version":3,"file":"mcpManager.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpManager.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpManager.ts"],"names":[],"mappings":"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"}