feat: finalise multi-profil Codex/Claude avec catalogue de modèles
- Backend : clone_profile_from_seed généralisé (non OpenCode) - Backend : catalogue static Claude/Codex (3 modèles chacun, 1 recommandé) - Backend : commandes Tauri list_claude_models/list_codex_models - Frontend : ProfilesSettings refonte en onglets Codex/Claude + create/duplicate/edit/delete - Frontend : ModelSelect searchable partagé + fallback saisie manuelle - Frontend : assignation agent nom · modèle - Tests QA : 4 profils modèles distincts (2 Claude, 2 Codex) assignés à agents
This commit is contained in:
@ -37,6 +37,7 @@ import type {
|
||||
McpToolPolicy,
|
||||
OpenCodeConfig,
|
||||
OpenCodeProviderCatalogEntry,
|
||||
ProfileModelCatalogEntry,
|
||||
EffectivePermissions,
|
||||
PairedDevice,
|
||||
PairingCode,
|
||||
@ -664,6 +665,15 @@ export interface ProfileGateway {
|
||||
saveProfile(profile: AgentProfile): Promise<AgentProfile>;
|
||||
/** Deletes a profile by id. */
|
||||
deleteProfile(profileId: string): Promise<void>;
|
||||
/**
|
||||
* Clones a persisted or reference profile seed and saves the fresh profile.
|
||||
* Used by Settings duplication for Codex/Claude/OpenCode identity copies.
|
||||
*/
|
||||
cloneProfileFromSeed(input: CloneProfileFromSeedInput): Promise<AgentProfile>;
|
||||
/** Curated Claude Code model catalogue. Manual model entry remains supported. */
|
||||
listClaudeModels(): Promise<ProfileModelCatalogEntry[]>;
|
||||
/** Curated Codex CLI model catalogue. Manual model entry remains supported. */
|
||||
listCodexModels(): Promise<ProfileModelCatalogEntry[]>;
|
||||
/** Persists the batch of chosen profiles, closing the first run. */
|
||||
configureProfiles(profiles: AgentProfile[]): Promise<AgentProfile[]>;
|
||||
/**
|
||||
@ -701,6 +711,16 @@ export interface CloneOpenCodeProfileFromSeedInput {
|
||||
opencode?: OpenCodeConfig;
|
||||
}
|
||||
|
||||
/** Input for {@link ProfileGateway.cloneProfileFromSeed}. */
|
||||
export interface CloneProfileFromSeedInput {
|
||||
/** Id of the persisted or reference profile to clone. */
|
||||
seedProfileId: string;
|
||||
/** Optional display name for the new profile. */
|
||||
name?: string;
|
||||
/** Optional model override. When omitted, the seed model is copied. */
|
||||
model?: string;
|
||||
}
|
||||
|
||||
/** Input for {@link ProfileGateway.saveOpenCodeProviderProfile}. */
|
||||
export interface SaveOpenCodeProviderProfileInput {
|
||||
/** The profile to create or replace (by id). */
|
||||
|
||||
Reference in New Issue
Block a user