UNPKG

@civic/hub-bridge

Version:

Stdio <-> HTTP/SSE MCP bridge with Civic auth handling

76 lines 2.14 kB
/** * ConfigManager.ts * * Unified configuration management for hub-bridge. * Handles OAuth tokens, profile selection, and other persistent configuration. */ import type { OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js'; import type { TokenPersistence } from '@civic/auth-mcp'; /** * Centralized configuration manager for hub-bridge * Also implements TokenPersistence interface for OAuth token storage */ export declare class ConfigManager implements TokenPersistence { private static instance; private readonly configPath; private config; private constructor(); /** * Get singleton instance of ConfigManager */ static getInstance(configPath?: string): ConfigManager; /** * Reset singleton instance (primarily for testing) */ static resetInstance(): void; /** * Expands tilde (~) in file paths to the user's home directory */ private expandTildePath; /** * Load configuration from disk */ private loadConfig; /** * Save configuration to disk */ private saveConfig; /** * Get OAuth tokens (alias for TokenPersistence interface) */ getTokens(): Promise<OAuthTokens | undefined>; /** * Load OAuth tokens (TokenPersistence interface method) */ loadTokens(): Promise<OAuthTokens | undefined>; /** * Save OAuth tokens */ saveTokens(tokens: OAuthTokens): Promise<void>; /** * Clear OAuth tokens */ clearTokens(): Promise<void>; /** * Get current profile alias synchronously from cached config * Returns undefined if config not yet loaded */ getCurrentProfileAliasSync(): string | undefined; /** * Get current profile alias */ getCurrentProfileAlias(): Promise<string | undefined>; /** * Set current profile by alias */ setCurrentProfile(alias: string): Promise<void>; /** * Clear current profile selection */ clearCurrentProfile(): Promise<void>; /** * Clear all configuration */ clearAll(): Promise<void>; } //# sourceMappingURL=ConfigManager.d.ts.map