0.0.47 • Published 4 months ago

@aws/lsp-codewhisperer v0.0.47

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 months ago

CodeWhisperer Server

Guides

Proxy

To use the CodeWhisperer server behind a proxy, import the CodeWhispererServerTokenProxy as the server and set up the environment variable HTTPS_PROXY or https_proxy to the proxy URL you are using. You can pass the environment variable to the process or just set it up globally on your system.

export HTTPS_PROXY=https://proxy.example.com:5678
export https_proxy=https://proxy.example.com:5678

or

export HTTPS_PROXY=http://username:password@proxy.example.com:5678
export https_proxy=http://username:password@proxy.example.com:5678

Bundling with webworker runtime

Amazon Q Servers implemented in this package may have dependencies on NodeJS native modules, not available in non-Node.js environments.

To make cross-platform bundle, use bundler that allow overriding modules with compatible alternatives (e.g. Webpack).

NodeJS modules used in this package

  • CodeWhispererServer:
    • path
  • SecurityScanServer:
    • path, os

To override modules use next alternatives:

Fetching Amazon Q configuration(s)

The following Amazon Q configurations can be fetched with the aws/getConfigurationFromServer request exposed by QConfigurationServer:

  • customizations
  • developer profiles

The request expects a section parameter, recognizing the following options:

  • aws.q
    • aws.q.customizations
    • aws.q.developerProfiles

Example:

await languageClient.sendRequest(getConfigurationFromServerRequestType.method, {
            section: 'aws.q',
        })
// result:
{
  'customizations': [customization1, customization2, ...],
  'developerProfiles': [profile1, profile2, ...] // (if enabled)
}

Granular requests such as aws.q.customizations will only return that particular configuration.

Example:

await languageClient.sendRequest(getConfigurationFromServerRequestType.method, {
            section: 'aws.q.customizations',
        })
// result:
[customization1, customization2, ...]

Developer Profiles

By default, developer profiles are not fetched. To enable the fetching, the client needs to signal support for them at initialization in the InitializeParams.

Example:

const params: InitializeParams = {
  // ...
  aws: {
    // ...
    awsClientCapabilities: {
      q: {
        developerProfiles: true
      }
    }
  }
}

Supported workspace configurations

The server supports the following workspace configurations:

  • aws.q.customization (type: string | undefined, default: undefined)
    • The customization ARN to be used in API requests, an empty string will be interpreted as undefined.
  • aws.q.optOutTelemetry (type: OPTOUT | OPTIN, default: OPTIN)
    • This flag controls whether to opt-in or opt-out to telemetry.
  • aws.q.inlineSuggestions.extraContext (type: string | undefined, default: undefined)
    • The extra context to be included for suggestions, an empty string will be interpreted as undefined. See below for more context.
  • aws.codeWhisperer.includeSuggestionsWithCodeReferences: (type: boolean, default: false)
    • This flag controls whether to include references with code suggestions.
  • aws.codeWhisperer.shareCodeWhispererContentWithAWS: (type: boolean, default: false)
    • This flag controls whether to share Q content with AWS.

The client can signal updates to the workspace configuration with the DidChangeConfiguration notification.

Extra context for Q Inline Suggestions

In cases when the client runs in a specific environment that requires customized suggestions, the server supports a aws.q.inlineSuggestions.extraContext workspace configuration. This extra context will be passed to the left file content of the request in the beginning of the file.

0.0.40

5 months ago

0.0.41

4 months ago

0.0.42

4 months ago

0.0.20

9 months ago

0.0.43

4 months ago

0.0.21

9 months ago

0.0.44

4 months ago

0.0.45

4 months ago

0.0.46

4 months ago

0.0.24

8 months ago

0.0.47

4 months ago

0.0.25

8 months ago

0.0.37

5 months ago

0.0.38

5 months ago

0.0.39

5 months ago

0.0.17

11 months ago

0.0.18

11 months ago

0.0.19

9 months ago

0.0.30

6 months ago

0.0.31

6 months ago

0.0.32

6 months ago

0.0.33

5 months ago

0.0.34

5 months ago

0.0.35

5 months ago

0.0.36

5 months ago

0.0.26

8 months ago

0.0.27

8 months ago

0.0.28

7 months ago

0.0.29

6 months ago

0.0.16

12 months ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.15

12 months ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.9

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

2 years ago

0.0.3

2 years ago