Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"chat-client": "0.1.29",
"core/aws-lsp-core": "0.0.12",
"server/aws-lsp-antlr4": "0.1.16",
"server/aws-lsp-codewhisperer": "0.0.70",
"server/aws-lsp-json": "0.1.16",
"server/aws-lsp-partiql": "0.0.15",
"server/aws-lsp-yaml": "0.1.16"
"chat-client": "0.1.30",
"core/aws-lsp-core": "0.0.13",
"server/aws-lsp-antlr4": "0.1.17",
"server/aws-lsp-codewhisperer": "0.0.71",
"server/aws-lsp-json": "0.1.17",
"server/aws-lsp-partiql": "0.0.16",
"server/aws-lsp-yaml": "0.1.17"
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Language Servers for AWS

[![codecov](https://codecov.io/github/aws/language-servers/graph/badge.svg?token=ZSHpIVkG8S)](https://codecov.io/github/aws/language-servers)
[![Integration Tests](https://github.com/aws/language-servers/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/aws/language-servers/actions/workflows/integration-tests.yml)

Language servers for integration with IDEs and Editors, which implement the protocol (LSP extensions) defined in the [language-server-runtimes](https://github.com/aws/language-server-runtimes/tree/main/runtimes) repo.

Expand Down
2 changes: 1 addition & 1 deletion app/aws-lsp-antlr4-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"webpack": "webpack"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-antlr4": "*",
"antlr4-c3": "^3.4.1",
"antlr4ng": "^3.0.4"
Expand Down
2 changes: 1 addition & 1 deletion app/aws-lsp-buildspec-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"compile": "tsc --build"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-buildspec": "^0.0.1"
}
}
2 changes: 1 addition & 1 deletion app/aws-lsp-cloudformation-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"compile": "tsc --build"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-cloudformation": "^0.0.1"
}
}
2 changes: 1 addition & 1 deletion app/aws-lsp-codewhisperer-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"local-build": "node scripts/local-build.js"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-codewhisperer": "*",
"copyfiles": "^2.4.1",
"cross-env": "^7.0.3",
Expand Down
2 changes: 1 addition & 1 deletion app/aws-lsp-identity-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"compile": "tsc --build"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-identity": "^0.0.1"
}
}
2 changes: 1 addition & 1 deletion app/aws-lsp-json-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"webpack": "webpack"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-json": "*"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion app/aws-lsp-notification-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"compile": "tsc --build"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-notification": "^0.0.1"
}
}
2 changes: 1 addition & 1 deletion app/aws-lsp-s3-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"compile": "tsc --build"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-s3": "^0.0.1"
}
}
2 changes: 1 addition & 1 deletion app/aws-lsp-yaml-json-webworker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"serve:webpack": "NODE_ENV=development webpack serve"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-json": "*",
"@aws/lsp-yaml": "*"
},
Expand Down
2 changes: 1 addition & 1 deletion app/aws-lsp-yaml-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"webpack": "webpack"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-yaml": "*"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion app/hello-world-lsp-runtimes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"dependencies": {
"@aws/hello-world-lsp": "^0.0.1",
"@aws/language-server-runtimes": "^0.2.120"
"@aws/language-server-runtimes": "^0.2.121"
},
"devDependencies": {
"@types/chai": "^4.3.5",
Expand Down
17 changes: 17 additions & 0 deletions chat-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## [0.1.30](https://github.com/aws/language-servers/compare/chat-client/v0.1.29...chat-client/v0.1.30) (2025-08-04)


### Features

* support http transport without authorization for MCP ([97e806c](https://github.com/aws/language-servers/commit/97e806ce7ea5e5be1fd60c4a4d9a54cf76c8f8cb))


### Bug Fixes

* **amazonq:** fix the issue that invalid image notification always show ([#2007](https://github.com/aws/language-servers/issues/2007)) ([ceed762](https://github.com/aws/language-servers/commit/ceed762ace5f94cb0e0a7978eb6c4894bc11ce42))
* **amazonq:** improve cross theme support ([#2036](https://github.com/aws/language-servers/issues/2036)) ([002a255](https://github.com/aws/language-servers/commit/002a255c28ea07ca6623dbd074101cbc6082ceb8))
* **amazonq:** improve welcome screen and enable tips ([#2035](https://github.com/aws/language-servers/issues/2035)) ([ac00b94](https://github.com/aws/language-servers/commit/ac00b94df45c2bba0666423c937757fad4db95cc))
* **amazonq:** refactor the welcome screen to make it look better ([#2027](https://github.com/aws/language-servers/issues/2027)) ([1f7c608](https://github.com/aws/language-servers/commit/1f7c608ba2f89c8b0675e62451e27d2dc547613c))
* enable test flag for amazon q ui testing ([#2046](https://github.com/aws/language-servers/issues/2046)) ([f18ea96](https://github.com/aws/language-servers/commit/f18ea96c1e5cd9b93974a047d7f2bb1aba0d9436))
* use new language server runtime ([#2023](https://github.com/aws/language-servers/issues/2023)) ([83ea1e4](https://github.com/aws/language-servers/commit/83ea1e42fe52990696eb9b878fa11e2c5331bec5))

## [0.1.29](https://github.com/aws/language-servers/compare/chat-client/v0.1.28...chat-client/v0.1.29) (2025-07-29)


Expand Down
4 changes: 2 additions & 2 deletions chat-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@aws/chat-client",
"version": "0.1.29",
"version": "0.1.30",
"description": "AWS Chat Client",
"main": "out/index.js",
"repository": {
Expand All @@ -25,7 +25,7 @@
},
"dependencies": {
"@aws/chat-client-ui-types": "^0.1.56",
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/language-server-runtimes-types": "^0.1.50",
"@aws/mynah-ui": "^4.36.2"
},
Expand Down
1 change: 1 addition & 0 deletions chat-client/src/client/mynahUi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -810,6 +810,7 @@ export const createMynahUi = (
},
config: {
maxTabs: 10,
test: true,
dragOverlayIcon: MynahIcons.IMAGE,
texts: {
...uiComponentsTexts,
Expand Down
2 changes: 1 addition & 1 deletion chat-client/src/client/tabs/tabFactory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export class TabFactory {
body: `<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 200px 0 20px 0;">

<div style="font-size: 24px; margin-bottom: 12px;"><strong>Amazon Q</strong></div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 8px; margin: 4px 0; text-align: center;">
<div style="background: rgba(128, 128, 128, 0.15); border: 1px solid rgba(128, 128, 128, 0.25); border-radius: 8px; padding: 8px; margin: 4px 0; text-align: center;">
<div style="font-size: 14px; margin-bottom: 4px;"><strong>Did you know?</strong></div>
<div>${this.getRandomTip()}</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion client/vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@
"@aws-sdk/credential-providers": "^3.731.1",
"@aws-sdk/types": "^3.734.0",
"@aws/chat-client-ui-types": "^0.1.56",
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@types/uuid": "^9.0.8",
"@types/vscode": "^1.98.0",
"jose": "^5.2.4",
Expand Down
7 changes: 7 additions & 0 deletions core/aws-lsp-core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [0.0.13](https://github.com/aws/language-servers/compare/lsp-core/v0.0.12...lsp-core/v0.0.13) (2025-08-04)


### Bug Fixes

* use new language server runtime ([#2023](https://github.com/aws/language-servers/issues/2023)) ([83ea1e4](https://github.com/aws/language-servers/commit/83ea1e42fe52990696eb9b878fa11e2c5331bec5))

## [0.0.12](https://github.com/aws/language-servers/compare/lsp-core/v0.0.11...lsp-core/v0.0.12) (2025-07-17)


Expand Down
4 changes: 2 additions & 2 deletions core/aws-lsp-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@aws/lsp-core",
"version": "0.0.12",
"version": "0.0.13",
"description": "Core library, contains common code and utilities",
"main": "out/index.js",
"repository": {
Expand Down Expand Up @@ -28,7 +28,7 @@
"prepack": "shx cp ../../LICENSE ../../NOTICE ../../SECURITY.md ."
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@gerhobbelt/gitignore-parser": "^0.2.0-9",
"cross-spawn": "7.0.6",
"jose": "^5.2.4",
Expand Down
5 changes: 3 additions & 2 deletions integration-tests/q-agentic-chat-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
"description": "Integration tests for Q Agentic Chat Server",
"main": "out/index.js",
"scripts": {
"clean": "rm -rf out/ node_modules/ tsconfig.tsbuildinfo .tsbuildinfo",
"clean": "rimraf out/ node_modules/ tsconfig.tsbuildinfo .tsbuildinfo",
"compile": "tsc --build && cp -r src/tests/testFixture out/tests/",
"test-integ": "npm run compile && mocha --timeout 30000 \"./out/**/*.test.js\" --retries 2"
},
"dependencies": {
"@aws/language-server-runtimes": "^0.2.120",
"@aws/language-server-runtimes": "^0.2.121",
"@aws/lsp-core": "*"
},
"devDependencies": {
Expand All @@ -22,6 +22,7 @@
"jose": "^5.10.0",
"json-rpc-2.0": "^1.7.1",
"mocha": "^11.0.1",
"rimraf": "^3.0.2",
"typescript": "^5.0.0",
"yauzl-promise": "^4.0.0"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { JSONRPCEndpoint, LspClient } from './lspClient'
import { pathToFileURL } from 'url'
import * as crypto from 'crypto'
import { EncryptionInitialization } from '@aws/lsp-core'
import { authenticateServer, decryptObjectWithKey, encryptObjectWithKey } from './testUtils'
import { authenticateServer, decryptObjectWithKey, encryptObjectWithKey, normalizePath } from './testUtils'
import { ChatParams, ChatResult } from '@aws/language-server-runtimes/protocol'
import * as fs from 'fs'

Expand Down Expand Up @@ -172,7 +172,9 @@ describe('Q Agentic Chat Server Integration Tests', async () => {
msg => msg.type === 'tool' && msg.fileList?.rootFolderTitle === '1 file read'
)
expect(fsReadMessage).to.exist
expect(fsReadMessage?.fileList?.filePaths).to.include.members([path.join(rootPath, 'test.py')])
const expectedPath = path.join(rootPath, 'test.py')
const actualPaths = fsReadMessage?.fileList?.filePaths?.map(normalizePath) || []
expect(actualPaths).to.include.members([normalizePath(expectedPath)])
expect(fsReadMessage?.messageId?.startsWith('tooluse_')).to.be.true
})

Expand All @@ -192,7 +194,8 @@ describe('Q Agentic Chat Server Integration Tests', async () => {
msg => msg.type === 'tool' && msg.fileList?.rootFolderTitle === '1 directory listed'
)
expect(listDirectoryMessage).to.exist
expect(listDirectoryMessage?.fileList?.filePaths).to.include.members([rootPath])
const actualPaths = listDirectoryMessage?.fileList?.filePaths?.map(normalizePath) || []
expect(actualPaths).to.include.members([normalizePath(rootPath)])
expect(listDirectoryMessage?.messageId?.startsWith('tooluse_')).to.be.true
})

Expand All @@ -216,12 +219,17 @@ describe('Q Agentic Chat Server Integration Tests', async () => {
expect(executeBashMessage?.body).to.include('test.ts')
})

it('waits for user acceptance when executing mutable bash commands', async () => {
it('waits for user acceptance when executing mutable bash commands', async function () {
const command =
process.platform === 'win32'
? 'echo %date% > timestamp.txt && echo "Timestamp saved"'
: 'date > timestamp.txt && echo "Timestamp saved"'

const encryptedMessage = await encryptObjectWithKey<ChatParams>(
{
tabId,
prompt: {
prompt: `Run this command using the executeBash tool: \`date > timestamp.txt && echo "Timestamp saved"\``,
prompt: `Run this command using the executeBash tool: \`${command}\``,
},
},
encryptionKey
Expand Down Expand Up @@ -367,6 +375,7 @@ describe('Q Agentic Chat Server Integration Tests', async () => {
)
expect(fileSearchMessage).to.exist
expect(fileSearchMessage?.messageId?.startsWith('tooluse_')).to.be.true
expect(fileSearchMessage?.fileList?.filePaths).to.include.members([rootPath])
const actualPaths = fileSearchMessage?.fileList?.filePaths?.map(normalizePath) || []
expect(actualPaths).to.include.members([normalizePath(rootPath)])
})
})
10 changes: 10 additions & 0 deletions integration-tests/q-agentic-chat-server/src/tests/testUtils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { UpdateCredentialsParams } from '@aws/language-server-runtimes/protocol'
import * as jose from 'jose'
import * as path from 'path'
import { JSONRPCEndpoint } from './lspClient'

/**
Expand Down Expand Up @@ -72,3 +73,12 @@ async function setProfile(endpoint: JSONRPCEndpoint, profileArn: string): Promis
settings: { profileArn },
})
}

/**
* Normalize paths for cross-platform comparison
* @param filePath - The file path to normalize
* @returns Normalized path with consistent casing
*/
export function normalizePath(filePath: string): string {
return path.resolve(filePath).toLowerCase()
}
Loading
Loading