@aws/lsp-codewhisperer 0.0.12 → 0.0.14

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 (40) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/node_modules/@aws/lsp-fqn/tsconfig.tsbuildinfo +1 -1
  3. package/out/client/streamingClient/codewhispererStreamingClient.d.ts +3 -3
  4. package/out/client/streamingClient/codewhispererStreamingClient.js +23 -3
  5. package/out/client/streamingClient/codewhispererStreamingClient.js.map +1 -1
  6. package/out/language-server/auto-trigger/autoTrigger.js +1 -1
  7. package/out/language-server/chat/chatSessionManagementService.d.ts +1 -0
  8. package/out/language-server/chat/chatSessionManagementService.js +9 -2
  9. package/out/language-server/chat/chatSessionManagementService.js.map +1 -1
  10. package/out/language-server/chat/chatSessionService.js +0 -1
  11. package/out/language-server/chat/chatSessionService.js.map +1 -1
  12. package/out/language-server/codeWhispererSecurityScanServer.js +5 -2
  13. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
  14. package/out/language-server/codeWhispererServer.js +12 -2
  15. package/out/language-server/codeWhispererServer.js.map +1 -1
  16. package/out/language-server/codeWhispererService.d.ts +10 -5
  17. package/out/language-server/codeWhispererService.js +7 -5
  18. package/out/language-server/codeWhispererService.js.map +1 -1
  19. package/out/language-server/languageDetection.js +1 -0
  20. package/out/language-server/languageDetection.js.map +1 -1
  21. package/out/language-server/netTransform/models.d.ts +5 -0
  22. package/out/language-server/netTransform/models.js +8 -1
  23. package/out/language-server/netTransform/models.js.map +1 -1
  24. package/out/language-server/netTransform/tests/transformHandler.test.js +2 -2
  25. package/out/language-server/netTransform/tests/transformHandler.test.js.map +1 -1
  26. package/out/language-server/netTransform/transformHandler.d.ts +2 -1
  27. package/out/language-server/netTransform/transformHandler.js +89 -44
  28. package/out/language-server/netTransform/transformHandler.js.map +1 -1
  29. package/out/language-server/netTransformServer.js +13 -4
  30. package/out/language-server/netTransformServer.js.map +1 -1
  31. package/out/language-server/proxy-server.js +15 -4
  32. package/out/language-server/proxy-server.js.map +1 -1
  33. package/out/language-server/qChatServer.js +4 -2
  34. package/out/language-server/qChatServer.js.map +1 -1
  35. package/out/language-server/utils.d.ts +3 -1
  36. package/out/language-server/utils.js +38 -1
  37. package/out/language-server/utils.js.map +1 -1
  38. package/out/language-server/utils.test.js +88 -0
  39. package/out/language-server/utils.test.js.map +1 -1
  40. package/package.json +6 -6
@@ -7,16 +7,19 @@ const codeWhispererServer_1 = require("./codeWhispererServer");
7
7
  const codeWhispererService_1 = require("./codeWhispererService");
8
8
  const netTransformServer_1 = require("./netTransformServer");
9
9
  const qChatServer_1 = require("./qChatServer");
10
+ const fs_1 = require("fs");
10
11
  exports.CodeWhispererServerTokenProxy = (0, codeWhispererServer_1.CodewhispererServerFactory)(credentialsProvider => {
11
12
  let additionalAwsConfig = {};
12
13
  const proxyUrl = process.env.HTTPS_PROXY ?? process.env.https_proxy;
14
+ const certs = process.env.AWS_CA_BUNDLE ? [(0, fs_1.readFileSync)(process.env.AWS_CA_BUNDLE)] : undefined;
13
15
  if (proxyUrl) {
14
16
  const { getProxyHttpAgent } = require('proxy-http-agent');
15
17
  const proxyAgent = getProxyHttpAgent({
16
18
  proxy: proxyUrl,
19
+ ca: certs,
17
20
  });
18
21
  additionalAwsConfig = {
19
- proxy: proxyAgent,
22
+ httpOptions: proxyAgent,
20
23
  };
21
24
  }
22
25
  return new codeWhispererService_1.CodeWhispererServiceToken(credentialsProvider, additionalAwsConfig);
@@ -24,13 +27,15 @@ exports.CodeWhispererServerTokenProxy = (0, codeWhispererServer_1.CodewhispererS
24
27
  exports.CodeWhispererServerIAMProxy = (0, codeWhispererServer_1.CodewhispererServerFactory)(credentialsProvider => {
25
28
  let additionalAwsConfig = {};
26
29
  const proxyUrl = process.env.HTTPS_PROXY ?? process.env.https_proxy;
30
+ const certs = process.env.AWS_CA_BUNDLE ? [(0, fs_1.readFileSync)(process.env.AWS_CA_BUNDLE)] : undefined;
27
31
  if (proxyUrl) {
28
32
  const { getProxyHttpAgent } = require('proxy-http-agent');
29
33
  const proxyAgent = getProxyHttpAgent({
30
34
  proxy: proxyUrl,
35
+ ca: certs,
31
36
  });
32
37
  additionalAwsConfig = {
33
- proxy: proxyAgent,
38
+ httpOptions: proxyAgent,
34
39
  };
35
40
  }
36
41
  return new codeWhispererService_1.CodeWhispererServiceIAM(credentialsProvider, additionalAwsConfig);
@@ -38,13 +43,15 @@ exports.CodeWhispererServerIAMProxy = (0, codeWhispererServer_1.CodewhispererSer
38
43
  exports.CodeWhispererSecurityScanServerTokenProxy = (0, codeWhispererSecurityScanServer_1.SecurityScanServerToken)(credentialsProvider => {
39
44
  let additionalAwsConfig = {};
40
45
  const proxyUrl = process.env.HTTPS_PROXY ?? process.env.https_proxy;
46
+ const certs = process.env.AWS_CA_BUNDLE ? [(0, fs_1.readFileSync)(process.env.AWS_CA_BUNDLE)] : undefined;
41
47
  if (proxyUrl) {
42
48
  const { getProxyHttpAgent } = require('proxy-http-agent');
43
49
  const proxyAgent = getProxyHttpAgent({
44
50
  proxy: proxyUrl,
51
+ ca: certs,
45
52
  });
46
53
  additionalAwsConfig = {
47
- proxy: proxyAgent,
54
+ httpOptions: proxyAgent,
48
55
  };
49
56
  }
50
57
  return new codeWhispererService_1.CodeWhispererServiceToken(credentialsProvider, additionalAwsConfig);
@@ -52,13 +59,15 @@ exports.CodeWhispererSecurityScanServerTokenProxy = (0, codeWhispererSecuritySca
52
59
  exports.QNetTransformServerTokenProxy = (0, netTransformServer_1.QNetTransformServerToken)(credentialsProvider => {
53
60
  let additionalAwsConfig = {};
54
61
  const proxyUrl = process.env.HTTPS_PROXY ?? process.env.https_proxy;
62
+ const certs = process.env.AWS_CA_BUNDLE ? [(0, fs_1.readFileSync)(process.env.AWS_CA_BUNDLE)] : undefined;
55
63
  if (proxyUrl) {
56
64
  const { getProxyHttpAgent } = require('proxy-http-agent');
57
65
  const proxyAgent = getProxyHttpAgent({
58
66
  proxy: proxyUrl,
67
+ ca: certs,
59
68
  });
60
69
  additionalAwsConfig = {
61
- proxy: proxyAgent,
70
+ httpOptions: proxyAgent,
62
71
  };
63
72
  }
64
73
  return new codeWhispererService_1.CodeWhispererServiceToken(credentialsProvider, additionalAwsConfig);
@@ -66,6 +75,7 @@ exports.QNetTransformServerTokenProxy = (0, netTransformServer_1.QNetTransformSe
66
75
  exports.QChatServerProxy = (0, qChatServer_1.QChatServer)(credentialsProvider => {
67
76
  let clientOptions;
68
77
  const proxyUrl = process.env.HTTPS_PROXY ?? process.env.https_proxy;
78
+ const certs = process.env.AWS_CA_BUNDLE ? [(0, fs_1.readFileSync)(process.env.AWS_CA_BUNDLE)] : undefined;
69
79
  if (proxyUrl) {
70
80
  const { NodeHttpHandler } = require('@smithy/node-http-handler');
71
81
  /**
@@ -82,6 +92,7 @@ exports.QChatServerProxy = (0, qChatServer_1.QChatServer)(credentialsProvider =>
82
92
  // this mimics aws-sdk-v3-js-proxy
83
93
  const agent = new HttpsProxyAgent({
84
94
  proxy: proxyUrl,
95
+ ca: certs,
85
96
  });
86
97
  return {
87
98
  requestHandler: new NodeHttpHandler({
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/language-server/proxy-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/language-server/proxy-server.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QChatServer = void 0;
4
4
  const chatController_1 = require("./chat/chatController");
5
5
  const quickActions_1 = require("./chat/quickActions");
6
+ const utils_1 = require("./utils");
6
7
  const QChatServer = (service) => features => {
7
- const { chat, credentialsProvider, logging, lsp } = features;
8
+ const { chat, credentialsProvider, logging, lsp, runtime } = features;
8
9
  const chatSessionManagementService = service(credentialsProvider);
9
10
  const chatController = new chatController_1.ChatController(chatSessionManagementService, features);
10
- lsp.addInitializer(() => {
11
+ lsp.addInitializer((params) => {
12
+ chatSessionManagementService.setCustomUserAgent((0, utils_1.getUserAgent)(params, runtime.serverInfo));
11
13
  return {
12
14
  capabilities: {},
13
15
  awsServerCapabilities: {
@@ -1 +1 @@
1
- {"version":3,"file":"qChatServer.js","sourceRoot":"","sources":["../../src/language-server/qChatServer.ts"],"names":[],"mappings":";;;AACA,0DAAsD;AAEtD,sDAA2E;AAEpE,MAAM,WAAW,GACpB,CAAC,OAAmF,EAAU,EAAE,CAChG,QAAQ,CAAC,EAAE;IACP,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;IAE5D,MAAM,4BAA4B,GAAiC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/F,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IAEjF,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE;QACpB,OAAO;YACH,YAAY,EAAE,EAAE;YAChB,qBAAqB,EAAE;gBACnB,WAAW,EAAE;oBACT,YAAY,EAAE;wBACV,yBAAyB,EAAE;4BACvB;gCACI,QAAQ,EAAE,CAAC,gCAAiB,EAAE,iCAAkB,CAAC;6BACpD;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE1C,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE/C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC7B,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IAEjD,OAAO,GAAG,EAAE;QACR,cAAc,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC,CAAA;AACL,CAAC,CAAA;AAnEQ,QAAA,WAAW,eAmEnB"}
1
+ {"version":3,"file":"qChatServer.js","sourceRoot":"","sources":["../../src/language-server/qChatServer.ts"],"names":[],"mappings":";;;AACA,0DAAsD;AAEtD,sDAA2E;AAC3E,mCAAsC;AAE/B,MAAM,WAAW,GACpB,CAAC,OAAmF,EAAU,EAAE,CAChG,QAAQ,CAAC,EAAE;IACP,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;IAErE,MAAM,4BAA4B,GAAiC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/F,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IAEjF,GAAG,CAAC,cAAc,CAAC,CAAC,MAAwB,EAAE,EAAE;QAC5C,4BAA4B,CAAC,kBAAkB,CAAC,IAAA,oBAAY,EAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;QAEzF,OAAO;YACH,YAAY,EAAE,EAAE;YAChB,qBAAqB,EAAE;gBACnB,WAAW,EAAE;oBACT,YAAY,EAAE;wBACV,yBAAyB,EAAE;4BACvB;gCACI,QAAQ,EAAE,CAAC,gCAAiB,EAAE,iCAAkB,CAAC;6BACpD;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE1C,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE/C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC7B,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IAEjD,OAAO,GAAG,EAAE;QACR,cAAc,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC,CAAA;AACL,CAAC,CAAA;AArEQ,QAAA,WAAW,eAqEnB"}
@@ -1,7 +1,8 @@
1
- import { CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
1
+ import { InitializeParams, CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
2
2
  import { AWSError } from 'aws-sdk';
3
3
  import { Suggestion } from './codeWhispererService';
4
4
  import { CodewhispererCompletionType } from './telemetry/types';
5
+ import { ServerInfo } from '@aws/language-server-runtimes/server-interface/runtime';
5
6
  export declare function isAwsError(error: unknown): error is AWSError;
6
7
  export declare function isObject(value: unknown): value is {
7
8
  [key: number | string | symbol]: any;
@@ -12,3 +13,4 @@ export declare function parseJson(jsonString: string): any;
12
13
  export declare function getErrorMessage(error: any): string;
13
14
  export declare function getBearerTokenFromProvider(credentialsProvider: CredentialsProvider): string;
14
15
  export declare const flattenMetric: (obj: any, prefix?: string) => any;
16
+ export declare const getUserAgent: (initializeParams: InitializeParams, serverInfo?: ServerInfo) => string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flattenMetric = exports.getBearerTokenFromProvider = exports.getErrorMessage = exports.parseJson = exports.getCompletionType = exports.isNullish = exports.isObject = exports.isAwsError = void 0;
3
+ exports.getUserAgent = exports.flattenMetric = exports.getBearerTokenFromProvider = exports.getErrorMessage = exports.parseJson = exports.getCompletionType = exports.isNullish = exports.isObject = exports.isAwsError = void 0;
4
4
  const constants_1 = require("./constants");
5
5
  function isAwsError(error) {
6
6
  if (error === undefined) {
@@ -72,4 +72,41 @@ const flattenMetric = (obj, prefix = '') => {
72
72
  return flattened;
73
73
  };
74
74
  exports.flattenMetric = flattenMetric;
75
+ const USER_AGENT_PREFIX = 'AWS-Language-Servers';
76
+ const getUserAgent = (initializeParams, serverInfo) => {
77
+ const format = (s) => s.replace(/\s/g, '-');
78
+ const items = [];
79
+ items.push(USER_AGENT_PREFIX);
80
+ // Fields specific to runtime artifact
81
+ if (serverInfo?.name) {
82
+ serverInfo.version
83
+ ? items.push(`${format(serverInfo.name)}/${serverInfo.version}`)
84
+ : items.push(format(serverInfo.name));
85
+ }
86
+ // Compute client-specific suffix
87
+ // Missing required data fields are replaced with 'UNKNOWN' token
88
+ // Whitespaces in product.name and platform.name are replaced to '-'
89
+ if (initializeParams?.initializationOptions?.aws) {
90
+ const { clientInfo } = initializeParams?.initializationOptions?.aws;
91
+ const { extension } = clientInfo || {};
92
+ if (extension) {
93
+ items.push(`${extension.name ? format(extension.name) : 'UNKNOWN'}/${extension.version || 'UNKNOWN'}`);
94
+ }
95
+ if (clientInfo) {
96
+ items.push(`${clientInfo.name ? format(clientInfo.name) : 'UNKNOWN'}/${clientInfo.version || 'UNKNOWN'}`);
97
+ }
98
+ if (clientInfo?.clientId) {
99
+ items.push(`ClientId/${clientInfo?.clientId}`);
100
+ }
101
+ }
102
+ else {
103
+ // Default to standard InitializeParams.clientInfo if no custom aws.clientInfo is set
104
+ const { clientInfo } = initializeParams || {};
105
+ if (clientInfo) {
106
+ items.push(`${clientInfo.name ? format(clientInfo.name) : 'UNKNOWN'}/${clientInfo.version || 'UNKNOWN'}`);
107
+ }
108
+ }
109
+ return items.join(' ');
110
+ };
111
+ exports.getUserAgent = getUserAgent;
75
112
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/language-server/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/language-server/utils.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,92 @@ describe('getBearerTokenFromProvider', () => {
30
30
  assert.throws(() => (0, utils_1.getBearerTokenFromProvider)(mockCredentialsProvider), Error, 'credentialsProvider does not have bearer token credentials');
31
31
  });
32
32
  });
33
+ describe('getUserAgent', () => {
34
+ it('should return a default string when no parameters are provided', () => {
35
+ const userAgent = (0, utils_1.getUserAgent)({});
36
+ assert.strictEqual(userAgent, 'AWS-Language-Servers');
37
+ });
38
+ it('should return a complete string when all initializeParams are provided', () => {
39
+ const initializeParams = {
40
+ initializationOptions: {
41
+ aws: {
42
+ clientInfo: {
43
+ name: 'Test Platform',
44
+ version: '2.3.4',
45
+ extension: {
46
+ name: 'Test Client Extension',
47
+ version: '1.2.3',
48
+ },
49
+ clientId: '1111-1111',
50
+ },
51
+ },
52
+ },
53
+ };
54
+ const serverInfo = {
55
+ name: 'Test Server Name',
56
+ version: '0.1.2',
57
+ };
58
+ const userAgent = (0, utils_1.getUserAgent)(initializeParams, serverInfo);
59
+ assert.strictEqual(userAgent, 'AWS-Language-Servers Test-Server-Name/0.1.2 Test-Client-Extension/1.2.3 Test-Platform/2.3.4 ClientId/1111-1111');
60
+ });
61
+ it('should omit custom suffix if clientExtensionInfo is not passed', () => {
62
+ const initializeParams = {};
63
+ const serverInfo = {
64
+ name: 'Test Server Name',
65
+ version: '0.1.2',
66
+ };
67
+ const userAgent = (0, utils_1.getUserAgent)(initializeParams, serverInfo);
68
+ assert.strictEqual(userAgent, 'AWS-Language-Servers Test-Server-Name/0.1.2');
69
+ });
70
+ it('should omit serverInfo if not passed', () => {
71
+ const initializeParams = {
72
+ initializationOptions: {
73
+ aws: {
74
+ clientInfo: {
75
+ name: 'Test Platform',
76
+ version: '2.3.4',
77
+ extension: {
78
+ name: 'Test Client Extension',
79
+ version: '1.2.3',
80
+ },
81
+ clientId: '1111-1111',
82
+ },
83
+ },
84
+ },
85
+ };
86
+ const userAgent = (0, utils_1.getUserAgent)(initializeParams);
87
+ assert.strictEqual(userAgent, 'AWS-Language-Servers Test-Client-Extension/1.2.3 Test-Platform/2.3.4 ClientId/1111-1111');
88
+ });
89
+ it('should replace missing clientExtensionInfo fields with UNKNOWN tokens', () => {
90
+ const initializeParams = {
91
+ initializationOptions: {
92
+ aws: {
93
+ clientInfo: {
94
+ extension: {},
95
+ },
96
+ },
97
+ },
98
+ };
99
+ const serverInfo = {
100
+ name: 'Test Server Name',
101
+ version: '0.1.2',
102
+ };
103
+ const userAgent = (0, utils_1.getUserAgent)(initializeParams, serverInfo);
104
+ assert.strictEqual(userAgent, 'AWS-Language-Servers Test-Server-Name/0.1.2 UNKNOWN/UNKNOWN UNKNOWN/UNKNOWN');
105
+ });
106
+ it('should fallback to standard InitializeParams.clientInfo when initializationOptions.aws is not passed', () => {
107
+ const initializeParams = {
108
+ clientInfo: {
109
+ name: 'Test Client',
110
+ version: '2.3.4',
111
+ },
112
+ };
113
+ const serverInfo = {
114
+ name: 'Test Server Name',
115
+ version: '0.1.2',
116
+ };
117
+ const userAgent = (0, utils_1.getUserAgent)(initializeParams, serverInfo);
118
+ assert.strictEqual(userAgent, 'AWS-Language-Servers Test-Server-Name/0.1.2 Test-Client/2.3.4');
119
+ });
120
+ });
33
121
  //# sourceMappingURL=utils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/language-server/utils.test.ts"],"names":[],"mappings":";;AACA,iCAAgC;AAChC,+BAA8B;AAC9B,mCAAoD;AAEpD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,MAAM,SAAS,GAAG,WAAW,CAAA;IAC7B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,uBAAuB,GAAwB;YACjD,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1D,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE;SACtC,CAAA;QAED,MAAM,CAAC,WAAW,CAAC,IAAA,kCAA0B,EAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAC9E,MAAM,uBAAuB,GAAwB;YACjD,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1D,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE;SACtC,CAAA;QAED,MAAM,CAAC,MAAM,CACT,GAAG,EAAE,CAAC,IAAA,kCAA0B,EAAC,uBAAuB,CAAC,EACzD,KAAK,EACL,4DAA4D,CAC/D,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,uBAAuB,GAAwB;YACjD,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACnD,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE;SACtC,CAAA;QAED,MAAM,CAAC,MAAM,CACT,GAAG,EAAE,CAAC,IAAA,kCAA0B,EAAC,uBAAuB,CAAC,EACzD,KAAK,EACL,4DAA4D,CAC/D,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/language-server/utils.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/lsp-codewhisperer",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "CodeWhisperer Language Server",
5
5
  "main": "out/index.js",
6
6
  "repository": {
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@amzn/codewhisperer-streaming": "*",
35
35
  "@aws-sdk/util-retry": "^3.374.0",
36
- "@aws/language-server-runtimes": "^0.2.11",
37
36
  "@aws/chat-client-ui-types": "^0.0.6",
37
+ "@aws/language-server-runtimes": "^0.2.15",
38
38
  "@aws/lsp-fqn": "^0.0.1",
39
39
  "@gerhobbelt/gitignore-parser": "^0.2.0-9",
40
40
  "@smithy/node-http-handler": "^2.5.0",
@@ -42,26 +42,26 @@
42
42
  "archiver": "^6.0.1",
43
43
  "aws-sdk": "^2.1403.0",
44
44
  "deepmerge": "^4.3.1",
45
+ "fastest-levenshtein": "^1.0.16",
45
46
  "got": "^11.8.5",
46
47
  "hpagent": "^1.2.0",
47
48
  "js-md5": "^0.8.3",
48
- "fastest-levenshtein": "^1.0.16",
49
49
  "proxy-http-agent": "^1.0.1",
50
50
  "uuid": "^9.0.1",
51
51
  "vscode-uri": "^3.0.8"
52
52
  },
53
53
  "devDependencies": {
54
- "@types/archiver": "^6.0.2",
55
- "mock-fs": "^5.2.0",
56
54
  "@types/adm-zip": "^0.5.5",
55
+ "@types/archiver": "^6.0.2",
57
56
  "@types/uuid": "^9.0.8",
58
57
  "assert": "^2.1.0",
59
58
  "copyfiles": "^2.4.1",
59
+ "mock-fs": "^5.2.0",
60
60
  "ts-loader": "^9.4.4",
61
61
  "ts-mocha": "^10.0.0",
62
62
  "ts-sinon": "^2.0.2",
63
63
  "vscode-languageserver-textdocument": "^1.0.11",
64
- "webpack": "^5.88.2",
64
+ "webpack": "^5.94.0",
65
65
  "webpack-cli": "^5.1.4"
66
66
  },
67
67
  "prettier": {