@aws/lsp-codewhisperer 0.0.73 → 0.0.75

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 (77) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/out/client/token/bearer-token-service.json +85 -0
  3. package/out/language-server/agenticChat/agenticChatController.d.ts +14 -1
  4. package/out/language-server/agenticChat/agenticChatController.js +6 -8
  5. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  6. package/out/language-server/agenticChat/agenticChatResultStream.js +1 -0
  7. package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
  8. package/out/language-server/agenticChat/constants/constants.d.ts +2 -0
  9. package/out/language-server/agenticChat/constants/constants.js +3 -1
  10. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  11. package/out/language-server/agenticChat/context/additionalContextProvider.js +1 -1
  12. package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
  13. package/out/language-server/agenticChat/qAgenticChatServer.js +1 -1
  14. package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
  15. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.d.ts +7 -0
  16. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +71 -40
  17. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
  18. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +4 -0
  19. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +65 -36
  20. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  21. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +1 -1
  22. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +5 -39
  23. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  24. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.d.ts +34 -0
  25. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js +159 -0
  26. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js.map +1 -0
  27. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +5 -0
  28. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
  29. package/out/language-server/agenticChat/tools/toolServer.js +123 -23
  30. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  31. package/out/language-server/chat/qChatServer.js +1 -1
  32. package/out/language-server/chat/qChatServer.js.map +1 -1
  33. package/out/language-server/inline-completion/codeWhispererServer.d.ts +1 -0
  34. package/out/language-server/inline-completion/codeWhispererServer.js +79 -85
  35. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  36. package/out/language-server/inline-completion/constants.d.ts +0 -1
  37. package/out/language-server/inline-completion/constants.js +1 -2
  38. package/out/language-server/inline-completion/constants.js.map +1 -1
  39. package/out/language-server/inline-completion/editCompletionHandler.d.ts +3 -0
  40. package/out/language-server/inline-completion/editCompletionHandler.js +36 -64
  41. package/out/language-server/inline-completion/editCompletionHandler.js.map +1 -1
  42. package/out/language-server/inline-completion/session/sessionManager.d.ts +3 -2
  43. package/out/language-server/inline-completion/session/sessionManager.js +8 -8
  44. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
  45. package/out/language-server/inline-completion/telemetry.d.ts +1 -0
  46. package/out/language-server/inline-completion/telemetry.js +14 -0
  47. package/out/language-server/inline-completion/telemetry.js.map +1 -1
  48. package/out/language-server/inline-completion/trigger.d.ts +2 -11
  49. package/out/language-server/inline-completion/trigger.js.map +1 -1
  50. package/out/language-server/netTransform/resources/SupportedProjects.d.ts +3 -0
  51. package/out/language-server/netTransform/resources/SupportedProjects.js +3 -0
  52. package/out/language-server/netTransform/resources/SupportedProjects.js.map +1 -1
  53. package/out/language-server/netTransform/transformHandler.js +0 -13
  54. package/out/language-server/netTransform/transformHandler.js.map +1 -1
  55. package/out/language-server/netTransform/validation.d.ts +1 -5
  56. package/out/language-server/netTransform/validation.js +1 -21
  57. package/out/language-server/netTransform/validation.js.map +1 -1
  58. package/out/language-server/workspaceContext/IdleWorkspaceManager.d.ts +1 -0
  59. package/out/language-server/workspaceContext/IdleWorkspaceManager.js +4 -1
  60. package/out/language-server/workspaceContext/IdleWorkspaceManager.js.map +1 -1
  61. package/out/language-server/workspaceContext/workspaceContextServer.js +3 -2
  62. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  63. package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +3 -1
  64. package/out/language-server/workspaceContext/workspaceFolderManager.js +33 -5
  65. package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
  66. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js +13 -0
  67. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -1
  68. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +1 -0
  69. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js +3 -0
  70. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -1
  71. package/out/shared/codeWhispererService.d.ts +16 -9
  72. package/out/shared/codeWhispererService.js +47 -34
  73. package/out/shared/codeWhispererService.js.map +1 -1
  74. package/out/shared/telemetryUtils.d.ts +1 -1
  75. package/out/shared/telemetryUtils.js +7 -3
  76. package/out/shared/telemetryUtils.js.map +1 -1
  77. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.75](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.74...lsp-codewhisperer/v0.0.75) (2025-08-21)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **amazonq:** don't let flare send discard for the still valid suggestion in JB ([#2145](https://github.com/aws/language-servers/issues/2145)) ([0767e07](https://github.com/aws/language-servers/commit/0767e074c91682a91d2fe7a6b2a7369c4dea280c))
9
+
10
+ ## [0.0.74](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.73...lsp-codewhisperer/v0.0.74) (2025-08-19)
11
+
12
+
13
+ ### Features
14
+
15
+ * **amazonq:** added mcp admin level configuration with GetProfile ([#2000](https://github.com/aws/language-servers/issues/2000)) ([fd6e9a8](https://github.com/aws/language-servers/commit/fd6e9a829c6229c276de5340dffce52b426a864d))
16
+ * **amazonq:** read tool ui revamp ([#2113](https://github.com/aws/language-servers/issues/2113)) ([#2121](https://github.com/aws/language-servers/issues/2121)) ([93cf229](https://github.com/aws/language-servers/commit/93cf229149ba60491f9f5763793db4a9f570b611))
17
+ * remove project type validation from LSP layer ([#2103](https://github.com/aws/language-servers/issues/2103)) ([d397161](https://github.com/aws/language-servers/commit/d397161cc3448c63016e27f5ac2a1917cdaae1cb))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **amazonq:** add server side control for WCS features ([#2128](https://github.com/aws/language-servers/issues/2128)) ([5e4435d](https://github.com/aws/language-servers/commit/5e4435dfaea7bf8c00e6a27b9bb0d40f699d4e01))
23
+ * **amazonq:** fix regression of mcp config in agent config ([#2101](https://github.com/aws/language-servers/issues/2101)) ([e4e8bbb](https://github.com/aws/language-servers/commit/e4e8bbb89e4b597926582bead2b14ffc43f2a7f8))
24
+ * **amazonq:** handle case where multiple rules are provided with the same name ([#2118](https://github.com/aws/language-servers/issues/2118)) ([0e23e2d](https://github.com/aws/language-servers/commit/0e23e2d29b8cad14403d372b9bbb08ca8ffa7ac7))
25
+ * **amazonq:** persist mcp configs in agent json on start-up ([#2112](https://github.com/aws/language-servers/issues/2112)) ([817cfe2](https://github.com/aws/language-servers/commit/817cfe2656cb1deec6111c699c4ba46b4ba53e00))
26
+ * empty userTriggerDecision not being sent for NEP code path ([#2140](https://github.com/aws/language-servers/issues/2140)) ([b8e5268](https://github.com/aws/language-servers/commit/b8e52682ac2b2337e1d0a32759e8beccde889cee))
27
+ * fix for button text and remove profilearn caching ([#2137](https://github.com/aws/language-servers/issues/2137)) ([2a4171a](https://github.com/aws/language-servers/commit/2a4171a74c15c23c23c481060496162bcc9e6284))
28
+ * fix to add disk caching for mcp admin state ([#2139](https://github.com/aws/language-servers/issues/2139)) ([f947e1a](https://github.com/aws/language-servers/commit/f947e1a9da4431d6089b22825f992010c30a470b))
29
+ * fix to turn on and off MCP servers incase of error based on last state ([#2143](https://github.com/aws/language-servers/issues/2143)) ([04588df](https://github.com/aws/language-servers/commit/04588dfc33f0d85dbd488814a474b5e354398df0))
30
+ * proper path handling for additional context ([#2129](https://github.com/aws/language-servers/issues/2129)) ([971eaa5](https://github.com/aws/language-servers/commit/971eaa505d948e9d2090c85f9b965f554ea7f2c8))
31
+ * Use file context override in the inline completion params for Jupyter Notebook ([#2114](https://github.com/aws/language-servers/issues/2114)) ([91c8398](https://github.com/aws/language-servers/commit/91c839857f8aa4d79098189f9fb620b361c51289))
32
+
33
+
34
+ ### Performance Improvements
35
+
36
+ * remove edit completion retry mechanism on document change ([#2124](https://github.com/aws/language-servers/issues/2124)) ([963b6e9](https://github.com/aws/language-servers/commit/963b6e9b7887da23a85a826c55a6ed95ff36d956))
37
+
38
+
39
+ ### Dependencies
40
+
41
+ * The following workspace dependencies were updated
42
+ * dependencies
43
+ * @aws/lsp-core bumped from ^0.0.13 to ^0.0.14
44
+
3
45
  ## [0.0.73](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.72...lsp-codewhisperer/v0.0.73) (2025-08-11)
4
46
 
5
47
 
@@ -516,6 +516,37 @@
516
516
  ],
517
517
  "documentation": "<p>API to get code transformation status.</p>"
518
518
  },
519
+ "GetProfile": {
520
+ "name": "GetProfile",
521
+ "http": {
522
+ "method": "POST",
523
+ "requestUri": "/"
524
+ },
525
+ "input": {
526
+ "shape": "GetProfileRequest"
527
+ },
528
+ "output": {
529
+ "shape": "GetProfileResponse"
530
+ },
531
+ "errors": [
532
+ {
533
+ "shape": "ThrottlingException"
534
+ },
535
+ {
536
+ "shape": "ResourceNotFoundException"
537
+ },
538
+ {
539
+ "shape": "InternalServerException"
540
+ },
541
+ {
542
+ "shape": "ValidationException"
543
+ },
544
+ {
545
+ "shape": "AccessDeniedException"
546
+ }
547
+ ],
548
+ "documentation": "<p>Get the requested CodeWhisperer profile.</p>"
549
+ },
519
550
  "GetUsageLimits": {
520
551
  "name": "GetUsageLimits",
521
552
  "http": {
@@ -3126,6 +3157,24 @@
3126
3157
  }
3127
3158
  }
3128
3159
  },
3160
+ "GetProfileRequest": {
3161
+ "type": "structure",
3162
+ "required": ["profileArn"],
3163
+ "members": {
3164
+ "profileArn": {
3165
+ "shape": "ProfileArn"
3166
+ }
3167
+ }
3168
+ },
3169
+ "GetProfileResponse": {
3170
+ "type": "structure",
3171
+ "required": ["profile"],
3172
+ "members": {
3173
+ "profile": {
3174
+ "shape": "ProfileInfo"
3175
+ }
3176
+ }
3177
+ },
3129
3178
  "GetTaskAssistCodeGenerationRequest": {
3130
3179
  "type": "structure",
3131
3180
  "required": ["conversationId", "codeGenerationId"],
@@ -3787,6 +3836,15 @@
3787
3836
  "type": "long",
3788
3837
  "box": true
3789
3838
  },
3839
+ "MCPConfiguration": {
3840
+ "type": "structure",
3841
+ "required": ["toggle"],
3842
+ "members": {
3843
+ "toggle": {
3844
+ "shape": "OptInFeatureToggle"
3845
+ }
3846
+ }
3847
+ },
3790
3848
  "MemoryEntry": {
3791
3849
  "type": "structure",
3792
3850
  "required": ["id", "memoryEntryString", "metadata"],
@@ -3995,6 +4053,9 @@
3995
4053
  },
3996
4054
  "workspaceContext": {
3997
4055
  "shape": "WorkspaceContext"
4056
+ },
4057
+ "mcpConfiguration": {
4058
+ "shape": "MCPConfiguration"
3998
4059
  }
3999
4060
  }
4000
4061
  },
@@ -4189,6 +4250,30 @@
4189
4250
  }
4190
4251
  }
4191
4252
  },
4253
+ "ProfileInfo": {
4254
+ "type": "structure",
4255
+ "required": ["arn"],
4256
+ "members": {
4257
+ "arn": {
4258
+ "shape": "ProfileArn"
4259
+ },
4260
+ "profileName": {
4261
+ "shape": "ProfileName"
4262
+ },
4263
+ "description": {
4264
+ "shape": "ProfileDescription"
4265
+ },
4266
+ "status": {
4267
+ "shape": "ProfileStatus"
4268
+ },
4269
+ "profileType": {
4270
+ "shape": "ProfileType"
4271
+ },
4272
+ "optInFeatures": {
4273
+ "shape": "OptInFeatures"
4274
+ }
4275
+ }
4276
+ },
4192
4277
  "ProfileArn": {
4193
4278
  "type": "string",
4194
4279
  "max": 950,
@@ -2,7 +2,7 @@
2
2
  * Copied from ../chat/chatController.ts for the purpose of developing a divergent implementation.
3
3
  * Will be deleted or merged.
4
4
  */
5
- import { ToolUse } from '@amzn/codewhisperer-streaming';
5
+ import { ToolResult, ToolUse } from '@amzn/codewhisperer-streaming';
6
6
  import { ChatCommandInput } from '../../shared/streamingClientService';
7
7
  import { Status, ButtonClickParams, ButtonClickResult, InlineChatResultParams, PromptInputOptionChangeParams, RuleClickParams, ListRulesParams, ActiveEditorChangedParams, PinnedContextParams, ExecuteCommandParams, FollowUpClickParams, ListAvailableModelsParams, ListAvailableModelsResult, OpenFileDialogParams, OpenFileDialogResult } from '@aws/language-server-runtimes/protocol';
8
8
  import { FeedbackParams, InsertToCursorPositionParams, InlineChatParams, ConversationClickParams, ListConversationsParams, ListMcpServersParams, McpServerClickParams, TabBarActionParams, CreatePromptParams, FileClickParams } from '@aws/language-server-runtimes/protocol';
@@ -43,6 +43,13 @@ export declare class AgenticChatController implements ChatHandlers {
43
43
  icon: string;
44
44
  status: Status;
45
45
  } | undefined;
46
+ actions: {
47
+ id: string;
48
+ icon: string;
49
+ status: string;
50
+ text: string;
51
+ description: string;
52
+ }[];
46
53
  };
47
54
  list: import("@aws/language-server-runtimes/protocol").DetailedListGroup[];
48
55
  }>;
@@ -65,6 +72,12 @@ export declare class AgenticChatController implements ChatHandlers {
65
72
  * @param session
66
73
  */
67
74
  waitForToolApproval(toolUse: ToolUse, resultStream: AgenticChatResultStream, promptBlockId: number, session: ChatSessionService, toolName: string): Promise<void>;
75
+ /**
76
+ * Processes tool uses by running the tools and collecting results
77
+ */
78
+ processToolUses(toolUses: Array<ToolUse & {
79
+ stop: boolean;
80
+ }>, chatResultStream: AgenticChatResultStream, session: ChatSessionService, tabId: string, token?: CancellationToken, additionalContext?: AdditionalContentEntryAddition[]): Promise<ToolResult[]>;
68
81
  /**
69
82
  * Determines if error is thrown as a result of a user action (Ex. rejecting tool, stop button)
70
83
  * @param err
@@ -894,7 +894,7 @@ class AgenticChatController {
894
894
  session.setConversationType('AgenticChatWithToolUse');
895
895
  if (result.success) {
896
896
  // Process tool uses and update the request input for the next iteration
897
- toolResults = await this.#processToolUses(pendingToolUses, chatResultStream, session, tabId, token);
897
+ toolResults = await this.processToolUses(pendingToolUses, chatResultStream, session, tabId, token, additionalContext);
898
898
  if (toolResults.some(toolResult => this.#shouldSendBackErrorContent(toolResult))) {
899
899
  content = 'There was an error processing one or more tool uses. Try again, do not apologize.';
900
900
  shouldDisplayMessage = false;
@@ -1094,7 +1094,7 @@ class AgenticChatController {
1094
1094
  /**
1095
1095
  * Processes tool uses by running the tools and collecting results
1096
1096
  */
1097
- async #processToolUses(toolUses, chatResultStream, session, tabId, token) {
1097
+ async processToolUses(toolUses, chatResultStream, session, tabId, token, additionalContext) {
1098
1098
  const results = [];
1099
1099
  for (const toolUse of toolUses) {
1100
1100
  // Store buttonBlockId to use it in `catch` block if needed
@@ -1232,12 +1232,10 @@ class AgenticChatController {
1232
1232
  if (toolUse.name === codeReview_1.CodeReview.toolName) {
1233
1233
  try {
1234
1234
  let initialInput = JSON.parse(JSON.stringify(toolUse.input));
1235
- let ruleArtifacts = await this.#additionalContextProvider.collectWorkspaceRules(tabId);
1236
- if (ruleArtifacts !== undefined || ruleArtifacts !== null) {
1237
- this.#features.logging.info(`RuleArtifacts: ${JSON.stringify(ruleArtifacts)}`);
1238
- let pathsToRulesMap = ruleArtifacts.map(ruleArtifact => ({ path: ruleArtifact.id }));
1239
- this.#features.logging.info(`PathsToRules: ${JSON.stringify(pathsToRulesMap)}`);
1240
- initialInput['ruleArtifacts'] = pathsToRulesMap;
1235
+ if (additionalContext !== undefined) {
1236
+ initialInput['ruleArtifacts'] = additionalContext
1237
+ .filter(c => c.type === 'rule')
1238
+ .map(c => ({ path: c.path }));
1241
1239
  }
1242
1240
  toolUse.input = initialInput;
1243
1241
  }