/** * Council Manager * * Orchestrates multi-LLM council sessions: launches councillors in * parallel and collects their results for the council agent to synthesize. */ import type { PluginInput } from '@opencode-ai/plugin'; import type { PluginConfig } from '../config'; import type { CouncilResult } from '../config/council-schema'; import type { SubagentDepthTracker } from '../utils/subagent-depth'; export declare class CouncilManager { private client; private directory; private config?; private depthTracker?; private tmuxEnabled; private deprecatedFields?; private legacyMasterModel?; constructor(ctx: PluginInput, config?: PluginConfig, depthTracker?: SubagentDepthTracker, tmuxEnabled?: boolean); /** Return deprecated config fields detected during parsing (for tool warnings). */ getDeprecatedFields(): string[] | undefined; /** Return the legacy master.model if it was used as fallback. */ getLegacyMasterModel(): string | undefined; /** * Run a full council session. * * 1. Look up the preset * 2. Launch all councillors in parallel * 3. Collect results (respecting timeout) * 4. Return formatted councillor results for synthesis */ runCouncil(prompt: string, presetName: string | undefined, parentSessionId: string): Promise; /** * Inject a start notification into the parent session so the user * sees immediate feedback while councillors are spinning up. */ private sendStartNotification; /** * Run a single agent session: create → register → prompt → extract → cleanup. */ private runAgentSession; private runCouncillors; /** * Run a single councillor with retry logic for empty responses. * Only retries on "Empty response from provider" errors — timeouts * and other failures are returned immediately. */ private runCouncillorWithRetry; }