finops-mcp-server
Version:
MCP server for FinOps Center cost optimization integration
96 lines • 2.72 kB
TypeScript
/**
* Configuration Management System
*
* This module handles command-line argument parsing, environment-specific configuration,
* parameter validation, and configuration building for the FinOps MCP Server.
*/
import { ServerConfig, CommandLineArgs, EnvironmentConfigs, ConfigValidationResult, ConfigBuilder, DefaultConfig } from './types/config';
/**
* Command-line argument parser
* Parses and validates command-line arguments using Commander.js
*/
export declare class CommandLineParser {
private program;
constructor();
private setupCommands;
/**
* Parse command-line arguments - FIXED VERSION
*/
parse(argv?: string[]): CommandLineArgs;
/**
* Show help information
*/
showHelp(): void;
}
/**
* Configuration validator
* Validates configuration parameters and provides detailed error messages
*/
export declare class ConfigValidator {
/**
* Validate command-line arguments
*/
static validateArgs(args: CommandLineArgs): ConfigValidationResult;
/**
* Validate server configuration
*/
static validateConfig(config: ServerConfig): ConfigValidationResult;
private static isValidUrl;
private static isValidApiKey;
private static isValidEnvironment;
private static isValidLogLevel;
}
/**
* Configuration builder
* Builds server configuration from various sources with validation
*/
export declare class ServerConfigBuilder implements ConfigBuilder {
private config;
/**
* Build configuration from command-line arguments
*/
fromCommandLine(args: CommandLineArgs): ConfigBuilder;
/**
* Apply environment-specific configuration
*/
fromEnvironment(env: string): ConfigBuilder;
/**
* Apply default configuration values
*/
withDefaults(defaults?: Partial<ServerConfig>): ConfigBuilder;
/**
* Validate the current configuration
*/
validate(): ConfigValidationResult;
/**
* Build the final server configuration
*/
build(): ServerConfig;
}
/**
* Main configuration manager
* Orchestrates the entire configuration process
*/
export declare class ConfigManager {
private parser;
private builder;
constructor();
/**
* Create server configuration from command-line arguments
*/
createConfig(argv?: string[]): ServerConfig;
/**
* Show help information
*/
showHelp(): void;
/**
* Get available environment configurations
*/
getEnvironmentConfigs(): EnvironmentConfigs;
/**
* Get default configuration values
*/
getDefaults(): DefaultConfig;
}
export declare const configManager: ConfigManager;
//# sourceMappingURL=config-manager.d.ts.map