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:
- SecurityScanServer:
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',
})
{
'customizations': [customization1, customization2, ...],
'developerProfiles': [profile1, profile2, ...]
}
Granular requests such as aws.q.customizations
will only return that particular configuration.
Example:
await languageClient.sendRequest(getConfigurationFromServerRequestType.method, {
section: 'aws.q.customizations',
})
[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.
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.