Skip to content

Commit 3db08de

Browse files
committed
feat: track mux sessions
Signed-off-by: Danny Kopping <danny@coder.com>
1 parent 8851696 commit 3db08de

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

client.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const (
1616
ClientCopilotVSC Client = "GitHub Copilot (VS Code)"
1717
ClientCopilotCLI Client = "GitHub Copilot (CLI)"
1818
ClientKilo Client = "Kilo Code"
19+
ClientMux Client = "Mux"
1920
ClientRoo Client = "Roo Code"
2021
ClientCursor Client = "Cursor"
2122
ClientUnknown Client = "Unknown"
@@ -32,6 +33,8 @@ func guessClient(r *http.Request) Client {
3233

3334
// Must be kept in sync with documentation: https://github.com/coder/coder/blob/90c11f3386578da053ec5cd9f1475835b980e7c7/docs/ai-coder/ai-bridge/monitoring.md?plain=1#L36-L44
3435
switch {
36+
case strings.HasPrefix(userAgent, "mux/"):
37+
return ClientMux
3538
case strings.HasPrefix(userAgent, "claude"):
3639
return ClientClaudeCode
3740
case strings.HasPrefix(userAgent, "codex"):

session.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ func guessSessionID(client Client, r *http.Request) string {
4646
}
4747
return matches[1]
4848
case ClientCodex:
49-
// Codex sends a `session_id` header.
5049
return strings.TrimSpace(headers.Get("session_id"))
50+
case ClientMux:
51+
return strings.TrimSpace(headers.Get("X-Mux-Workspace-Id"))
5152
default:
5253
return ""
5354
}

0 commit comments

Comments
 (0)