🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@aws/lsp-codewhisperer

Package Overview
Dependencies
Maintainers
8
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws/lsp-codewhisperer

CodeWhisperer Language Server

0.0.33
latest
Source
npm
Version published
Weekly downloads
223
23.89%
Maintainers
8
Weekly downloads
 
Created
Source

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.

FAQs

Package last updated on 01 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts