@aws/lsp-codewhisperer 0.0.3
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 +7 -0
- package/README.md +19 -0
- package/out/client/sigv4/codewhisperer.d.ts +3 -0
- package/out/client/sigv4/codewhisperer.js +14 -0
- package/out/client/sigv4/codewhisperer.js.map +1 -0
- package/out/client/sigv4/service.json +346 -0
- package/out/client/token/bearer-token-service.json +1627 -0
- package/out/client/token/codewhisperer.d.ts +14 -0
- package/out/client/token/codewhisperer.js +23 -0
- package/out/client/token/codewhisperer.js.map +1 -0
- package/out/index.d.ts +2 -0
- package/out/index.js +19 -0
- package/out/index.js.map +1 -0
- package/out/language-server/auto-trigger/autoTrigger.d.ts +38 -0
- package/out/language-server/auto-trigger/autoTrigger.js +119 -0
- package/out/language-server/auto-trigger/autoTrigger.js.map +1 -0
- package/out/language-server/auto-trigger/autoTrigger.test.d.ts +1 -0
- package/out/language-server/auto-trigger/autoTrigger.test.js +82 -0
- package/out/language-server/auto-trigger/autoTrigger.test.js.map +1 -0
- package/out/language-server/auto-trigger/coefficients.json +405 -0
- package/out/language-server/codeWhispererSecurityScanServer.d.ts +4 -0
- package/out/language-server/codeWhispererSecurityScanServer.js +76 -0
- package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -0
- package/out/language-server/codeWhispererServer.d.ts +7 -0
- package/out/language-server/codeWhispererServer.js +425 -0
- package/out/language-server/codeWhispererServer.js.map +1 -0
- package/out/language-server/codeWhispererServer.test.d.ts +1 -0
- package/out/language-server/codeWhispererServer.test.js +1218 -0
- package/out/language-server/codeWhispererServer.test.js.map +1 -0
- package/out/language-server/codeWhispererService.d.ts +84 -0
- package/out/language-server/codeWhispererService.js +168 -0
- package/out/language-server/codeWhispererService.js.map +1 -0
- package/out/language-server/dependencyGraph/commonUtil.d.ts +2 -0
- package/out/language-server/dependencyGraph/commonUtil.js +20 -0
- package/out/language-server/dependencyGraph/commonUtil.js.map +1 -0
- package/out/language-server/dependencyGraph/constants.d.ts +2 -0
- package/out/language-server/dependencyGraph/constants.js +6 -0
- package/out/language-server/dependencyGraph/constants.js.map +1 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +27 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.js +145 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.test.d.ts +1 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +341 -0
- package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -0
- package/out/language-server/dependencyGraph/dependencyGraph.d.ts +125 -0
- package/out/language-server/dependencyGraph/dependencyGraph.js +152 -0
- package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -0
- package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +15 -0
- package/out/language-server/dependencyGraph/dependencyGraphFactory.js +22 -0
- package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -0
- package/out/language-server/languageDetection.d.ts +3 -0
- package/out/language-server/languageDetection.js +56 -0
- package/out/language-server/languageDetection.js.map +1 -0
- package/out/language-server/mergeRightUtils.d.ts +6 -0
- package/out/language-server/mergeRightUtils.js +37 -0
- package/out/language-server/mergeRightUtils.js.map +1 -0
- package/out/language-server/mergeRightUtils.test.d.ts +1 -0
- package/out/language-server/mergeRightUtils.test.js +53 -0
- package/out/language-server/mergeRightUtils.test.js.map +1 -0
- package/out/language-server/proxy-server.d.ts +2 -0
- package/out/language-server/proxy-server.js +35 -0
- package/out/language-server/proxy-server.js.map +1 -0
- package/out/language-server/securityScan/securityScanHandler.d.ts +17 -0
- package/out/language-server/securityScan/securityScanHandler.js +139 -0
- package/out/language-server/securityScan/securityScanHandler.js.map +1 -0
- package/out/language-server/securityScan/securityScanHandler.test.d.ts +1 -0
- package/out/language-server/securityScan/securityScanHandler.test.js +170 -0
- package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -0
- package/out/language-server/securityScan/types.d.ts +49 -0
- package/out/language-server/securityScan/types.js +3 -0
- package/out/language-server/securityScan/types.js.map +1 -0
- package/out/language-server/session/sessionManager.d.ts +91 -0
- package/out/language-server/session/sessionManager.js +234 -0
- package/out/language-server/session/sessionManager.js.map +1 -0
- package/out/language-server/session/sessionManager.test.d.ts +1 -0
- package/out/language-server/session/sessionManager.test.js +584 -0
- package/out/language-server/session/sessionManager.test.js.map +1 -0
- package/out/language-server/telemetry/codePercentage.d.ts +17 -0
- package/out/language-server/telemetry/codePercentage.js +82 -0
- package/out/language-server/telemetry/codePercentage.js.map +1 -0
- package/out/language-server/telemetry/codePercentage.test.d.ts +1 -0
- package/out/language-server/telemetry/codePercentage.test.js +85 -0
- package/out/language-server/telemetry/codePercentage.test.js.map +1 -0
- package/out/language-server/telemetry/types.d.ts +68 -0
- package/out/language-server/telemetry/types.js +3 -0
- package/out/language-server/telemetry/types.js.map +1 -0
- package/out/language-server/telemetry/userTriggerDecision.test.d.ts +1 -0
- package/out/language-server/telemetry/userTriggerDecision.test.js +946 -0
- package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -0
- package/out/language-server/telemetry.test.d.ts +1 -0
- package/out/language-server/telemetry.test.js +96 -0
- package/out/language-server/telemetry.test.js.map +1 -0
- package/out/language-server/testUtils.d.ts +69 -0
- package/out/language-server/testUtils.js +90 -0
- package/out/language-server/testUtils.js.map +1 -0
- package/out/language-server/utils.d.ts +6 -0
- package/out/language-server/utils.js +31 -0
- package/out/language-server/utils.js.map +1 -0
- package/package.json +53 -0
- package/script/generateServiceClient.ts +242 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodePercentageTracker = void 0;
|
|
4
|
+
const CODE_PERCENTAGE_INTERVAL = 5 * 60 * 1000;
|
|
5
|
+
const CODE_PERCENTAGE_EVENT_NAME = 'codewhisperer_codePercentage';
|
|
6
|
+
class CodePercentageTracker {
|
|
7
|
+
constructor(telemetry) {
|
|
8
|
+
this.buckets = {};
|
|
9
|
+
this.telemetry = telemetry;
|
|
10
|
+
this.intervalId = this.startListening();
|
|
11
|
+
}
|
|
12
|
+
startListening() {
|
|
13
|
+
return setInterval(() => {
|
|
14
|
+
this.getEventDataAndRotate().forEach(event => {
|
|
15
|
+
this.telemetry.emitMetric({
|
|
16
|
+
name: CODE_PERCENTAGE_EVENT_NAME,
|
|
17
|
+
data: event,
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}, CODE_PERCENTAGE_INTERVAL);
|
|
21
|
+
}
|
|
22
|
+
getEventDataAndRotate() {
|
|
23
|
+
const previousBuckets = this.rotate();
|
|
24
|
+
return Object.keys(previousBuckets)
|
|
25
|
+
.filter(languageId => previousBuckets[languageId]?.invocationCount > 0)
|
|
26
|
+
.map(languageId => {
|
|
27
|
+
const bucket = previousBuckets[languageId];
|
|
28
|
+
const percentage = this.roundTwoDecimals((bucket.acceptedTokens / bucket.totalTokens) * 100);
|
|
29
|
+
return {
|
|
30
|
+
codewhispererTotalTokens: bucket.totalTokens,
|
|
31
|
+
codewhispererLanguage: languageId,
|
|
32
|
+
codewhispererAcceptedTokens: bucket.acceptedTokens,
|
|
33
|
+
codewhispererPercentage: percentage,
|
|
34
|
+
successCount: bucket.successCount,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
roundTwoDecimals(n) {
|
|
39
|
+
// Number.EPSILON isn't perfect, but good enough for our purposes.
|
|
40
|
+
// Only works correctly for positive numbers in the 0-100 order of magnitude
|
|
41
|
+
return Math.round((n + Number.EPSILON) * 100) / 100;
|
|
42
|
+
}
|
|
43
|
+
rotate() {
|
|
44
|
+
const previous = this.buckets;
|
|
45
|
+
this.buckets = {};
|
|
46
|
+
return previous;
|
|
47
|
+
}
|
|
48
|
+
getLanguageBucket(languageId) {
|
|
49
|
+
if (!this.buckets[languageId]) {
|
|
50
|
+
this.buckets[languageId] = {
|
|
51
|
+
totalTokens: 0,
|
|
52
|
+
acceptedTokens: 0,
|
|
53
|
+
invocationCount: 0,
|
|
54
|
+
successCount: 0,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return this.buckets[languageId];
|
|
58
|
+
}
|
|
59
|
+
countTokens(languageId, tokens) {
|
|
60
|
+
const languageBucket = this.getLanguageBucket(languageId);
|
|
61
|
+
const tokenCount = tokens.length;
|
|
62
|
+
languageBucket.totalTokens += tokenCount;
|
|
63
|
+
}
|
|
64
|
+
countAcceptedTokens(languageId, tokens) {
|
|
65
|
+
const languageBucket = this.getLanguageBucket(languageId);
|
|
66
|
+
const tokenCount = tokens.length;
|
|
67
|
+
languageBucket.acceptedTokens += tokenCount;
|
|
68
|
+
}
|
|
69
|
+
countInvocation(languageId) {
|
|
70
|
+
const languageBucket = this.getLanguageBucket(languageId);
|
|
71
|
+
languageBucket.invocationCount++;
|
|
72
|
+
}
|
|
73
|
+
countSuccess(languageId) {
|
|
74
|
+
const languageBucket = this.getLanguageBucket(languageId);
|
|
75
|
+
languageBucket.successCount++;
|
|
76
|
+
}
|
|
77
|
+
dispose() {
|
|
78
|
+
clearInterval(this.intervalId);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.CodePercentageTracker = CodePercentageTracker;
|
|
82
|
+
//# sourceMappingURL=codePercentage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codePercentage.js","sourceRoot":"","sources":["../../../src/language-server/telemetry/codePercentage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ts_sinon_1 = require("ts-sinon");
|
|
4
|
+
const codePercentage_1 = require("./codePercentage");
|
|
5
|
+
describe('CodePercentage', () => {
|
|
6
|
+
const LANGUAGE_ID = 'python';
|
|
7
|
+
const OTHER_LANGUAGE_ID = 'typescript';
|
|
8
|
+
// 10 characters each for easy math
|
|
9
|
+
const SOME_CONTENT = 'some text\n';
|
|
10
|
+
const SOME_ACCEPTED_CONTENT = 'accepted.\n';
|
|
11
|
+
let tracker;
|
|
12
|
+
let telemetry;
|
|
13
|
+
let clock;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
clock = ts_sinon_1.default.useFakeTimers();
|
|
16
|
+
telemetry = (0, ts_sinon_1.stubInterface)();
|
|
17
|
+
tracker = new codePercentage_1.CodePercentageTracker(telemetry);
|
|
18
|
+
});
|
|
19
|
+
afterEach(() => {
|
|
20
|
+
tracker.dispose();
|
|
21
|
+
clock.reset();
|
|
22
|
+
});
|
|
23
|
+
it('does not send telemetry without edits', () => {
|
|
24
|
+
clock.tick(5000 * 60);
|
|
25
|
+
ts_sinon_1.default.assert.notCalled(telemetry.emitMetric);
|
|
26
|
+
});
|
|
27
|
+
it('emits metrics every 5 minutes while editing', () => {
|
|
28
|
+
tracker.countTokens(LANGUAGE_ID, SOME_CONTENT);
|
|
29
|
+
tracker.countTokens(LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
30
|
+
tracker.countAcceptedTokens(LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
31
|
+
tracker.countInvocation(LANGUAGE_ID);
|
|
32
|
+
tracker.countSuccess(LANGUAGE_ID);
|
|
33
|
+
clock.tick(5000 * 60);
|
|
34
|
+
ts_sinon_1.default.assert.calledWith(telemetry.emitMetric, {
|
|
35
|
+
name: 'codewhisperer_codePercentage',
|
|
36
|
+
data: {
|
|
37
|
+
codewhispererTotalTokens: 20,
|
|
38
|
+
codewhispererLanguage: LANGUAGE_ID,
|
|
39
|
+
codewhispererAcceptedTokens: 10,
|
|
40
|
+
codewhispererPercentage: 50.0,
|
|
41
|
+
successCount: 1,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
it('emits no metrics without invocations', () => {
|
|
46
|
+
tracker.countTokens(OTHER_LANGUAGE_ID, SOME_CONTENT);
|
|
47
|
+
clock.tick(5000 * 60);
|
|
48
|
+
ts_sinon_1.default.assert.notCalled(telemetry.emitMetric);
|
|
49
|
+
});
|
|
50
|
+
it('emits separate metrics for different languages', () => {
|
|
51
|
+
tracker.countTokens(LANGUAGE_ID, SOME_CONTENT);
|
|
52
|
+
tracker.countTokens(LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
53
|
+
tracker.countAcceptedTokens(LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
54
|
+
tracker.countInvocation(LANGUAGE_ID);
|
|
55
|
+
tracker.countSuccess(LANGUAGE_ID);
|
|
56
|
+
tracker.countTokens(OTHER_LANGUAGE_ID, SOME_CONTENT);
|
|
57
|
+
tracker.countTokens(OTHER_LANGUAGE_ID, SOME_CONTENT);
|
|
58
|
+
tracker.countTokens(OTHER_LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
59
|
+
tracker.countAcceptedTokens(OTHER_LANGUAGE_ID, SOME_ACCEPTED_CONTENT);
|
|
60
|
+
tracker.countInvocation(OTHER_LANGUAGE_ID);
|
|
61
|
+
tracker.countSuccess(OTHER_LANGUAGE_ID);
|
|
62
|
+
clock.tick(5000 * 60);
|
|
63
|
+
ts_sinon_1.default.assert.calledWith(telemetry.emitMetric, {
|
|
64
|
+
name: 'codewhisperer_codePercentage',
|
|
65
|
+
data: {
|
|
66
|
+
codewhispererTotalTokens: 20,
|
|
67
|
+
codewhispererLanguage: LANGUAGE_ID,
|
|
68
|
+
codewhispererAcceptedTokens: 10,
|
|
69
|
+
codewhispererPercentage: 50.0,
|
|
70
|
+
successCount: 1,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
ts_sinon_1.default.assert.calledWith(telemetry.emitMetric, {
|
|
74
|
+
name: 'codewhisperer_codePercentage',
|
|
75
|
+
data: {
|
|
76
|
+
codewhispererTotalTokens: 30,
|
|
77
|
+
codewhispererLanguage: OTHER_LANGUAGE_ID,
|
|
78
|
+
codewhispererAcceptedTokens: 10,
|
|
79
|
+
codewhispererPercentage: 33.33,
|
|
80
|
+
successCount: 1,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=codePercentage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codePercentage.test.js","sourceRoot":"","sources":["../../../src/language-server/telemetry/codePercentage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CodewhispererLanguage } from '../languageDetection';
|
|
2
|
+
import { UserDecision } from '../session/sessionManager';
|
|
3
|
+
export type CodewhispererCompletionType = 'Block' | 'Line';
|
|
4
|
+
export interface CodeWhispererServiceInvocationEvent {
|
|
5
|
+
codewhispererRequestId?: string;
|
|
6
|
+
codewhispererSessionId?: string;
|
|
7
|
+
codewhispererLastSuggestionIndex?: number;
|
|
8
|
+
codewhispererCompletionType?: CodewhispererCompletionType;
|
|
9
|
+
codewhispererTriggerType: string;
|
|
10
|
+
codewhispererAutomatedTriggerType?: string;
|
|
11
|
+
duration?: number;
|
|
12
|
+
codewhispererLineNumber?: number;
|
|
13
|
+
codewhispererCursorOffset?: number;
|
|
14
|
+
codewhispererLanguage: CodewhispererLanguage;
|
|
15
|
+
codewhispererGettingStartedTask?: string;
|
|
16
|
+
reason?: string;
|
|
17
|
+
credentialStartUrl?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CodeWhispererPerceivedLatencyEvent {
|
|
20
|
+
codewhispererRequestId?: string;
|
|
21
|
+
codewhispererSessionId?: string;
|
|
22
|
+
codewhispererCompletionType?: CodewhispererCompletionType;
|
|
23
|
+
codewhispererTriggerType: string;
|
|
24
|
+
duration?: number;
|
|
25
|
+
codewhispererLanguage: CodewhispererLanguage;
|
|
26
|
+
credentialStartUrl?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface CodeWhispererUserTriggerDecisionEvent {
|
|
29
|
+
codewhispererSessionId: string;
|
|
30
|
+
codewhispererFirstRequestId: string;
|
|
31
|
+
credentialStartUrl?: string;
|
|
32
|
+
codewhispererSuggestionState?: string;
|
|
33
|
+
codewhispererCompletionType?: string;
|
|
34
|
+
codewhispererLanguage: CodewhispererLanguage;
|
|
35
|
+
codewhispererTriggerType: string;
|
|
36
|
+
codewhispererAutomatedTriggerType?: string;
|
|
37
|
+
codewhispererTriggerCharacter?: string;
|
|
38
|
+
codewhispererLineNumber: number;
|
|
39
|
+
codewhispererCursorOffset: number;
|
|
40
|
+
codewhispererSuggestionCount: number;
|
|
41
|
+
codewhispererClassifierResult?: number;
|
|
42
|
+
codewhispererClassifierThreshold?: number;
|
|
43
|
+
codewhispererTotalShownTime: number;
|
|
44
|
+
codewhispererTypeaheadLength: number;
|
|
45
|
+
codewhispererTimeSinceLastDocumentChange?: number;
|
|
46
|
+
codewhispererTimeSinceLastUserDecision?: number;
|
|
47
|
+
codewhispererTimeToFirstRecommendation: number;
|
|
48
|
+
codewhispererPreviousSuggestionState?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface CodeWhispererCodePercentageEvent {
|
|
51
|
+
codewhispererTotalTokens: number;
|
|
52
|
+
codewhispererLanguage: string;
|
|
53
|
+
codewhispererAcceptedTokens: number;
|
|
54
|
+
codewhispererPercentage: number;
|
|
55
|
+
successCount: number;
|
|
56
|
+
}
|
|
57
|
+
export interface CodeWhispererUserDecisionEvent {
|
|
58
|
+
codewhispererRequestId?: string;
|
|
59
|
+
codewhispererSessionId?: string;
|
|
60
|
+
codewhispererCompletionType?: CodewhispererCompletionType;
|
|
61
|
+
codewhispererTriggerType: string;
|
|
62
|
+
codewhispererLanguage: CodewhispererLanguage;
|
|
63
|
+
credentialStartUrl?: string;
|
|
64
|
+
codewhispererSuggestionIndex: number;
|
|
65
|
+
codewhispererSuggestionState?: UserDecision;
|
|
66
|
+
codewhispererSuggestionReferences?: string[];
|
|
67
|
+
codewhispererSuggestionReferenceCount: number;
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/language-server/telemetry/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|