/** * AI Provider Module * * Public exports for the AI Provider module. */ export type { AIProvider, AIResponse, ProviderStatus, ProviderMode, RunOptions, TestOptions, TestResult, AIProviderConfig, AIProviderConfigInput, ProcessManagerConfig, ProcessResult, ProcessStatus, SpawnResult, ErrorType, CircuitState, CircuitBreakerConfig, RetryConfig, CLIVersionInfo, MetricStats, LogLevel, LogEntry, Span, InstanceState, InstanceInfo, AIProviderAPIResponse, GetConfigResponse, GetStatusResponse, UpdateConfigResponse, TestProviderResponse, } from './types.js'; export { createAIProvider, createDefaultProvider, validateConfig, getDefaultConfig, mergeWithDefaults, } from './factory.js'; export { ClaudeCodeProvider, createClaudeCodeProvider, } from './providers/claude-code.js'; export { ClaudeCodeProcessManager, createProcessManager, } from './process-manager.js'; export { AIProviderError, NotConfiguredError, AuthenticationError, RateLimitError, TimeoutError, CLINotFoundError, CircuitOpenError, InputValidationError, ProcessSpawnError, isRetryableError, getErrorSuggestion, getErrorCode, } from './errors.js'; export { aiProviderEvents, onRateLimitHit, onAuthFailed, onProcessEvent, onCircuitBreakerChange, } from './events.js'; export type { AIProviderEvents, RateLimitHitPayload, AuthFailedPayload, ProcessSpawnedPayload, ProcessCompletedPayload, ProcessFailedPayload, CircuitStateChangePayload, } from './events.js'; export { Semaphore, } from './semaphore.js'; export { CircuitBreaker, createCircuitBreaker, } from './circuit-breaker.js'; export { RetryExecutor, createRetryExecutor, withRetry, } from './retry-executor.js'; export { InstanceCoordinator, createInstanceCoordinator, } from './instance-coordinator.js'; export { SafeArgumentBuilder, buildSafeArgs, isValidWorkingDirectory, } from './safe-args.js'; export { CLIVersionDetector, getCLIVersionDetector, detectCLIVersion, isCLIInstalled, } from './cli-version.js'; export { ConfigLoader, getConfigLoader, createConfigLoader, } from './config-loader.js'; export { Logger, createLogger, } from './logger.js'; export { Metrics, getMetrics, createMetrics, METRIC_NAMES, } from './metrics.js'; export { Tracer, getTracer, createTracer, } from './tracer.js'; export { ProcessLifecycleManager, getLifecycleManager, createLifecycleManager, onShutdown, } from './lifecycle.js'; //# sourceMappingURL=index.d.ts.map