feat(councils-ui): add on-demand council conversations panel and model config controls
This commit is contained in:
@@ -28,6 +28,7 @@ import type { SkillInstaller, SkillRegistry, SkillRegistryEntry, SkillRegistrySo
|
||||
import { auditLogger } from '../audit/index.js';
|
||||
import { getElevationStatusMessage, setElevationFromInput } from '../security/elevation.js';
|
||||
import { dirname, resolve } from 'path';
|
||||
import { loadCouncilScaffoldSafe } from '../councils/scaffold.js';
|
||||
|
||||
function buildProviderConfigMap(config: Config): Partial<Record<ModelProvider, ModelConfig>> {
|
||||
const providerConfigs: Partial<Record<ModelProvider, ModelConfig>> = {};
|
||||
@@ -400,9 +401,11 @@ export function createMessageRouter(deps: {
|
||||
} as AgentDelegateDeps));
|
||||
|
||||
if (deps.config.councils?.enabled) {
|
||||
const scaffold = loadCouncilScaffoldSafe(deps.config.councils.scaffold_path);
|
||||
effectiveToolRegistry.register(createCouncilRunTool({
|
||||
registry: deps.agentConfigRegistry,
|
||||
config: deps.config.councils as CouncilsConfig,
|
||||
scaffold,
|
||||
get orchestrator(): AgentOrchestrator {
|
||||
if (!lazyOrchestrator) {
|
||||
throw new Error('Agent orchestrator not yet initialized');
|
||||
@@ -841,8 +844,9 @@ export function createMessageRouter(deps: {
|
||||
const tool = createCouncilRunTool({
|
||||
registry: deps.agentConfigRegistry,
|
||||
orchestrator: agent,
|
||||
config: deps.config.councils as CouncilsConfig,
|
||||
});
|
||||
config: deps.config.councils as CouncilsConfig,
|
||||
scaffold: loadCouncilScaffoldSafe(deps.config.councils.scaffold_path),
|
||||
});
|
||||
const result = await tool.execute({ task: message });
|
||||
if (!result.success) {
|
||||
return `Council run failed: ${result.error ?? 'unknown error'}`;
|
||||
|
||||
Reference in New Issue
Block a user