@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
87 lines • 2.75 kB
TypeScript
/**
* Centralized feature flag service for consistent flag resolution
* Priority: Environment variable > config.json > default (false)
*/
import { FeatureFlags, FlagName } from "./flagRegistry.js";
/**
* Service for managing and resolving feature flags from multiple sources
*/
export declare class FeatureFlagService {
private static instance;
private cache;
private initialized;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): FeatureFlagService;
/**
* Initialize feature flags from all sources
* Must be called before using any feature flags
*/
initialize(): Promise<void>;
/**
* Generic method to check if a flag is enabled
* @throws Error if service not initialized
*/
isFlagEnabled(flagName: FlagName): boolean;
/**
* Check if MCP Logger is enabled
* @throws Error if service not initialized
*/
isMcpLoggerEnabled(): boolean;
/**
* Check if Setup Wizard is enabled
* @throws Error if service not initialized
*/
isSetupWizardEnabled(): boolean;
/**
* Check if DXT is enabled
* @throws Error if service not initialized
*/
isDxtEnabled(): boolean;
/**
* Check if Config Tools Menu is enabled
* @throws Error if service not initialized
*/
isConfigToolsMenuEnabled(): boolean;
/**
* Get all feature flags
* @throws Error if service not initialized
*/
getAllFlags(): FeatureFlags;
/**
* Reset the service (mainly for testing)
*/
reset(): void;
/**
* Force set a feature flag (mainly for testing)
* Note: This bypasses normal resolution and should only be used in tests
*/
forceSet(flagName: FlagName, value: boolean): void;
}
/**
* Convenience function to get the singleton instance
*/
export declare function getFeatureFlagService(): FeatureFlagService;
/**
* Convenience function to check if MCP Logger is enabled
* Ensures the service is initialized before checking
*/
export declare function isMcpLoggerEnabledViaService(): Promise<boolean>;
/**
* Convenience function to check if Setup Wizard is enabled
* Ensures the service is initialized before checking
*/
export declare function isSetupWizardEnabledViaService(): Promise<boolean>;
/**
* Convenience function to check if DXT is enabled
* Ensures the service is initialized before checking
*/
export declare function isDxtEnabledViaService(): Promise<boolean>;
/**
* Convenience function to check if Config Tools Menu is enabled
* Ensures the service is initialized before checking
*/
export declare function isConfigToolsMenuEnabledViaService(): Promise<boolean>;
//# sourceMappingURL=featureFlagService.d.ts.map