Roo-Code/src/activate/handleUri.ts
Matt Rubens 7edc86bb52
Test a provider-oriented welcome screen (#9484)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-11-21 17:37:30 -05:00

56 lines
1.3 KiB
TypeScript

import * as vscode from "vscode"
import { CloudService } from "@roo-code/cloud"
import { ClineProvider } from "../core/webview/ClineProvider"
export const handleUri = async (uri: vscode.Uri) => {
const path = uri.path
const query = new URLSearchParams(uri.query.replace(/\+/g, "%2B"))
const visibleProvider = ClineProvider.getVisibleInstance()
if (!visibleProvider) {
return
}
switch (path) {
case "/glama": {
const code = query.get("code")
if (code) {
await visibleProvider.handleGlamaCallback(code)
}
break
}
case "/openrouter": {
const code = query.get("code")
if (code) {
await visibleProvider.handleOpenRouterCallback(code)
}
break
}
case "/requesty": {
const code = query.get("code")
const baseUrl = query.get("baseUrl")
if (code) {
await visibleProvider.handleRequestyCallback(code, baseUrl)
}
break
}
case "/auth/clerk/callback": {
const code = query.get("code")
const state = query.get("state")
const organizationId = query.get("organizationId")
const providerModel = query.get("provider_model")
await CloudService.instance.handleAuthCallback(
code,
state,
organizationId === "null" ? null : organizationId,
providerModel,
)
break
}
default:
break
}
}