import type { AgentManifestService } from "../../agents/index.js"; import type { OpenGoatPaths } from "../../domain/opengoat-paths.js"; import { type Logger } from "../../logging/index.js"; import type { ProviderService } from "../../providers/index.js"; import { SessionService } from "../../sessions/index.js"; import type { OrchestrationRunOptions } from "../domain/run-events.js"; import type { OrchestrationRunResult, RoutingDecision } from "../domain/routing.js"; import { RoutingService } from "./routing.service.js"; interface OrchestrationServiceDeps { providerService: ProviderService; agentManifestService: AgentManifestService; sessionService: SessionService; routingService?: RoutingService; fileSystem: { ensureDir(path: string): Promise; writeFile(path: string, content: string): Promise; }; pathPort: { join(...parts: string[]): string; }; nowIso: () => string; logger?: Logger; } export declare class OrchestrationService { private readonly providerService; private readonly agentManifestService; private readonly sessionService; private readonly routingService; private readonly fileSystem; private readonly pathPort; private readonly nowIso; private readonly logger; constructor(deps: OrchestrationServiceDeps); routeMessage(paths: OpenGoatPaths, entryAgentId: string, message: string): Promise; runAgent(paths: OpenGoatPaths, entryAgentId: string, options: OrchestrationRunOptions): Promise; private invokeAgentWithSession; private repairMissingAgentRegistrationAndRetry; private resolveAgentRuntimeProfile; private buildAndWriteTrace; } export {};