Files
OmniRoute/src/shared/constants/cliCompatProviders.ts
backryun 65e0aeda79 [Part 1/3]refactor(qwen): replace legacy Qwen Code and remove OAuth provider (#7866)
* refactor(cli): remove legacy Qwen Code integration

* refactor(qwen): remove deprecated Qwen OAuth provider

* feat(cli): rebuild Qwen Code integration for upstream V4

* fix(qwen): clear stale CLI auth on reset

* test(qwen): align retired provider coverage

* fix(db): renumber qwen-cleanup migration 129 -> 130

release/v3.8.49 tip took slot 129 via #7843 (usage_history_codex_strong_identity,
itself renumbered from 128 during the #7838/#7840 base-red cleanup) after this
branch forked; renumber remove_unregistered_qwen_data to 130.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: Diego Rodrigues de Sa e Souza <8016841+diegosouzapw@users.noreply.github.com>
2026-07-20 17:53:04 -03:00

83 lines
2.5 KiB
TypeScript

import { normalizeCliCompatProviderId } from "../utils/cliCompat";
export { normalizeCliCompatProviderId };
export const IMPLEMENTED_CLI_FINGERPRINT_PROVIDER_IDS = [
"claude",
"codex",
"github",
"antigravity",
] as const;
export const CLI_COMPAT_DISPLAY_PROVIDER_IDS = [
"claude",
"codex",
"copilot",
"antigravity",
] as const;
/**
* Known CLI/tool providers that are intentionally not exposed as CLI Fingerprint toggles yet.
*
* This setting controls the generic `applyFingerprint()` pipeline (header/body ordering plus
* optional CLI User-Agent overrides). Do not expose providers here just because they have a
* CLI Tools card or a provider integration:
*
* - Kiro and Cursor already apply their native parity inside custom executors, so a toggle would
* be misleading unless it controls additional behavior.
* - Droid, OpenClaw, Windsurf and Hermes are CLI tool setup guides/settings, not upstream provider
* fingerprints handled by OmniRoute.
* - Cline, Kilo Code, OpenCode and Kimi Coding have real provider/backend integrations, but no
* captured `CLI_FINGERPRINTS` entry is wired to `applyFingerprint()` yet.
*
* Keep this list as documentation for intentionally omitted candidates. When adding a provider to
* the visible toggle list, also add a real `CLI_FINGERPRINTS` entry or wire its custom executor.
*/
export const CLI_COMPAT_OMITTED_PROVIDER_IDS = [
"kiro",
"cursor",
"droid",
"openclaw",
"windsurf",
"hermes",
"cline",
"kilocode",
"opencode",
"kimi-coding",
] as const;
/**
* Provider IDs toggled in Settings -> CLI Fingerprint.
*
* Source of truth:
* - expose only providers with an implemented `CLI_FINGERPRINTS` entry
* - keep legacy-compatible display IDs such as `copilot` while persisting normalized provider IDs
*/
export const CLI_COMPAT_PROVIDER_IDS = Array.from(
new Set([...IMPLEMENTED_CLI_FINGERPRINT_PROVIDER_IDS])
);
export const CLI_COMPAT_TOGGLE_IDS = Array.from(new Set(CLI_COMPAT_DISPLAY_PROVIDER_IDS));
export const CLI_COMPAT_PROVIDER_DISPLAY: Record<
(typeof CLI_COMPAT_DISPLAY_PROVIDER_IDS)[number],
{ name: string; description: string }
> = {
claude: {
name: "Claude Code",
description: "Anthropic Claude Code CLI",
},
codex: {
name: "OpenAI Codex CLI",
description: "OpenAI Codex CLI",
},
copilot: {
name: "GitHub Copilot",
description: "GitHub Copilot CLI compatibility",
},
antigravity: {
name: "Antigravity",
description: "Google Antigravity IDE compatibility",
},
};