/**
 * LLM package — Provider adapters and model management
 *
 * INV-4: runtime calls llm only via ProviderManager facade.
 * @module packages/llm
 */

export { ModelConfigLoader, createModelConfigLoader } from './ModelConfigLoader.js'
export type { ModelConfig, ModelConfigSet, ConfigLoadResult } from './ModelConfigLoader.js'

export { CapabilityMatrixRegistry, createCapabilityMatrixRegistry } from './CapabilityMatrix.js'
export type { ProviderCapability, ProviderCapabilityMatrix } from './CapabilityMatrix.js'

export { ProviderManager, createProviderManager, get_provider_manager } from './ProviderManager.js'
export type { ProviderManagerConfig } from './ProviderManager.js'

export { AnthropicCanonicalConverter, createAnthropicCanonicalConverter } from './canonical/AnthropicCanonical.js'
export type { CanonicalMessage, CanonicalContent, ConversionReport } from './canonical/AnthropicCanonical.js'

export { AnthropicAdapter, createAnthropicAdapter } from './adapters/AnthropicAdapter.js'
export type { AnthropicConfig } from './adapters/AnthropicAdapter.js'

export { OpenAICompatibleAdapter, createOpenAICompatibleAdapter } from './adapters/OpenAICompatibleAdapter.js'
export type { OpenAICompatibleConfig } from './adapters/OpenAICompatibleAdapter.js'