release: v2.0.4 - Advanced Business Orchestration & UI Polishing
This commit is contained in:
+19
-4
@@ -1215,24 +1215,39 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn
|
||||
});
|
||||
}
|
||||
|
||||
/** Push the full agent catalogue when the manage panel opens. */
|
||||
/**
|
||||
* Push the full agent catalogue when the manage panel opens. Each entry
|
||||
* carries both the *default* (from `agents.ts`) and *override* (from
|
||||
* globalState) fields so the UI can show the user what they've edited,
|
||||
* gray out unchanged fields, and offer a Reset button per agent.
|
||||
*/
|
||||
async _sendCompanyAgents(): Promise<void> {
|
||||
if (!this._view) return;
|
||||
const state = readCompanyState(this._context);
|
||||
const agents = COMPANY_AGENT_ORDER.map((id) => {
|
||||
const def = COMPANY_AGENTS[id];
|
||||
const override = state.promptOverrides[id] || {};
|
||||
return {
|
||||
id,
|
||||
name: def.name,
|
||||
role: def.role,
|
||||
emoji: def.emoji,
|
||||
color: def.color,
|
||||
tagline: def.tagline,
|
||||
specialty: def.specialty,
|
||||
hasPersona: !!def.persona,
|
||||
alwaysOn: !!def.alwaysOn,
|
||||
active: id === 'ceo' || state.activeAgentIds.includes(id),
|
||||
modelOverride: state.modelOverrides[id] || '',
|
||||
// Defaults — never change at runtime.
|
||||
defaultTagline: def.tagline,
|
||||
defaultSpecialty: def.specialty,
|
||||
defaultPersona: def.persona || '',
|
||||
// Current effective values (default + override merged).
|
||||
tagline: override.tagline || def.tagline,
|
||||
specialty: override.specialty || def.specialty,
|
||||
persona: override.persona || def.persona || '',
|
||||
// Per-field override flags for the UI.
|
||||
personaOverridden: !!override.persona,
|
||||
specialtyOverridden: !!override.specialty,
|
||||
taglineOverridden: !!override.tagline,
|
||||
};
|
||||
});
|
||||
this._view.webview.postMessage({
|
||||
|
||||
Reference in New Issue
Block a user