@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.
Files changed (100) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +19 -0
  3. package/out/client/sigv4/codewhisperer.d.ts +3 -0
  4. package/out/client/sigv4/codewhisperer.js +14 -0
  5. package/out/client/sigv4/codewhisperer.js.map +1 -0
  6. package/out/client/sigv4/service.json +346 -0
  7. package/out/client/token/bearer-token-service.json +1627 -0
  8. package/out/client/token/codewhisperer.d.ts +14 -0
  9. package/out/client/token/codewhisperer.js +23 -0
  10. package/out/client/token/codewhisperer.js.map +1 -0
  11. package/out/index.d.ts +2 -0
  12. package/out/index.js +19 -0
  13. package/out/index.js.map +1 -0
  14. package/out/language-server/auto-trigger/autoTrigger.d.ts +38 -0
  15. package/out/language-server/auto-trigger/autoTrigger.js +119 -0
  16. package/out/language-server/auto-trigger/autoTrigger.js.map +1 -0
  17. package/out/language-server/auto-trigger/autoTrigger.test.d.ts +1 -0
  18. package/out/language-server/auto-trigger/autoTrigger.test.js +82 -0
  19. package/out/language-server/auto-trigger/autoTrigger.test.js.map +1 -0
  20. package/out/language-server/auto-trigger/coefficients.json +405 -0
  21. package/out/language-server/codeWhispererSecurityScanServer.d.ts +4 -0
  22. package/out/language-server/codeWhispererSecurityScanServer.js +76 -0
  23. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -0
  24. package/out/language-server/codeWhispererServer.d.ts +7 -0
  25. package/out/language-server/codeWhispererServer.js +425 -0
  26. package/out/language-server/codeWhispererServer.js.map +1 -0
  27. package/out/language-server/codeWhispererServer.test.d.ts +1 -0
  28. package/out/language-server/codeWhispererServer.test.js +1218 -0
  29. package/out/language-server/codeWhispererServer.test.js.map +1 -0
  30. package/out/language-server/codeWhispererService.d.ts +84 -0
  31. package/out/language-server/codeWhispererService.js +168 -0
  32. package/out/language-server/codeWhispererService.js.map +1 -0
  33. package/out/language-server/dependencyGraph/commonUtil.d.ts +2 -0
  34. package/out/language-server/dependencyGraph/commonUtil.js +20 -0
  35. package/out/language-server/dependencyGraph/commonUtil.js.map +1 -0
  36. package/out/language-server/dependencyGraph/constants.d.ts +2 -0
  37. package/out/language-server/dependencyGraph/constants.js +6 -0
  38. package/out/language-server/dependencyGraph/constants.js.map +1 -0
  39. package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +27 -0
  40. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +145 -0
  41. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -0
  42. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.d.ts +1 -0
  43. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +341 -0
  44. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -0
  45. package/out/language-server/dependencyGraph/dependencyGraph.d.ts +125 -0
  46. package/out/language-server/dependencyGraph/dependencyGraph.js +152 -0
  47. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -0
  48. package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +15 -0
  49. package/out/language-server/dependencyGraph/dependencyGraphFactory.js +22 -0
  50. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -0
  51. package/out/language-server/languageDetection.d.ts +3 -0
  52. package/out/language-server/languageDetection.js +56 -0
  53. package/out/language-server/languageDetection.js.map +1 -0
  54. package/out/language-server/mergeRightUtils.d.ts +6 -0
  55. package/out/language-server/mergeRightUtils.js +37 -0
  56. package/out/language-server/mergeRightUtils.js.map +1 -0
  57. package/out/language-server/mergeRightUtils.test.d.ts +1 -0
  58. package/out/language-server/mergeRightUtils.test.js +53 -0
  59. package/out/language-server/mergeRightUtils.test.js.map +1 -0
  60. package/out/language-server/proxy-server.d.ts +2 -0
  61. package/out/language-server/proxy-server.js +35 -0
  62. package/out/language-server/proxy-server.js.map +1 -0
  63. package/out/language-server/securityScan/securityScanHandler.d.ts +17 -0
  64. package/out/language-server/securityScan/securityScanHandler.js +139 -0
  65. package/out/language-server/securityScan/securityScanHandler.js.map +1 -0
  66. package/out/language-server/securityScan/securityScanHandler.test.d.ts +1 -0
  67. package/out/language-server/securityScan/securityScanHandler.test.js +170 -0
  68. package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -0
  69. package/out/language-server/securityScan/types.d.ts +49 -0
  70. package/out/language-server/securityScan/types.js +3 -0
  71. package/out/language-server/securityScan/types.js.map +1 -0
  72. package/out/language-server/session/sessionManager.d.ts +91 -0
  73. package/out/language-server/session/sessionManager.js +234 -0
  74. package/out/language-server/session/sessionManager.js.map +1 -0
  75. package/out/language-server/session/sessionManager.test.d.ts +1 -0
  76. package/out/language-server/session/sessionManager.test.js +584 -0
  77. package/out/language-server/session/sessionManager.test.js.map +1 -0
  78. package/out/language-server/telemetry/codePercentage.d.ts +17 -0
  79. package/out/language-server/telemetry/codePercentage.js +82 -0
  80. package/out/language-server/telemetry/codePercentage.js.map +1 -0
  81. package/out/language-server/telemetry/codePercentage.test.d.ts +1 -0
  82. package/out/language-server/telemetry/codePercentage.test.js +85 -0
  83. package/out/language-server/telemetry/codePercentage.test.js.map +1 -0
  84. package/out/language-server/telemetry/types.d.ts +68 -0
  85. package/out/language-server/telemetry/types.js +3 -0
  86. package/out/language-server/telemetry/types.js.map +1 -0
  87. package/out/language-server/telemetry/userTriggerDecision.test.d.ts +1 -0
  88. package/out/language-server/telemetry/userTriggerDecision.test.js +946 -0
  89. package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -0
  90. package/out/language-server/telemetry.test.d.ts +1 -0
  91. package/out/language-server/telemetry.test.js +96 -0
  92. package/out/language-server/telemetry.test.js.map +1 -0
  93. package/out/language-server/testUtils.d.ts +69 -0
  94. package/out/language-server/testUtils.js +90 -0
  95. package/out/language-server/testUtils.js.map +1 -0
  96. package/out/language-server/utils.d.ts +6 -0
  97. package/out/language-server/utils.js +31 -0
  98. package/out/language-server/utils.js.map +1 -0
  99. package/package.json +53 -0
  100. 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,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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/language-server/telemetry/types.ts"],"names":[],"mappings":""}