release: v2.0.4 - Advanced Business Orchestration & UI Polishing

This commit is contained in:
g1nation
2026-05-13 23:32:29 +09:00
parent b6899851c3
commit 6784e85b7e
15 changed files with 417 additions and 45 deletions
+19 -4
View File
@@ -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({