Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ body:
- Google Gemini
- Google Vertex AI
- Groq
- Human Relay Provider
- LiteLLM
- LM Studio
- Mistral AI
Expand Down
1 change: 0 additions & 1 deletion .roo/rules-translate/instructions-zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
| Auto-approve | 自动批准 | 始终批准 | 权限相关术语 |
| Checkpoint | 存档点 | 检查点/快照 | 技术概念统一 |
| MCP Server | MCP 服务 | MCP 服务器 | 技术组件 |
| Human Relay | 人工辅助模式 | 人工中继 | 功能描述清晰 |
| Network Timeout | 请求超时 | 网络超时 | 更准确描述 |
| Terminal | 终端 | 命令行 | 技术术语统一 |
| diff | 差异更新 | 差分/补丁 | 代码变更 |
Expand Down
4 changes: 0 additions & 4 deletions apps/vscode-e2e/src/suite/extension.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ suite("Roo Code Extension", function () {
"openInNewTab",
"settingsButtonClicked",
"historyButtonClicked",
"showHumanRelayDialog",
"registerHumanRelayCallback",
"unregisterHumanRelayCallback",
"handleHumanRelayResponse",
"newTask",
"setCustomStoragePath",
"focusInput",
Expand Down
8 changes: 2 additions & 6 deletions packages/types/src/provider-settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export const isCustomProvider = (key: string): key is CustomProvider => customPr
* model lists.
*/

export const fauxProviders = ["fake-ai", "human-relay"] as const
export const fauxProviders = ["fake-ai"] as const

export type FauxProvider = (typeof fauxProviders)[number]

Expand Down Expand Up @@ -344,8 +344,6 @@ const requestySchema = baseProviderSettingsSchema.extend({
requestyModelId: z.string().optional(),
})

const humanRelaySchema = baseProviderSettingsSchema

const fakeAiSchema = baseProviderSettingsSchema.extend({
fakeAi: z.unknown().optional(),
})
Expand Down Expand Up @@ -447,7 +445,6 @@ export const providerSettingsSchemaDiscriminated = z.discriminatedUnion("apiProv
minimaxSchema.merge(z.object({ apiProvider: z.literal("minimax") })),
unboundSchema.merge(z.object({ apiProvider: z.literal("unbound") })),
requestySchema.merge(z.object({ apiProvider: z.literal("requesty") })),
humanRelaySchema.merge(z.object({ apiProvider: z.literal("human-relay") })),
fakeAiSchema.merge(z.object({ apiProvider: z.literal("fake-ai") })),
xaiSchema.merge(z.object({ apiProvider: z.literal("xai") })),
groqSchema.merge(z.object({ apiProvider: z.literal("groq") })),
Expand Down Expand Up @@ -489,7 +486,6 @@ export const providerSettingsSchema = z.object({
...minimaxSchema.shape,
...unboundSchema.shape,
...requestySchema.shape,
...humanRelaySchema.shape,
...fakeAiSchema.shape,
...xaiSchema.shape,
...groqSchema.shape,
Expand Down Expand Up @@ -627,7 +623,7 @@ export const getApiProtocol = (provider: ProviderName | undefined, modelId?: str
*/

export const MODELS_BY_PROVIDER: Record<
Exclude<ProviderName, "fake-ai" | "human-relay" | "gemini-cli" | "openai">,
Exclude<ProviderName, "fake-ai" | "gemini-cli" | "openai">,
{ id: ProviderName; label: string; models: string[] }
> = {
anthropic: {
Expand Down
1 change: 0 additions & 1 deletion packages/types/src/providers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ export function getProviderDefaultModelId(
return vercelAiGatewayDefaultModelId
case "anthropic":
case "gemini-cli":
case "human-relay":
case "fake-ai":
default:
return anthropicDefaultModelId
Expand Down
5 changes: 0 additions & 5 deletions packages/types/src/vscode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@ export const commandIds = [

"openInNewTab",

"showHumanRelayDialog",
"registerHumanRelayCallback",
"unregisterHumanRelayCallback",
"handleHumanRelayResponse",

"newTask",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apps/vscode-e2e/src/suite/extension.test.ts still expects the Human Relay commands (showHumanRelayDialog, etc). Since those commands were removed from commandIds here, the e2e test will likely fail until the expected command list is updated.

Fix it with Roo Code or mention @roomote and request a fix.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@roomote fix it

Copy link
Contributor

@roomote roomote bot Dec 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixaroo Clock   See task on Roo Cloud

Fixed the reported issues. All local checks passed.

View commit | Revert commit


"setCustomStoragePath",
Expand Down
26 changes: 0 additions & 26 deletions src/activate/humanRelay.ts

This file was deleted.

16 changes: 0 additions & 16 deletions src/activate/registerCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import { getCommand } from "../utils/commands"
import { ClineProvider } from "../core/webview/ClineProvider"
import { ContextProxy } from "../core/config/ContextProxy"
import { focusPanel } from "../utils/focusPanel"

import { registerHumanRelayCallback, unregisterHumanRelayCallback, handleHumanRelayResponse } from "./humanRelay"
import { handleNewTask } from "./handleTask"
import { CodeIndexManager } from "../services/code-index/manager"
import { importSettingsWithFeedback } from "../core/config/importExport"
Expand Down Expand Up @@ -136,20 +134,6 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
if (!visibleProvider) return
visibleProvider.postMessageToWebview({ type: "action", action: "marketplaceButtonClicked" })
},
showHumanRelayDialog: (params: { requestId: string; promptText: string }) => {
const panel = getPanel()

if (panel) {
panel?.webview.postMessage({
type: "showHumanRelayDialog",
requestId: params.requestId,
promptText: params.promptText,
})
}
},
registerHumanRelayCallback: registerHumanRelayCallback,
unregisterHumanRelayCallback: unregisterHumanRelayCallback,
handleHumanRelayResponse: handleHumanRelayResponse,
newTask: handleNewTask,
setCustomStoragePath: async () => {
const { promptForCustomStoragePath } = await import("../utils/storage")
Expand Down
4 changes: 0 additions & 4 deletions src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
VsCodeLmHandler,
UnboundHandler,
RequestyHandler,
HumanRelayHandler,
FakeAIHandler,
XAIHandler,
GroqHandler,
Expand Down Expand Up @@ -159,8 +158,6 @@ export function buildApiHandler(configuration: ProviderSettings): ApiHandler {
return new UnboundHandler(options)
case "requesty":
return new RequestyHandler(options)
case "human-relay":
return new HumanRelayHandler()
case "fake-ai":
return new FakeAIHandler(options)
case "xai":
Expand Down Expand Up @@ -198,7 +195,6 @@ export function buildApiHandler(configuration: ProviderSettings): ApiHandler {
case "baseten":
return new BasetenHandler(options)
default:
apiProvider satisfies "gemini-cli" | undefined
return new AnthropicHandler(options)
}
}
134 changes: 0 additions & 134 deletions src/api/providers/human-relay.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/api/providers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ export { FakeAIHandler } from "./fake-ai"
export { GeminiHandler } from "./gemini"
export { GroqHandler } from "./groq"
export { HuggingFaceHandler } from "./huggingface"
export { HumanRelayHandler } from "./human-relay"
export { IOIntelligenceHandler } from "./io-intelligence"
export { LiteLLMHandler } from "./lite-llm"
export { LmStudioHandler } from "./lm-studio"
Expand Down
19 changes: 0 additions & 19 deletions src/core/webview/webviewMessageHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2218,25 +2218,6 @@ export const webviewMessageHandler = async (
})
}
break
case "humanRelayResponse":
if (message.requestId && message.text) {
vscode.commands.executeCommand(getCommand("handleHumanRelayResponse"), {
requestId: message.requestId,
text: message.text,
cancelled: false,
})
}
break

case "humanRelayCancel":
if (message.requestId) {
vscode.commands.executeCommand(getCommand("handleHumanRelayResponse"), {
requestId: message.requestId,
cancelled: true,
})
}
break

case "telemetrySetting": {
const telemetrySetting = message.text as TelemetrySetting
const previousSetting = getGlobalState("telemetrySetting") || "unset"
Expand Down
3 changes: 0 additions & 3 deletions src/shared/ExtensionMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,6 @@ export interface ExtensionMessage {
| "deleteCustomModeCheck"
| "currentCheckpointUpdated"
| "checkpointInitWarning"
| "showHumanRelayDialog"
| "humanRelayResponse"
| "humanRelayCancel"
| "browserToolEnabled"
| "browserConnectionResult"
| "remoteBrowserEnabled"
Expand Down
5 changes: 0 additions & 5 deletions src/shared/ProfileValidator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ export class ProfileValidator {
return false
}

if (profile.apiProvider === "human-relay") {
return true
}

const modelId = this.getModelIdFromProfile(profile)

if (!modelId) {
Expand Down Expand Up @@ -90,7 +86,6 @@ export class ProfileValidator {
return profile.ioIntelligenceModelId
case "deepinfra":
return profile.deepInfraModelId
case "human-relay":
case "fake-ai":
default:
return undefined
Expand Down
2 changes: 0 additions & 2 deletions src/shared/WebviewMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,6 @@ export interface WebviewMessage {
| "checkpointDiff"
| "checkpointRestore"
| "deleteMcpServer"
| "humanRelayResponse"
| "humanRelayCancel"
| "codebaseIndexEnabled"
| "telemetrySetting"
| "testBrowserConnection"
Expand Down
14 changes: 0 additions & 14 deletions src/shared/__tests__/ProfileValidator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,6 @@ describe("ProfileValidator", () => {
expect(ProfileValidator.isProfileAllowed(profile, allowList)).toBe(false)
})

it("should allow human-relay provider regardless of model", () => {
const allowList: OrganizationAllowList = {
allowAll: false,
providers: {
"human-relay": { allowAll: false },
},
}
const profile: ProviderSettings = {
apiProvider: "human-relay",
}

expect(ProfileValidator.isProfileAllowed(profile, allowList)).toBe(true)
})

it("should allow providers with allowAll=true regardless of model", () => {
const allowList: OrganizationAllowList = {
allowAll: false,
Expand Down
Loading
Loading