import os content = '''\'use strict\'; const vscode = require(\'vscode\'); const client = require(\'../api/client\'); const account = require(\'../utils/account\'); const extension = require(\'../extension\'); class HummingbirdProvider { constructor(extensionUri, context) { this._extensionUri = extensionUri; this._context = context; this._view = undefined; } resolveWebviewView(webviewView, context, token) { this._view = webviewView; webviewView.webview.options = { enableScripts: true, localResourceRoots: [this._extensionUri] }; webviewView.webview.html = this._getHtmlContent(webviewView.webview); webviewView.webview.onDidReceiveMessage(async (message) => { await this._handleMessage(message); }); client.onOnlineStatusChange((isOnline) => { this._postMessage({ type: \'onlineStatus\', isOnline }); }); } _postMessage(message) { if (this._view) this._view.webview.postMessage(message); } async _handleMessage(message) { const { type, data } = message; try { switch (type) { case \'verifyKey\': await this._handleVerifyKey(data); break; case \'switchAccount\': await this._handleSwitchAccount(data); break; case \'getStoredKey\': await this._handleGetStoredKey(); break; case \'logout\': await this._handleLogout(); break; case \'showMessage\': this._showMessage(data.messageType, data.message); break; } } catch (error) { this._postMessage({ type: \'error\', error: error.message }); } } async _handleVerifyKey(data) { const result = await client.verifyKey(data.key); if (result.success) { await this._context.globalState.update(\'hummingbird.key\', data.key); if (result.data) { await account.writeAccountToLocal(result.data); extension.showStatusBar(); await account.promptRestartCursor(\'账号切换成功,需要重启 Cursor 生效\'); } } this._postMessage({ type: \'verifyKeyResult\', result }); } async _handleSwitchAccount(data) { const result = await client.switchAccount(data.key); if (result.success && result.data) { await account.writeAccountToLocal(result.data); await account.promptRestartCursor(\'账号切换成功,需要重启 Cursor 生效\'); } this._postMessage({ type: \'switchAccountResult\', result }); } async _handleGetStoredKey() { const key = this._context.globalState.get(\'hummingbird.key\'); this._postMessage({ type: \'storedKeyResult\', key: key || null }); } async _handleLogout() { await this._context.globalState.update(\'hummingbird.key\', undefined); extension.hideStatusBar(); this._postMessage({ type: \'logoutResult\', success: true }); } _showMessage(type, msg) { if (type === \'error\') vscode.window.showErrorMessage(msg); else if (type === \'warning\') vscode.window.showWarningMessage(msg); else vscode.window.showInformationMessage(msg); } _getHtmlContent(webview) { return \\\'