30 lines · 995 B · Swift
RawDownload
import AppKitimport CodexBarCoreimport Foundation @MainActorextension StatusItemController {    func runVertexAILoginFlow() async {        // Show alert with instructions        let alert = NSAlert()        alert.messageText = L("Vertex AI Login")        alert.informativeText = L("vertex_ai_login_instructions")        alert.alertStyle = .informational        alert.addButton(withTitle: L("Open Terminal"))        alert.addButton(withTitle: L("Cancel"))         let response = alert.runModal()         if response == .alertFirstButtonReturn {            self.openTerminal(                command: "gcloud auth application-default login --scopes=openid,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform")        }         // Refresh after user may have logged in        self.loginPhase = .idle        Task { @MainActor in            try? await Task.sleep(for: .seconds(2))            await self.store.refresh()        }    }}