mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-22 09:47:47 +00:00
Implement authenticate/update message handling for Qwen OAuth authentication
- Added authenticate_update method to ACP schema constants - Added AuthenticateUpdateNotification type definitions - Updated ACP message handler to process authenticate/update notifications - Added VS Code notification handler with 'Open in Browser' and 'Copy Link' options - Integrated authenticate update handling in QwenAgentManager This implementation allows users to easily authenticate with Qwen OAuth when automatic browser launch fails by providing a notification with direct link and copy functionality. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2025 Qwen Team
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import type { AuthenticateUpdateNotification } from '../types/acpTypes.js';
|
||||
|
||||
/**
|
||||
* Handle authentication update notifications by showing a VS Code notification
|
||||
* with the authentication URI and a copy button.
|
||||
*
|
||||
* @param data - Authentication update notification data containing the auth URI
|
||||
*/
|
||||
export function handleAuthenticateUpdate(
|
||||
data: AuthenticateUpdateNotification,
|
||||
): void {
|
||||
const authUri = data._meta.authUri;
|
||||
|
||||
// Show an information message with the auth URI and copy button
|
||||
vscode.window
|
||||
.showInformationMessage(
|
||||
`Qwen Code needs authentication. Click the button below to open the authentication page or copy the link to your browser.`,
|
||||
'Open in Browser',
|
||||
'Copy Link',
|
||||
)
|
||||
.then((selection) => {
|
||||
if (selection === 'Open in Browser') {
|
||||
// Open the authentication URI in the default browser
|
||||
vscode.env.openExternal(vscode.Uri.parse(authUri));
|
||||
} else if (selection === 'Copy Link') {
|
||||
// Copy the authentication URI to clipboard
|
||||
vscode.env.clipboard.writeText(authUri);
|
||||
vscode.window.showInformationMessage(
|
||||
'Authentication link copied to clipboard!',
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user