Skip to content

Commit 195e365

Browse files
committed
feat(amazonq): Handle disclaimer acknowledgement
1 parent 119d2f4 commit 195e365

File tree

4 files changed

+26
-10
lines changed

4 files changed

+26
-10
lines changed

package-lock.json

Lines changed: 15 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/amazonq/src/lsp/chat/messages.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
AUTH_FOLLOW_UP_CLICKED,
1010
CHAT_OPTIONS,
1111
COPY_TO_CLIPBOARD,
12+
DISCLAIMER_ACKNOWLEDGED,
1213
} from '@aws/chat-client-ui-types'
1314
import {
1415
ChatResult,
@@ -25,6 +26,7 @@ import { window } from 'vscode'
2526
import { Disposable, LanguageClient, Position, State, TextDocumentIdentifier } from 'vscode-languageclient'
2627
import * as jose from 'jose'
2728
import { AmazonQChatViewProvider } from './webviewProvider'
29+
import { globals } from 'aws-core-vscode/shared'
2830

2931
export function registerLanguageServerEventListener(languageClient: LanguageClient, provider: AmazonQChatViewProvider) {
3032
languageClient.onDidChangeState(({ oldState, newState }) => {
@@ -81,6 +83,9 @@ export function registerMessageListeners(
8183
// TODO hook this into auth
8284
languageClient.info('[VSCode Client] AuthFollowUp clicked')
8385
break
86+
case DISCLAIMER_ACKNOWLEDGED:
87+
globals.globalState.tryUpdate('aws.amazonq.disclaimerAcknowledged', true)
88+
break
8489
case chatRequestType.method: {
8590
const partialResultToken = uuidv4()
8691
const chatDisposable = languageClient.onProgress(chatRequestType, partialResultToken, (partialResult) =>

packages/amazonq/src/lsp/chat/webviewProvider.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
WebviewViewResolveContext,
1313
Uri,
1414
} from 'vscode'
15-
import { LanguageServerResolver } from 'aws-core-vscode/shared'
15+
import { globals, LanguageServerResolver } from 'aws-core-vscode/shared'
1616

1717
export class AmazonQChatViewProvider implements WebviewViewProvider {
1818
public static readonly viewType = 'aws.amazonq.AmazonQChatView'
@@ -34,13 +34,14 @@ export class AmazonQChatViewProvider implements WebviewViewProvider {
3434
}
3535

3636
const uiPath = webviewView.webview.asWebviewUri(Uri.parse(this.mynahUIPath)).toString()
37-
webviewView.webview.html = getWebviewContent(uiPath)
37+
const disclaimerAcknowledged = globals.globalState.tryGet('aws.amazonq.disclaimerAcknowledged', Boolean, false)
38+
webviewView.webview.html = getWebviewContent(uiPath, disclaimerAcknowledged)
3839

3940
this.onDidResolveWebviewEmitter.fire()
4041
}
4142
}
4243

43-
function getWebviewContent(mynahUIPath: string) {
44+
function getWebviewContent(mynahUIPath: string, disclaimerAcknowledged: boolean) {
4445
return `
4546
<!DOCTYPE html>
4647
<html lang="en">
@@ -65,7 +66,7 @@ function getWebviewContent(mynahUIPath: string) {
6566
<script type="text/javascript" src="${mynahUIPath.toString()}" defer onload="init()"></script>
6667
<script type="text/javascript">
6768
const init = () => {
68-
amazonQChat.createChat(acquireVsCodeApi(), {disclaimerAcknowledged: false});
69+
amazonQChat.createChat(acquireVsCodeApi(), {disclaimerAcknowledged: ${disclaimerAcknowledged}});
6970
}
7071
</script>
7172
</body>

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@
440440
},
441441
"devDependencies": {
442442
"@aws/language-server-runtimes": "^0.2.27",
443-
"@aws/chat-client-ui-types": "^0.0.8",
443+
"@aws/chat-client-ui-types": "^0.1.7",
444444
"@aws-sdk/types": "^3.13.1",
445445
"@aws/fully-qualified-names": "^2.1.4",
446446
"@cspotcode/source-map-support": "^0.8.1",

0 commit comments

Comments
 (0)