Skip to content

Commit 666437e

Browse files
committed
send notification to server
1 parent 75c1a01 commit 666437e

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import kotlinx.coroutines.flow.onEach
2424
import kotlinx.coroutines.launch
2525
import org.cef.browser.CefBrowser
2626
import org.eclipse.lsp4j.TextDocumentIdentifier
27+
import software.amazon.awssdk.services.codewhispererruntime.model.TelemetryEvent
2728
import software.aws.toolkits.core.utils.error
2829
import software.aws.toolkits.core.utils.getLogger
2930
import software.aws.toolkits.core.utils.warn
@@ -107,6 +108,8 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabBa
107108
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabBarActionRequest
108109
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabEventParams
109110
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabEventRequest
111+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TelemetryEventNotification
112+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TelemetryEventParams
110113
import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.LspEditorUtil
111114
import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.LspEditorUtil.toUriString
112115
import software.aws.toolkits.jetbrains.services.amazonq.util.command
@@ -492,10 +495,9 @@ class BrowserConnector(
492495
}
493496
}
494497
TELEMETRY_EVENT -> {
495-
val telemetryEvent = serializer.deserializeChatMessages<FlareUiMessage>(node)
496-
browser.postChat(
497-
telemetryEvent
498-
)
498+
handleChatNotification<TelemetryEventNotification, TelemetryEventParams>(node) { server, params ->
499+
server.sendTelemetry(params)
500+
}
499501
}
500502
}
501503
}

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageServer.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Sourc
5555
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabBarActionParams
5656
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabBarActionResult
5757
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TabEventParams
58+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TELEMETRY_EVENT
5859
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.UpdateCredentialsPayload
5960
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.DidChangeDependencyPathsParams
6061
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.textDocument.InlineCompletionListWithReferences
@@ -149,4 +150,7 @@ interface AmazonQLanguageServer : LanguageServer {
149150

150151
@JsonNotification(CHAT_CREATE_PROMPT)
151152
fun createPrompt(params: CreatePromptParams): CompletableFuture<Unit>
153+
154+
@JsonNotification(TELEMETRY_EVENT)
155+
fun sendTelemetry(params: Any): CompletableFuture<Unit>
152156
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat
5+
6+
import com.google.gson.JsonElement
7+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
8+
9+
/**
10+
* Notification for telemetry events
11+
*/
12+
class TelemetryEventNotification(
13+
override val command: String = TELEMETRY_EVENT,
14+
override val params: TelemetryEventParams
15+
) : ChatNotification<TelemetryEventParams>
16+
17+
/**
18+
* Parameters for telemetry events
19+
* Using LSPAny to avoid deserialization of different event types
20+
* Example: {"triggerType":"click","tabId":"z869mz","name":"tabAdd"}
21+
*/
22+
class TelemetryEventParams(
23+
val value: LSPAny
24+
)

0 commit comments

Comments
 (0)