mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-01 13:53:54 +08:00
feat(cli-settings): support multi-provider settings for Claude, Codex, and Gemini
Decouple CLI settings architecture from Claude-only to support multiple
providers. Each provider has independent settings UI and backend handling.
- Add CliProvider type discriminator ('claude' | 'codex' | 'gemini')
- Add CodexCliSettings (profile, authJson, configToml) and GeminiCliSettings types
- Update EndpointSettings with provider field (defaults 'claude' for backward compat)
- Refactor CliSettingsModal with provider selector and provider-specific forms
- Remove includeCoAuthoredBy field across all layers
- Extend CliConfigModal to show Config Profile for all tools (not just claude)
- Add provider-aware argument injection in cli-session-manager (--settings/--profile/env)
- Rename addClaudeCustomEndpoint to addCustomEndpoint (old name kept as deprecated alias)
- Replace providerBasedCount/directCount with per-provider counts in useCliSettings hook
- Update CliSettingsList with provider badges and per-provider stat cards
- Add Codex and Gemini test cases for validateSettings and createDefaultSettings
This commit is contained in:
@@ -56,8 +56,8 @@ export async function handleCliSettingsRoutes(ctx: RouteContext): Promise<boolea
|
||||
if (!request.settings || !request.settings.env) {
|
||||
return { error: 'settings.env is required', status: 400 };
|
||||
}
|
||||
// Deep validation of settings object
|
||||
if (!validateSettings(request.settings)) {
|
||||
// Deep validation of settings object (provider-aware)
|
||||
if (!validateSettings(request.settings, request.provider)) {
|
||||
return { error: 'Invalid settings object format', status: 400 };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user