@aws/lsp-codewhisperer 0.0.3 → 0.0.5
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 +13 -0
- package/out/client/sigv4/service.json +1 -1
- package/out/client/token/bearer-token-service.json +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/language-server/chat/chatController.d.ts +25 -0
- package/out/language-server/chat/chatController.js +117 -0
- package/out/language-server/chat/chatController.js.map +1 -0
- package/out/language-server/chat/chatController.test.d.ts +1 -0
- package/out/language-server/chat/chatController.test.js +240 -0
- package/out/language-server/chat/chatController.test.js.map +1 -0
- package/out/language-server/chat/chatEventParser.d.ts +24 -0
- package/out/language-server/chat/chatEventParser.js +84 -0
- package/out/language-server/chat/chatEventParser.js.map +1 -0
- package/out/language-server/chat/chatEventParser.test.d.ts +1 -0
- package/out/language-server/chat/chatEventParser.test.js +189 -0
- package/out/language-server/chat/chatEventParser.test.js.map +1 -0
- package/out/language-server/chat/chatSessionManagementService.d.ts +16 -0
- package/out/language-server/chat/chatSessionManagementService.js +92 -0
- package/out/language-server/chat/chatSessionManagementService.js.map +1 -0
- package/out/language-server/chat/chatSessionManagementService.test.d.ts +1 -0
- package/out/language-server/chat/chatSessionManagementService.test.js +73 -0
- package/out/language-server/chat/chatSessionManagementService.test.js.map +1 -0
- package/out/language-server/chat/chatSessionService.d.ts +13 -0
- package/out/language-server/chat/chatSessionService.js +63 -0
- package/out/language-server/chat/chatSessionService.js.map +1 -0
- package/out/language-server/chat/chatSessionService.test.d.ts +1 -0
- package/out/language-server/chat/chatSessionService.test.js +80 -0
- package/out/language-server/chat/chatSessionService.test.js.map +1 -0
- package/out/language-server/chat/contexts/documentContext.d.ts +17 -0
- package/out/language-server/chat/contexts/documentContext.js +59 -0
- package/out/language-server/chat/contexts/documentContext.js.map +1 -0
- package/out/language-server/chat/contexts/documentContext.test.d.ts +1 -0
- package/out/language-server/chat/contexts/documentContext.test.js +147 -0
- package/out/language-server/chat/contexts/documentContext.test.js.map +1 -0
- package/out/language-server/chat/contexts/utils.d.ts +10 -0
- package/out/language-server/chat/contexts/utils.js +71 -0
- package/out/language-server/chat/contexts/utils.js.map +1 -0
- package/out/language-server/chat/contexts/utils.test.d.ts +1 -0
- package/out/language-server/chat/contexts/utils.test.js +72 -0
- package/out/language-server/chat/contexts/utils.test.js.map +1 -0
- package/out/language-server/chat/utils.d.ts +4 -0
- package/out/language-server/chat/utils.js +34 -0
- package/out/language-server/chat/utils.js.map +1 -0
- package/out/language-server/codeWhispererSecurityScanServer.d.ts +1 -2
- package/out/language-server/codeWhispererSecurityScanServer.js +152 -25
- package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
- package/out/language-server/codeWhispererServer.d.ts +1 -2
- package/out/language-server/codeWhispererServer.js +3 -3
- package/out/language-server/codeWhispererServer.js.map +1 -1
- package/out/language-server/codeWhispererServer.test.js +100 -101
- package/out/language-server/codeWhispererServer.test.js.map +1 -1
- package/out/language-server/codeWhispererService.d.ts +1 -1
- package/out/language-server/codeWhispererService.js.map +1 -1
- package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +3 -3
- package/out/language-server/dependencyGraph/csharpDependencyGraph.js +40 -37
- package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -1
- package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +106 -78
- package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -1
- package/out/language-server/dependencyGraph/dependencyGraph.d.ts +12 -4
- package/out/language-server/dependencyGraph/dependencyGraph.js +24 -6
- package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -1
- package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +2 -3
- package/out/language-server/dependencyGraph/dependencyGraphFactory.js +2 -2
- package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -1
- package/out/language-server/languageDetection.d.ts +11 -3
- package/out/language-server/languageDetection.js +85 -20
- package/out/language-server/languageDetection.js.map +1 -1
- package/out/language-server/languageDetection.test.d.ts +1 -0
- package/out/language-server/languageDetection.test.js +31 -0
- package/out/language-server/languageDetection.test.js.map +1 -0
- package/out/language-server/netTransformServer.d.ts +12 -0
- package/out/language-server/netTransformServer.js +27 -0
- package/out/language-server/netTransformServer.js.map +1 -0
- package/out/language-server/proxy-server.d.ts +3 -2
- package/out/language-server/proxy-server.js +35 -1
- package/out/language-server/proxy-server.js.map +1 -1
- package/out/language-server/qChatServer.d.ts +3 -0
- package/out/language-server/qChatServer.js +31 -0
- package/out/language-server/qChatServer.js.map +1 -0
- package/out/language-server/qChatServer.test.d.ts +1 -0
- package/out/language-server/qChatServer.test.js +51 -0
- package/out/language-server/qChatServer.test.js.map +1 -0
- package/out/language-server/securityScan/securityScanDiagnosticsProvider.d.ts +28 -0
- package/out/language-server/securityScan/securityScanDiagnosticsProvider.js +111 -0
- package/out/language-server/securityScan/securityScanDiagnosticsProvider.js.map +1 -0
- package/out/language-server/securityScan/securityScanHandler.d.ts +12 -5
- package/out/language-server/securityScan/securityScanHandler.js +69 -19
- package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
- package/out/language-server/securityScan/securityScanHandler.test.js +3 -2
- package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -1
- package/out/language-server/securityScan/types.d.ts +15 -0
- package/out/language-server/session/sessionManager.d.ts +1 -2
- package/out/language-server/session/sessionManager.js.map +1 -1
- package/out/language-server/telemetry/codePercentage.d.ts +1 -1
- package/out/language-server/telemetry/types.d.ts +20 -0
- package/out/language-server/telemetry/userTriggerDecision.test.js +8 -8
- package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -1
- package/out/language-server/telemetry.test.js +4 -4
- package/out/language-server/telemetry.test.js.map +1 -1
- package/out/language-server/testUtils.d.ts +1 -0
- package/out/language-server/testUtils.js +17 -1
- package/out/language-server/testUtils.js.map +1 -1
- package/out/language-server/types.d.ts +13 -0
- package/out/language-server/types.js +3 -0
- package/out/language-server/types.js.map +1 -0
- package/out/language-server/utils.d.ts +3 -0
- package/out/language-server/utils.js +19 -1
- package/out/language-server/utils.js.map +1 -1
- package/out/language-server/utils.test.d.ts +1 -0
- package/out/language-server/utils.test.js +33 -0
- package/out/language-server/utils.test.js.map +1 -0
- package/package.json +16 -7
- package/src.gen/@amzn/codewhisperer-streaming/LICENSE +201 -0
- package/src.gen/@amzn/codewhisperer-streaming/README.md +464 -0
- package/src.gen/@amzn/codewhisperer-streaming/api-extractor.json +4 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/CodeWhispererStreaming.js +17 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/CodeWhispererStreamingClient.js +42 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/ExportResultArchiveCommand.js +42 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/GenerateAssistantResponseCommand.js +42 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/GenerateTaskAssistPlanCommand.js +42 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/commands/index.js +6 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/endpoints.js +165 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/extensionConfiguration.js +2 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/index.js +10 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/CodeWhispererStreamingServiceException.js +12 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/index.js +4 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/models/models_0.js +361 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/protocols/Aws_restJson1.js +458 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.browser.js +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.js +46 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.native.js +15 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeConfig.shared.js +22 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-cjs/runtimeExtensions.js +22 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/CodeWhispererStreaming.js +13 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/CodeWhispererStreamingClient.js +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/ExportResultArchiveCommand.js +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/GenerateAssistantResponseCommand.js +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/GenerateTaskAssistPlanCommand.js +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/commands/index.js +3 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/endpoints.js +161 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/extensionConfiguration.js +1 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/index.js +5 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/CodeWhispererStreamingServiceException.js +8 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/index.js +1 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/models/models_0.js +328 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/protocols/Aws_restJson1.js +449 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.browser.js +33 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.js +41 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.native.js +11 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeConfig.shared.js +18 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-es/runtimeExtensions.js +18 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/CodeWhispererStreaming.d.ts +30 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/CodeWhispererStreamingClient.d.ts +169 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/ExportResultArchiveCommand.d.ts +103 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/GenerateAssistantResponseCommand.d.ts +294 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/GenerateTaskAssistPlanCommand.d.ts +304 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/commands/index.d.ts +3 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/endpoints.d.ts +2 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/extensionConfiguration.d.ts +8 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/index.d.ts +5 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/CodeWhispererStreamingServiceException.d.ts +13 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/index.d.ts +1 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/models/models_0.d.ts +1173 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/protocols/Aws_restJson1.d.ts +29 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.browser.d.ts +39 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.d.ts +39 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.native.d.ts +38 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeConfig.shared.d.ts +17 -0
- package/src.gen/@amzn/codewhisperer-streaming/dist-types/runtimeExtensions.d.ts +17 -0
- package/src.gen/@amzn/codewhisperer-streaming/package.json +87 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/CodeWhispererStreaming.ts +84 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/CodeWhispererStreamingClient.ts +304 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/commands/ExportResultArchiveCommand.ts +177 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/commands/GenerateAssistantResponseCommand.ts +369 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/commands/GenerateTaskAssistPlanCommand.ts +379 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/commands/index.ts +4 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/endpoints.ts +170 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/extensionConfiguration.ts +12 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/index.ts +8 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/models/CodeWhispererStreamingServiceException.ts +22 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/models/index.ts +2 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/models/models_0.ts +1518 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/protocols/Aws_restJson1.ts +740 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.browser.ts +42 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.native.ts +17 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.shared.ts +24 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/runtimeConfig.ts +55 -0
- package/src.gen/@amzn/codewhisperer-streaming/src/runtimeExtensions.ts +44 -0
- package/src.gen/@amzn/codewhisperer-streaming/typedoc.json +5 -0
- package/script/generateServiceClient.ts +0 -242
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
|
|
4
|
+
const testing_1 = require("@aws/language-server-runtimes/testing");
|
|
4
5
|
const assert = require("assert");
|
|
5
6
|
const ts_sinon_1 = require("ts-sinon");
|
|
6
|
-
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
7
|
-
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
8
7
|
const codeWhispererServer_1 = require("./codeWhispererServer");
|
|
9
8
|
const sessionManager_1 = require("./session/sessionManager");
|
|
10
9
|
const testUtils_1 = require("./testUtils");
|
|
@@ -67,8 +66,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
67
66
|
const result = await features.doInlineCompletionWithReferences({
|
|
68
67
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
69
68
|
position: { line: 0, character: 0 },
|
|
70
|
-
context: { triggerKind:
|
|
71
|
-
},
|
|
69
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
70
|
+
}, server_interface_1.CancellationToken.None);
|
|
72
71
|
// Check the completion result
|
|
73
72
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
74
73
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -90,8 +89,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
90
89
|
const result = await features.doInlineCompletionWithReferences({
|
|
91
90
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
92
91
|
position: { line: cutOffLine, character: 0 },
|
|
93
|
-
context: { triggerKind:
|
|
94
|
-
},
|
|
92
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
93
|
+
}, server_interface_1.CancellationToken.None);
|
|
95
94
|
// Check the completion result
|
|
96
95
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
97
96
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -107,14 +106,14 @@ describe('CodeWhisperer Server', () => {
|
|
|
107
106
|
});
|
|
108
107
|
it('should truncate left and right context', async () => {
|
|
109
108
|
const BIG_FILE_CONTENT = '123456789\n'.repeat(5000);
|
|
110
|
-
const BIG_FILE =
|
|
109
|
+
const BIG_FILE = server_interface_1.TextDocument.create('file:///big_file.cs', 'csharp', 1, BIG_FILE_CONTENT);
|
|
111
110
|
const cutOffLine = 2000;
|
|
112
111
|
features.openDocument(BIG_FILE);
|
|
113
112
|
await features.doInlineCompletionWithReferences({
|
|
114
113
|
textDocument: { uri: BIG_FILE.uri },
|
|
115
114
|
position: { line: cutOffLine, character: 1 },
|
|
116
|
-
context: { triggerKind:
|
|
117
|
-
},
|
|
115
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
116
|
+
}, server_interface_1.CancellationToken.None);
|
|
118
117
|
const leftContentChecker = (leftContent) => leftContent.length == codeWhispererServer_1.CONTEXT_CHARACTERS_LIMIT && leftContent.endsWith('\n1');
|
|
119
118
|
const rightContentChecker = (rightContent) => rightContent.length == codeWhispererServer_1.CONTEXT_CHARACTERS_LIMIT && rightContent.startsWith('234');
|
|
120
119
|
ts_sinon_1.default.assert.calledWith(service.generateSuggestions, ts_sinon_1.default.match.hasNested('fileContext.leftFileContent', ts_sinon_1.default.match(leftContentChecker)));
|
|
@@ -124,8 +123,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
124
123
|
const result = await features.doInlineCompletionWithReferences({
|
|
125
124
|
textDocument: { uri: testUtils_1.SOME_FILE_WITH_ALT_CASED_LANGUAGE_ID.uri },
|
|
126
125
|
position: { line: 0, character: 0 },
|
|
127
|
-
context: { triggerKind:
|
|
128
|
-
},
|
|
126
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
127
|
+
}, server_interface_1.CancellationToken.None);
|
|
129
128
|
// Check the completion result
|
|
130
129
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
131
130
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -143,8 +142,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
143
142
|
const result = await features.doInlineCompletionWithReferences({
|
|
144
143
|
textDocument: { uri: testUtils_1.SOME_CLOSED_FILE.uri },
|
|
145
144
|
position: { line: 0, character: 0 },
|
|
146
|
-
context: { triggerKind:
|
|
147
|
-
},
|
|
145
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
146
|
+
}, server_interface_1.CancellationToken.None);
|
|
148
147
|
// Check the completion result
|
|
149
148
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
150
149
|
// Check the service was not called
|
|
@@ -154,8 +153,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
154
153
|
const result = await features.doInlineCompletionWithReferences({
|
|
155
154
|
textDocument: { uri: testUtils_1.SOME_UNSUPPORTED_FILE.uri },
|
|
156
155
|
position: { line: 0, character: 0 },
|
|
157
|
-
context: { triggerKind:
|
|
158
|
-
},
|
|
156
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
157
|
+
}, server_interface_1.CancellationToken.None);
|
|
159
158
|
// Check the completion result
|
|
160
159
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
161
160
|
// Check the service was not called
|
|
@@ -165,8 +164,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
165
164
|
const result = await features.doInlineCompletionWithReferences({
|
|
166
165
|
textDocument: { uri: testUtils_1.SOME_FILE_WITH_EXTENSION.uri },
|
|
167
166
|
position: { line: 0, character: 0 },
|
|
168
|
-
context: { triggerKind:
|
|
169
|
-
},
|
|
167
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
168
|
+
}, server_interface_1.CancellationToken.None);
|
|
170
169
|
// Check the completion result
|
|
171
170
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
172
171
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -192,8 +191,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
192
191
|
const result = await features.doInlineCompletionWithReferences({
|
|
193
192
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
194
193
|
position: { line: 0, character: 0 },
|
|
195
|
-
context: { triggerKind:
|
|
196
|
-
},
|
|
194
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
195
|
+
}, server_interface_1.CancellationToken.None);
|
|
197
196
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
198
197
|
});
|
|
199
198
|
it('should only show the part of the recommendation that does not overlap with the right context in multiline', async () => {
|
|
@@ -204,7 +203,7 @@ describe('CodeWhisperer Server', () => {
|
|
|
204
203
|
// We delete the static void Main line from Hello World but keep the rest in the file
|
|
205
204
|
const deletedLine = lines.splice(cutOffLine, 1)[0];
|
|
206
205
|
const finalFileContent = lines.join('\n');
|
|
207
|
-
const MY_FILE =
|
|
206
|
+
const MY_FILE = server_interface_1.TextDocument.create('file:///rightContext.cs', 'csharp', 1, finalFileContent);
|
|
208
207
|
features.openDocument(MY_FILE);
|
|
209
208
|
const EXPECTED_SUGGESTION = [{ itemId: 'cwspr-item-id', content: recommendation }];
|
|
210
209
|
service.generateSuggestions.returns(Promise.resolve({
|
|
@@ -227,8 +226,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
227
226
|
const result = await features.doInlineCompletionWithReferences({
|
|
228
227
|
textDocument: { uri: MY_FILE.uri },
|
|
229
228
|
position: { line: cutOffLine, character: 0 },
|
|
230
|
-
context: { triggerKind:
|
|
231
|
-
},
|
|
229
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
230
|
+
}, server_interface_1.CancellationToken.None);
|
|
232
231
|
assert.deepEqual(result, EXPECTED_RESULT);
|
|
233
232
|
const leftContext = lines.slice(0, cutOffLine).join('\n') + '\n';
|
|
234
233
|
const rightContext = lines.slice(cutOffLine).join('\n');
|
|
@@ -246,13 +245,13 @@ describe('CodeWhisperer Server', () => {
|
|
|
246
245
|
it('should convert windows newlines to UNIX newlines in request file contents', async () => {
|
|
247
246
|
const cutOffLine = 2;
|
|
248
247
|
const lines = testUtils_1.HELLO_WORLD_WITH_WINDOWS_ENDING.split('\r\n');
|
|
249
|
-
const MY_WINDOWS_FILE =
|
|
248
|
+
const MY_WINDOWS_FILE = server_interface_1.TextDocument.create('file:///rightContext.cs', 'csharp', 1, testUtils_1.HELLO_WORLD_WITH_WINDOWS_ENDING);
|
|
250
249
|
features.openDocument(MY_WINDOWS_FILE);
|
|
251
250
|
await features.doInlineCompletionWithReferences({
|
|
252
251
|
textDocument: { uri: MY_WINDOWS_FILE.uri },
|
|
253
252
|
position: { line: cutOffLine, character: 0 },
|
|
254
|
-
context: { triggerKind:
|
|
255
|
-
},
|
|
253
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
254
|
+
}, server_interface_1.CancellationToken.None);
|
|
256
255
|
const modifiedLeftContext = lines.slice(0, cutOffLine).join('\n') + '\n';
|
|
257
256
|
const modifiedRightContext = lines.slice(cutOffLine).join('\n');
|
|
258
257
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -286,8 +285,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
286
285
|
const result = await features.doInlineCompletionWithReferences({
|
|
287
286
|
textDocument: { uri: testUtils_1.SOME_SINGLE_LINE_FILE.uri },
|
|
288
287
|
position: { line: 0, character: 0 },
|
|
289
|
-
context: { triggerKind:
|
|
290
|
-
},
|
|
288
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
289
|
+
}, server_interface_1.CancellationToken.None);
|
|
291
290
|
assert.deepEqual(result, EXPECTED_RESULT);
|
|
292
291
|
});
|
|
293
292
|
it('should show full recommendation when the right context does not match recommendation ', async () => {
|
|
@@ -310,8 +309,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
310
309
|
const result = await features.doInlineCompletionWithReferences({
|
|
311
310
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
312
311
|
position: { line: 0, character: 0 },
|
|
313
|
-
context: { triggerKind:
|
|
314
|
-
},
|
|
312
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
313
|
+
}, server_interface_1.CancellationToken.None);
|
|
315
314
|
assert.deepEqual(result, EXPECTED_RESULT);
|
|
316
315
|
});
|
|
317
316
|
it('should return empty recommendations list on failed request', async () => {
|
|
@@ -320,8 +319,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
320
319
|
const result = await features.doInlineCompletionWithReferences({
|
|
321
320
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
322
321
|
position: { line: 0, character: 0 },
|
|
323
|
-
context: { triggerKind:
|
|
324
|
-
},
|
|
322
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
323
|
+
}, server_interface_1.CancellationToken.None);
|
|
325
324
|
// Check the completion result
|
|
326
325
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
327
326
|
});
|
|
@@ -376,8 +375,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
376
375
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
377
376
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
378
377
|
position: { line: 0, character: 0 },
|
|
379
|
-
context: { triggerKind:
|
|
380
|
-
},
|
|
378
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
379
|
+
}, server_interface_1.CancellationToken.None);
|
|
381
380
|
// Check the completion result
|
|
382
381
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITHOUT_REFERENCES);
|
|
383
382
|
});
|
|
@@ -387,8 +386,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
387
386
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
388
387
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
389
388
|
position: { line: 0, character: 0 },
|
|
390
|
-
context: { triggerKind:
|
|
391
|
-
},
|
|
389
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
390
|
+
}, server_interface_1.CancellationToken.None);
|
|
392
391
|
// Check the completion result
|
|
393
392
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITHOUT_REFERENCES);
|
|
394
393
|
});
|
|
@@ -398,8 +397,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
398
397
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
399
398
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
400
399
|
position: { line: 0, character: 0 },
|
|
401
|
-
context: { triggerKind:
|
|
402
|
-
},
|
|
400
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
401
|
+
}, server_interface_1.CancellationToken.None);
|
|
403
402
|
// Check the completion result
|
|
404
403
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITH_REFERENCES);
|
|
405
404
|
});
|
|
@@ -409,8 +408,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
409
408
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
410
409
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
411
410
|
position: { line: 0, character: 0 },
|
|
412
|
-
context: { triggerKind:
|
|
413
|
-
},
|
|
411
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
412
|
+
}, server_interface_1.CancellationToken.None);
|
|
414
413
|
// Check the completion result
|
|
415
414
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITHOUT_REFERENCES);
|
|
416
415
|
});
|
|
@@ -422,8 +421,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
422
421
|
const result = await afterConfigChange.doInlineCompletionWithReferences({
|
|
423
422
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
424
423
|
position: { line: 0, character: 0 },
|
|
425
|
-
context: { triggerKind:
|
|
426
|
-
},
|
|
424
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
425
|
+
}, server_interface_1.CancellationToken.None);
|
|
427
426
|
// Check the completion result
|
|
428
427
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITHOUT_REFERENCES);
|
|
429
428
|
});
|
|
@@ -435,8 +434,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
435
434
|
const result = await afterConfigChange.doInlineCompletionWithReferences({
|
|
436
435
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
437
436
|
position: { line: 0, character: 0 },
|
|
438
|
-
context: { triggerKind:
|
|
439
|
-
},
|
|
437
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
438
|
+
}, server_interface_1.CancellationToken.None);
|
|
440
439
|
// Check the completion result
|
|
441
440
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT_WITH_REFERENCES);
|
|
442
441
|
});
|
|
@@ -451,8 +450,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
451
450
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
452
451
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
453
452
|
position: { line: 0, character: 0 },
|
|
454
|
-
context: { triggerKind:
|
|
455
|
-
},
|
|
453
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
454
|
+
}, server_interface_1.CancellationToken.None);
|
|
456
455
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
457
456
|
});
|
|
458
457
|
it('should show references and update range when there is partial overlap on right context', async () => {
|
|
@@ -465,7 +464,7 @@ describe('CodeWhisperer Server', () => {
|
|
|
465
464
|
// We delete the static void Main line from Hello World but keep the rest in the file
|
|
466
465
|
const deletedLine = lines.splice(cutOffLine, 1)[0];
|
|
467
466
|
const finalFileContent = lines.join('\n');
|
|
468
|
-
const MY_FILE =
|
|
467
|
+
const MY_FILE = server_interface_1.TextDocument.create('file:///rightContext.cs', 'csharp', 1, finalFileContent);
|
|
469
468
|
features.openDocument(MY_FILE);
|
|
470
469
|
const EXPECTED_REFERENCE_WITH_LONG_RANGE = {
|
|
471
470
|
...testUtils_1.EXPECTED_REFERENCE,
|
|
@@ -503,8 +502,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
503
502
|
const result = await features.openDocument(MY_FILE).doInlineCompletionWithReferences({
|
|
504
503
|
textDocument: { uri: MY_FILE.uri },
|
|
505
504
|
position: { line: cutOffLine, character: 0 },
|
|
506
|
-
context: { triggerKind:
|
|
507
|
-
},
|
|
505
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
506
|
+
}, server_interface_1.CancellationToken.None);
|
|
508
507
|
assert.deepEqual(result, EXPECTED_RESULT);
|
|
509
508
|
});
|
|
510
509
|
it('should discard reference if it references trimmed content after right-context merge', async () => {
|
|
@@ -517,7 +516,7 @@ describe('CodeWhisperer Server', () => {
|
|
|
517
516
|
// We delete the static void Main line from Hello World but keep the rest in the file
|
|
518
517
|
const deletedLine = lines.splice(cutOffLine, 1)[0];
|
|
519
518
|
const finalFileContent = lines.join('\n');
|
|
520
|
-
const MY_FILE =
|
|
519
|
+
const MY_FILE = server_interface_1.TextDocument.create('file:///rightContext.cs', 'csharp', 1, finalFileContent);
|
|
521
520
|
features.openDocument(MY_FILE);
|
|
522
521
|
const insertText = deletedLine.concat('\n ');
|
|
523
522
|
// reference range covers portion of string that will be removed
|
|
@@ -546,8 +545,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
546
545
|
const result = await features.openDocument(MY_FILE).doInlineCompletionWithReferences({
|
|
547
546
|
textDocument: { uri: MY_FILE.uri },
|
|
548
547
|
position: { line: cutOffLine, character: 0 },
|
|
549
|
-
context: { triggerKind:
|
|
550
|
-
},
|
|
548
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
549
|
+
}, server_interface_1.CancellationToken.None);
|
|
551
550
|
assert.deepEqual(result, EXPECTED_RESULT);
|
|
552
551
|
});
|
|
553
552
|
describe('With session management', () => {
|
|
@@ -568,8 +567,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
568
567
|
const result = await features.openDocument(testUtils_1.SOME_FILE).doInlineCompletionWithReferences({
|
|
569
568
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
570
569
|
position: { line: 0, character: 0 },
|
|
571
|
-
context: { triggerKind:
|
|
572
|
-
},
|
|
570
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
571
|
+
}, server_interface_1.CancellationToken.None);
|
|
573
572
|
// Check the completion result
|
|
574
573
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
575
574
|
// There is no active session
|
|
@@ -611,15 +610,15 @@ describe('CodeWhisperer Server', () => {
|
|
|
611
610
|
it('should return recommendations on an above-threshold auto-trigger position', async () => {
|
|
612
611
|
// Similar to test from above, this test case also depends on file contents not starting with a new line
|
|
613
612
|
const HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE = testUtils_1.HELLO_WORLD_IN_CSHARP.trimStart();
|
|
614
|
-
const SOME_FILE =
|
|
613
|
+
const SOME_FILE = server_interface_1.TextDocument.create('file:///test.cs', 'csharp', 1, HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE);
|
|
615
614
|
features.openDocument(SOME_FILE);
|
|
616
615
|
const LEFT_FILE_CONTEXT = HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE.substring(0, 40);
|
|
617
616
|
const RIGHT_FILE_CONTEXT = HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE.substring(40);
|
|
618
617
|
const result = await features.doInlineCompletionWithReferences({
|
|
619
618
|
textDocument: { uri: SOME_FILE.uri },
|
|
620
619
|
position: AUTO_TRIGGER_POSITION,
|
|
621
|
-
context: { triggerKind:
|
|
622
|
-
},
|
|
620
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
621
|
+
}, server_interface_1.CancellationToken.None);
|
|
623
622
|
// Check the completion result
|
|
624
623
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
625
624
|
const expectedGenerateSuggestionsRequest = {
|
|
@@ -637,8 +636,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
637
636
|
const result = await features.doInlineCompletionWithReferences({
|
|
638
637
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
639
638
|
position: { line: 0, character: 0 },
|
|
640
|
-
context: { triggerKind:
|
|
641
|
-
},
|
|
639
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
640
|
+
}, server_interface_1.CancellationToken.None);
|
|
642
641
|
// Check the completion result
|
|
643
642
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
644
643
|
});
|
|
@@ -789,8 +788,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
789
788
|
await features.doInlineCompletionWithReferences({
|
|
790
789
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
791
790
|
position: { line: 0, character: 0 },
|
|
792
|
-
context: { triggerKind:
|
|
793
|
-
},
|
|
791
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
792
|
+
}, server_interface_1.CancellationToken.None);
|
|
794
793
|
const expectedServiceInvocationMetric = {
|
|
795
794
|
name: 'codewhisperer_serviceInvocation',
|
|
796
795
|
result: 'Succeeded',
|
|
@@ -824,8 +823,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
824
823
|
await features.doInlineCompletionWithReferences({
|
|
825
824
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
826
825
|
position: { line: 0, character: 0 },
|
|
827
|
-
context: { triggerKind:
|
|
828
|
-
},
|
|
826
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
827
|
+
}, server_interface_1.CancellationToken.None);
|
|
829
828
|
const expectedServiceInvocationMetric = {
|
|
830
829
|
name: 'codewhisperer_serviceInvocation',
|
|
831
830
|
result: 'Succeeded',
|
|
@@ -852,8 +851,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
852
851
|
await features.doInlineCompletionWithReferences({
|
|
853
852
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
854
853
|
position: { line: 0, character: 0 },
|
|
855
|
-
context: { triggerKind:
|
|
856
|
-
},
|
|
854
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
855
|
+
}, server_interface_1.CancellationToken.None);
|
|
857
856
|
const expectedServiceInvocationMetric = {
|
|
858
857
|
name: 'codewhisperer_serviceInvocation',
|
|
859
858
|
result: 'Failed',
|
|
@@ -883,8 +882,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
883
882
|
await features.doInlineCompletionWithReferences({
|
|
884
883
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
885
884
|
position: { line: 0, character: 0 },
|
|
886
|
-
context: { triggerKind:
|
|
887
|
-
},
|
|
885
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
886
|
+
}, server_interface_1.CancellationToken.None);
|
|
888
887
|
const expectedServiceInvocationMetric = {
|
|
889
888
|
name: 'codewhisperer_serviceInvocation',
|
|
890
889
|
result: 'Failed',
|
|
@@ -923,8 +922,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
923
922
|
const getCompletionsPromise = features.doInlineCompletionWithReferences({
|
|
924
923
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
925
924
|
position: { line: 0, character: 0 },
|
|
926
|
-
context: { triggerKind:
|
|
927
|
-
},
|
|
925
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
926
|
+
}, server_interface_1.CancellationToken.None);
|
|
928
927
|
await getCompletionsPromise;
|
|
929
928
|
const expectedServiceInvocationMetric = {
|
|
930
929
|
name: 'codewhisperer_serviceInvocation',
|
|
@@ -954,8 +953,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
954
953
|
await features.doInlineCompletionWithReferences({
|
|
955
954
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
956
955
|
position: { line: 0, character: 0 },
|
|
957
|
-
context: { triggerKind:
|
|
958
|
-
},
|
|
956
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
957
|
+
}, server_interface_1.CancellationToken.None);
|
|
959
958
|
await features.doLogInlineCompletionSessionResults(sessionResultData);
|
|
960
959
|
const expectedPerceivedLatencyMetric = {
|
|
961
960
|
name: 'codewhisperer_perceivedLatency',
|
|
@@ -979,8 +978,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
979
978
|
await features.doInlineCompletionWithReferences({
|
|
980
979
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
981
980
|
position: { line: 0, character: 0 },
|
|
982
|
-
context: { triggerKind:
|
|
983
|
-
},
|
|
981
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
982
|
+
}, server_interface_1.CancellationToken.None);
|
|
984
983
|
await features.doLogInlineCompletionSessionResults(sessionResultDataWithoutLatency);
|
|
985
984
|
ts_sinon_1.default.assert.neverCalledWith(features.telemetry.emitMetric, ts_sinon_1.default.match.has('name', 'codewhisperer_perceivedLatency'));
|
|
986
985
|
});
|
|
@@ -994,8 +993,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
994
993
|
await features.doInlineCompletionWithReferences({
|
|
995
994
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
996
995
|
position: { line: 0, character: 0 },
|
|
997
|
-
context: { triggerKind:
|
|
998
|
-
},
|
|
996
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
997
|
+
}, server_interface_1.CancellationToken.None);
|
|
999
998
|
assert.equal(features.telemetry.emitMetric.getCall(0).args[0].data.credentialStartUrl, 'http://teststarturl');
|
|
1000
999
|
});
|
|
1001
1000
|
it('should send empty credentialStartUrl field if not available in credentialsProvider', async () => {
|
|
@@ -1003,8 +1002,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
1003
1002
|
await features.doInlineCompletionWithReferences({
|
|
1004
1003
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1005
1004
|
position: { line: 0, character: 0 },
|
|
1006
|
-
context: { triggerKind:
|
|
1007
|
-
},
|
|
1005
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
1006
|
+
}, server_interface_1.CancellationToken.None);
|
|
1008
1007
|
assert.equal(features.telemetry.emitMetric.getCall(0).args[0].data.credentialStartUrl, undefined);
|
|
1009
1008
|
});
|
|
1010
1009
|
});
|
|
@@ -1047,8 +1046,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
1047
1046
|
await features.doInlineCompletionWithReferences({
|
|
1048
1047
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1049
1048
|
position: AUTO_TRIGGER_POSITION,
|
|
1050
|
-
context: { triggerKind:
|
|
1051
|
-
},
|
|
1049
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1050
|
+
}, server_interface_1.CancellationToken.None);
|
|
1052
1051
|
// Get session after call is done
|
|
1053
1052
|
activeSession = sessionManager.getCurrentSession();
|
|
1054
1053
|
const expectedSessionData = {
|
|
@@ -1074,18 +1073,18 @@ describe('CodeWhisperer Server', () => {
|
|
|
1074
1073
|
features.doInlineCompletionWithReferences({
|
|
1075
1074
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1076
1075
|
position: AUTO_TRIGGER_POSITION,
|
|
1077
|
-
context: { triggerKind:
|
|
1078
|
-
},
|
|
1076
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1077
|
+
}, server_interface_1.CancellationToken.None),
|
|
1079
1078
|
features.doInlineCompletionWithReferences({
|
|
1080
1079
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1081
1080
|
position: AUTO_TRIGGER_POSITION,
|
|
1082
|
-
context: { triggerKind:
|
|
1083
|
-
},
|
|
1081
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1082
|
+
}, server_interface_1.CancellationToken.None),
|
|
1084
1083
|
features.doInlineCompletionWithReferences({
|
|
1085
1084
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1086
1085
|
position: AUTO_TRIGGER_POSITION,
|
|
1087
|
-
context: { triggerKind:
|
|
1088
|
-
},
|
|
1086
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1087
|
+
}, server_interface_1.CancellationToken.None),
|
|
1089
1088
|
]);
|
|
1090
1089
|
// 3 requests were processed by server, but only first should return results
|
|
1091
1090
|
const EXPECTED_COMPLETION_RESPONSES = [
|
|
@@ -1119,18 +1118,18 @@ describe('CodeWhisperer Server', () => {
|
|
|
1119
1118
|
features.doInlineCompletionWithReferences({
|
|
1120
1119
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1121
1120
|
position: AUTO_TRIGGER_POSITION,
|
|
1122
|
-
context: { triggerKind:
|
|
1123
|
-
},
|
|
1121
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1122
|
+
}, server_interface_1.CancellationToken.None),
|
|
1124
1123
|
features.doInlineCompletionWithReferences({
|
|
1125
1124
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1126
1125
|
position: AUTO_TRIGGER_POSITION,
|
|
1127
|
-
context: { triggerKind:
|
|
1128
|
-
},
|
|
1126
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1127
|
+
}, server_interface_1.CancellationToken.None),
|
|
1129
1128
|
features.doInlineCompletionWithReferences({
|
|
1130
1129
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1131
1130
|
position: AUTO_TRIGGER_POSITION,
|
|
1132
|
-
context: { triggerKind:
|
|
1133
|
-
},
|
|
1131
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1132
|
+
}, server_interface_1.CancellationToken.None),
|
|
1134
1133
|
]);
|
|
1135
1134
|
// Get session after call is done
|
|
1136
1135
|
const firstActiveSession = sessionManager.getCurrentSession();
|
|
@@ -1138,8 +1137,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
1138
1137
|
await features.doInlineCompletionWithReferences({
|
|
1139
1138
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1140
1139
|
position: AUTO_TRIGGER_POSITION,
|
|
1141
|
-
context: { triggerKind:
|
|
1142
|
-
},
|
|
1140
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1141
|
+
}, server_interface_1.CancellationToken.None);
|
|
1143
1142
|
assert.equal(sessionManagerSpy.createSession.callCount, 4);
|
|
1144
1143
|
assert.equal(sessionManager.getSessionsLog().length, 4);
|
|
1145
1144
|
const latestSession = sessionManager.getCurrentSession();
|
|
@@ -1158,8 +1157,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
1158
1157
|
await features.doInlineCompletionWithReferences({
|
|
1159
1158
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1160
1159
|
position: AUTO_TRIGGER_POSITION,
|
|
1161
|
-
context: { triggerKind:
|
|
1162
|
-
},
|
|
1160
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Automatic },
|
|
1161
|
+
}, server_interface_1.CancellationToken.None);
|
|
1163
1162
|
// Get session after call is done
|
|
1164
1163
|
const currentSession = sessionManager.getCurrentSession();
|
|
1165
1164
|
assert(currentSession);
|
|
@@ -1167,13 +1166,13 @@ describe('CodeWhisperer Server', () => {
|
|
|
1167
1166
|
ts_sinon_1.default.assert.calledOnceWithExactly(sessionManagerSpy.closeSession, currentSession);
|
|
1168
1167
|
});
|
|
1169
1168
|
it('Manual completion invocation should close previous session', async () => {
|
|
1170
|
-
const TRIGGER_KIND =
|
|
1169
|
+
const TRIGGER_KIND = server_interface_1.InlineCompletionTriggerKind.Invoked;
|
|
1171
1170
|
const result = await features.doInlineCompletionWithReferences({
|
|
1172
1171
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1173
1172
|
position: { line: 0, character: 0 },
|
|
1174
1173
|
// Manual trigger kind
|
|
1175
1174
|
context: { triggerKind: TRIGGER_KIND },
|
|
1176
|
-
},
|
|
1175
|
+
}, server_interface_1.CancellationToken.None);
|
|
1177
1176
|
assert.deepEqual(result, testUtils_1.EXPECTED_RESULT);
|
|
1178
1177
|
const firstSession = sessionManager.getActiveSession();
|
|
1179
1178
|
// There is ACTIVE session
|
|
@@ -1184,7 +1183,7 @@ describe('CodeWhisperer Server', () => {
|
|
|
1184
1183
|
textDocument: { uri: testUtils_1.SOME_FILE.uri },
|
|
1185
1184
|
position: { line: 0, character: 0 },
|
|
1186
1185
|
context: { triggerKind: TRIGGER_KIND },
|
|
1187
|
-
},
|
|
1186
|
+
}, server_interface_1.CancellationToken.None);
|
|
1188
1187
|
assert.deepEqual(secondResult, { ...testUtils_1.EXPECTED_RESULT, sessionId: SESSION_IDS_LOG[1] });
|
|
1189
1188
|
ts_sinon_1.default.assert.called(sessionManagerSpy.closeCurrentSession);
|
|
1190
1189
|
});
|
|
@@ -1193,7 +1192,7 @@ describe('CodeWhisperer Server', () => {
|
|
|
1193
1192
|
// This test fails when the file starts with a new line, probably due to the way we handle right context merge
|
|
1194
1193
|
// So let's use hello world without the newline in the beginning
|
|
1195
1194
|
const HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE = testUtils_1.HELLO_WORLD_IN_CSHARP.trimStart();
|
|
1196
|
-
const SOME_FILE =
|
|
1195
|
+
const SOME_FILE = server_interface_1.TextDocument.create('file:///test.cs', 'csharp', 1, HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE);
|
|
1197
1196
|
features.openDocument(SOME_FILE);
|
|
1198
1197
|
const EXPECTED_SUGGESTION = [
|
|
1199
1198
|
{ itemId: 'cwspr-item-id', content: HELLO_WORLD_IN_CSHARP_WITHOUT_NEWLINE },
|
|
@@ -1205,8 +1204,8 @@ describe('CodeWhisperer Server', () => {
|
|
|
1205
1204
|
const result = await features.doInlineCompletionWithReferences({
|
|
1206
1205
|
textDocument: { uri: SOME_FILE.uri },
|
|
1207
1206
|
position: { line: 0, character: 0 },
|
|
1208
|
-
context: { triggerKind:
|
|
1209
|
-
},
|
|
1207
|
+
context: { triggerKind: server_interface_1.InlineCompletionTriggerKind.Invoked },
|
|
1208
|
+
}, server_interface_1.CancellationToken.None);
|
|
1210
1209
|
assert.deepEqual(result, testUtils_1.EMPTY_RESULT);
|
|
1211
1210
|
const session = sessionManager.getCurrentSession();
|
|
1212
1211
|
assert(session);
|