/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import { HistoryService } from '../services/history/HistoryService.js'; import type { Config } from '../config/config.js'; import type { ToolRegistry } from '../tools/tool-registry.js'; import type { ProviderManager } from '../providers/ProviderManager.js'; import type { IProviderManager } from '../providers/IProviderManager.js'; import type { AgentRuntimeContext, AgentRuntimeProviderAdapter, AgentRuntimeTelemetryAdapter, ToolRegistryView, ReadonlySettingsSnapshot } from './AgentRuntimeContext.js'; import type { AgentRuntimeState } from './AgentRuntimeState.js'; import type { ProviderRuntimeContext } from './providerRuntimeContext.js'; import { type ContentGenerator, type ContentGeneratorConfig } from '../core/contentGenerator.js'; export interface AgentRuntimeProfileSnapshot { config: Config; state: AgentRuntimeState; settings: ReadonlySettingsSnapshot; providerRuntime: ProviderRuntimeContext; contentGeneratorConfig?: ContentGeneratorConfig; toolRegistry?: ToolRegistry; providerManager?: ProviderManager | IProviderManager; } export interface AgentRuntimeLoaderOverrides { providerAdapter?: AgentRuntimeProviderAdapter; telemetryAdapter?: AgentRuntimeTelemetryAdapter; toolsView?: ToolRegistryView; historyService?: HistoryService; contentGenerator?: ContentGenerator; contentGeneratorFactory?: ContentGeneratorFactory; } export interface AgentRuntimeLoaderOptions { profile: AgentRuntimeProfileSnapshot; overrides?: AgentRuntimeLoaderOverrides; signal?: AbortSignal; } export interface AgentRuntimeLoaderResult { runtimeContext: AgentRuntimeContext; history: HistoryService; providerAdapter: AgentRuntimeProviderAdapter; telemetryAdapter: AgentRuntimeTelemetryAdapter; toolsView: ToolRegistryView; contentGenerator: ContentGenerator; toolRegistry?: ToolRegistry; settingsSnapshot?: ReadonlySettingsSnapshot; } export type ContentGeneratorFactory = (config: ContentGeneratorConfig, context: Config, sessionId: string) => Promise; export declare function loadAgentRuntime(options: AgentRuntimeLoaderOptions): Promise;