/** * Shared adapter configuration builder * * Config precedence (top wins): * 1. CLI options (--provider, --model, etc.) * 2. Scenario providerConfig * 3. artemis.config.yaml providers. * 4. Environment variables * 5. Defaults */ import type { AdapterConfig } from '@artemiskit/core'; import type { ConfigSource, ResolvedConfig } from '@artemiskit/core'; import type { ProviderConfig } from '@artemiskit/core'; import type { ArtemisConfig } from '../config/schema'; export interface AdapterConfigOptions { /** Provider name from CLI or scenario */ provider: string; /** Model name from CLI or scenario (display/identifier) */ model?: string; /** Temperature from CLI */ temperature?: number; /** Max tokens from CLI */ maxTokens?: number; /** Provider config from scenario file */ scenarioConfig?: ProviderConfig; /** Config from artemis.config.yaml */ fileConfig?: ArtemisConfig | null; /** Source of provider (for tracking) */ providerSource?: ConfigSource; /** Source of model (for tracking) */ modelSource?: ConfigSource; } /** * Result of building adapter configuration */ export interface AdapterConfigResult { /** Adapter configuration for creating the client */ adapterConfig: AdapterConfig; /** Resolved configuration with source tracking for manifest */ resolvedConfig: ResolvedConfig; } /** * Build adapter configuration with proper precedence and source tracking * * Resolution order for each field: * CLI > scenarioConfig > fileConfig.providers[provider] > environment variable > default */ export declare function buildAdapterConfig(options: AdapterConfigOptions): AdapterConfigResult; /** * Get the effective provider from various sources with source tracking */ export declare function resolveProviderWithSource(cliProvider?: string, scenarioProvider?: string, configProvider?: string): { provider: string; source: ConfigSource; }; /** * Get the effective model from various sources with source tracking */ export declare function resolveModelWithSource(cliModel?: string, scenarioModel?: string, configModel?: string): { model: string | undefined; source: ConfigSource | undefined; }; /** * Get the effective provider from various sources (legacy - without source tracking) */ export declare function resolveProvider(cliProvider?: string, scenarioProvider?: string, configProvider?: string): string; /** * Get the effective model from various sources (legacy - without source tracking) */ export declare function resolveModel(cliModel?: string, scenarioModel?: string, configModel?: string): string | undefined; //# sourceMappingURL=adapter.d.ts.map