@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
78 lines • 2.54 kB
TypeScript
/**
* Central Feature Flag Registry
* Single source of truth for all feature flags, their metadata, and default values
*/
/**
* Flag definition interface
*/
export interface FlagDefinition {
readonly name: string;
readonly description: string;
readonly defaultValue: boolean;
readonly envVar: string;
}
/**
* Central registry of all feature flags
* Add new flags here to automatically integrate them with CLI and service
*/
export declare const FLAG_REGISTRY: {
readonly mcpLoggerEnabled: {
readonly name: "mcpLoggerEnabled";
readonly description: "Use experimental mcp-logger instead of default Pino logging";
readonly defaultValue: false;
readonly envVar: "HYPERTOOL_MCP_LOGGER_ENABLED";
};
readonly setupWizardEnabled: {
readonly name: "setupWizardEnabled";
readonly description: "Enable interactive setup wizard on first run (default: disabled)";
readonly defaultValue: false;
readonly envVar: "HYPERTOOL_SETUP_WIZARD_ENABLED";
};
readonly dxtEnabled: {
readonly name: "dxtEnabled";
readonly description: "Enable DXT extension system and management commands";
readonly defaultValue: false;
readonly envVar: "HYPERTOOL_DXT_ENABLED";
};
readonly enableConfigToolsMenu: {
readonly name: "enableConfigToolsMenu";
readonly description: "Enables a dynamic configuration tools menu instead of showing all tools together";
readonly defaultValue: false;
readonly envVar: "HYPERTOOL_ENABLE_CONFIG_TOOLS_MENU";
};
};
/**
* Type-safe flag names derived from registry
*/
export type FlagName = keyof typeof FLAG_REGISTRY;
/**
* Feature flags interface generated from registry
*/
export type FeatureFlags = {
[K in FlagName]?: boolean;
};
/**
* Get all flag definitions
*/
export declare function getAllFlagDefinitions(): Record<FlagName, FlagDefinition>;
/**
* Get a specific flag definition
*/
export declare function getFlagDefinition(flagName: FlagName): FlagDefinition;
/**
* Check if a flag name is valid
*/
export declare function isValidFlagName(flagName: string): flagName is FlagName;
/**
* Get all flag names
*/
export declare function getFlagNames(): FlagName[];
/**
* Get environment variable name for a flag
*/
export declare function getFlagEnvVar(flagName: FlagName): string;
/**
* Get default value for a flag
*/
export declare function getFlagDefaultValue(flagName: FlagName): boolean;
//# sourceMappingURL=flagRegistry.d.ts.map