/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import type { Config } from '../config/config.js'; import type { SubagentManager } from '../config/subagentManager.js'; import type { ProfileManager } from '../config/profileManager.js'; import type { SubagentConfig } from '../config/types.js'; import type { Profile } from '../types/modelParams.js'; import { SubAgentScope, type PromptConfig, type RunConfig, type ToolConfig, type OutputConfig } from './subagent.js'; import { type AgentRuntimeLoaderOptions, type AgentRuntimeLoaderResult } from '../runtime/AgentRuntimeLoader.js'; type RuntimeLoader = (options: AgentRuntimeLoaderOptions) => Promise; type ScopeFactory = typeof SubAgentScope.create; export interface SubagentLaunchRequest { name: string; runConfig?: RunConfig; behaviourPrompts?: string[]; toolConfig?: ToolConfig; outputConfig?: OutputConfig; } export interface SubagentLaunchResult { agentId: string; scope: SubAgentScope; dispose: () => Promise; prompt: PromptConfig; profile: Profile; config: SubagentConfig; runtime: AgentRuntimeLoaderResult; } export interface SubagentOrchestratorOptions { subagentManager: SubagentManager; profileManager: ProfileManager; foregroundConfig: Config; runtimeLoader?: RuntimeLoader; scopeFactory?: ScopeFactory; idFactory?: () => string; } /** * Light-weight orchestrator responsible for resolving subagent configuration, * building isolated runtime bundles, and launching {@link SubAgentScope} instances. * * @plan PLAN-20251029-SUBAGENTORCHESTRATION * @requirement REQ-SUBAGENT-ORCH-001, REQ-SUBAGENT-ORCH-002 */ export declare class SubagentOrchestrator { private readonly options; private readonly runtimeLoader; private readonly scopeFactory; private readonly idFactory; private readonly defaultDisabledTools; constructor(options: SubagentOrchestratorOptions); /** * Launches a subagent by name, returning the created {@link SubAgentScope} * and associated agent metadata. */ launch(request: SubagentLaunchRequest, signal?: AbortSignal): Promise; private throwIfAborted; private loadSubagentConfig; private buildPromptConfig; private buildModelConfig; private buildRunConfig; private baseSessionId; private createRuntimeId; private buildContentGeneratorConfig; private createSettingsSnapshot; private populateSettingsService; private getNumberSetting; private getStringSetting; private getStringArraySetting; private getSetting; private mergeDefaultDisabledTools; private createRuntimeState; private createRuntimeBundle; } export {};