From 099b712d4a1cd64388e669493851750f072f6d98 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Mon, 22 Dec 2025 00:47:34 -0500 Subject: [PATCH] feat(ui): update cliproxy components with kiro and ghcp providers - add ghcp to PROVIDER_IMAGES and PROVIDER_CONFIG in provider-logo - update providers array and options in cliproxy-dialog - add kiro and ghcp to providerLabels in cliproxy-table - complete providers list in cliproxy-header - update ownerMap key from copilot to ghcp in provider-editor --- ui/src/components/cliproxy/cliproxy-dialog.tsx | 4 ++-- ui/src/components/cliproxy/cliproxy-header.tsx | 3 +++ ui/src/components/cliproxy/cliproxy-table.tsx | 2 ++ ui/src/components/cliproxy/provider-editor/index.tsx | 2 +- ui/src/components/cliproxy/provider-logo.tsx | 4 ++-- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ui/src/components/cliproxy/cliproxy-dialog.tsx b/ui/src/components/cliproxy/cliproxy-dialog.tsx index cd01df4f..fa8fc3fb 100644 --- a/ui/src/components/cliproxy/cliproxy-dialog.tsx +++ b/ui/src/components/cliproxy/cliproxy-dialog.tsx @@ -14,7 +14,7 @@ import { Label } from '@/components/ui/label'; import { useCreateVariant, useCliproxyAuth } from '@/hooks/use-cliproxy'; import { usePrivacy } from '@/contexts/privacy-context'; -const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'copilot'] as const; +const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'ghcp'] as const; const schema = z.object({ name: z @@ -40,7 +40,7 @@ const providerOptions = [ { value: 'qwen', label: 'Alibaba Qwen' }, { value: 'iflow', label: 'iFlow' }, { value: 'kiro', label: 'Kiro (AWS)' }, - { value: 'copilot', label: 'GitHub Copilot' }, + { value: 'ghcp', label: 'GitHub Copilot (OAuth)' }, ]; export function CliproxyDialog({ open, onClose }: CliproxyDialogProps) { diff --git a/ui/src/components/cliproxy/cliproxy-header.tsx b/ui/src/components/cliproxy/cliproxy-header.tsx index 790e58c8..a2d39178 100644 --- a/ui/src/components/cliproxy/cliproxy-header.tsx +++ b/ui/src/components/cliproxy/cliproxy-header.tsx @@ -116,7 +116,10 @@ export function CliproxyHeader({ { id: 'gemini', displayName: 'Gemini' }, { id: 'codex', displayName: 'Codex' }, { id: 'agy', displayName: 'Agy' }, + { id: 'qwen', displayName: 'Qwen' }, + { id: 'iflow', displayName: 'iFlow' }, { id: 'kiro', displayName: 'Kiro' }, + { id: 'ghcp', displayName: 'GitHub Copilot' }, ]; const getProviderStatus = (providerId: string) => { diff --git a/ui/src/components/cliproxy/cliproxy-table.tsx b/ui/src/components/cliproxy/cliproxy-table.tsx index b9f7e2bb..ab4c5ff2 100644 --- a/ui/src/components/cliproxy/cliproxy-table.tsx +++ b/ui/src/components/cliproxy/cliproxy-table.tsx @@ -35,6 +35,8 @@ const providerLabels: Record = { agy: 'Antigravity', qwen: 'Alibaba Qwen', iflow: 'iFlow', + kiro: 'Kiro (AWS)', + ghcp: 'GitHub Copilot (OAuth)', }; export function CliproxyTable({ data }: CliproxyTableProps) { diff --git a/ui/src/components/cliproxy/provider-editor/index.tsx b/ui/src/components/cliproxy/provider-editor/index.tsx index 69af143f..ab278d5e 100644 --- a/ui/src/components/cliproxy/provider-editor/index.tsx +++ b/ui/src/components/cliproxy/provider-editor/index.tsx @@ -55,7 +55,7 @@ export function ProviderEditor({ qwen: ['alibaba', 'qwen'], iflow: ['iflow'], kiro: ['kiro', 'aws'], - copilot: ['github', 'copilot'], + ghcp: ['github', 'copilot'], }; const owners = ownerMap[provider.toLowerCase()] || [provider.toLowerCase()]; return modelsData.models.filter((m) => diff --git a/ui/src/components/cliproxy/provider-logo.tsx b/ui/src/components/cliproxy/provider-logo.tsx index 683ef8ba..66ad0420 100644 --- a/ui/src/components/cliproxy/provider-logo.tsx +++ b/ui/src/components/cliproxy/provider-logo.tsx @@ -19,7 +19,7 @@ const PROVIDER_IMAGES: Record = { qwen: '/assets/providers/qwen-color.svg', iflow: '/assets/providers/iflow.png', kiro: '/assets/providers/kiro.png', - copilot: '/assets/providers/copilot.svg', + ghcp: '/assets/providers/copilot.svg', }; /** Provider color configuration (for fallback only - no background for image logos) */ @@ -31,7 +31,7 @@ const PROVIDER_CONFIG: Record = { qwen: { text: 'text-cyan-600', letter: 'Q' }, iflow: { text: 'text-indigo-600', letter: 'i' }, kiro: { text: 'text-teal-600', letter: 'K' }, - copilot: { text: 'text-green-600', letter: 'C' }, + ghcp: { text: 'text-green-600', letter: 'C' }, }; /** Size configuration */