marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
109 lines • 3.37 kB
TypeScript
import winston from 'winston';
import { DIContainer } from '../container/DIContainer.js';
import { ToolAndPromptRegistry } from './ToolAndPromptRegistry.js';
import { RegistryValidator } from './RegistryValidator.js';
import { VersionManager } from './VersionManager.js';
import { DiscoveryService } from './DiscoveryService.js';
import { RegistryConfig } from './types.js';
/**
* Service tokens for dependency injection
*/
export declare const REGISTRY_TOKENS: {
readonly TOOL_AND_PROMPT_REGISTRY: "ToolAndPromptRegistry";
readonly REGISTRY_VALIDATOR: "RegistryValidator";
readonly VERSION_MANAGER: "VersionManager";
readonly DISCOVERY_SERVICE: "DiscoveryService";
readonly REGISTRY_CONFIG: "RegistryConfig";
readonly REGISTRY_LOGGER: "RegistryLogger";
};
/**
* Configuration options for registry factory
*/
export interface RegistryFactoryConfig {
registryConfig?: Partial<RegistryConfig>;
loggerConfig?: winston.LoggerOptions;
enableValidation?: boolean;
enableVersioning?: boolean;
enableDiscovery?: boolean;
}
/**
* Factory for creating and configuring registry services with dependency injection
*/
export declare class RegistryFactory {
private readonly container;
private initialized;
constructor(container: DIContainer);
/**
* Initialize registry services and register them with the DI container
*/
initialize(config?: RegistryFactoryConfig): Promise<void>;
/**
* Create a configured tool and prompt registry
*/
createToolAndPromptRegistry(): ToolAndPromptRegistry;
/**
* Create a registry validator
*/
createRegistryValidator(): RegistryValidator;
/**
* Create a version manager
*/
createVersionManager(): VersionManager;
/**
* Create a discovery service
*/
createDiscoveryService(): DiscoveryService;
/**
* Create registry configuration
*/
createRegistryConfig(partial?: Partial<RegistryConfig>): RegistryConfig;
/**
* Create logger configuration
*/
createLogger(options?: winston.LoggerOptions): winston.Logger;
/**
* Get the main registry instance
*/
getRegistry(): ToolAndPromptRegistry;
/**
* Get the registry validator
*/
getValidator(): RegistryValidator;
/**
* Get the version manager
*/
getVersionManager(): VersionManager;
/**
* Get the discovery service
*/
getDiscoveryService(): DiscoveryService;
/**
* Check if the factory has been initialized
*/
isInitialized(): boolean;
/**
* Reset the factory (useful for testing)
*/
reset(): void;
/**
* Create a registry factory with default configuration
*/
static createDefault(container: DIContainer): Promise<RegistryFactory>;
/**
* Create a registry factory with custom configuration
*/
static createWithConfig(container: DIContainer, config: RegistryFactoryConfig): Promise<RegistryFactory>;
/**
* Create a minimal registry for testing
*/
static createForTesting(container: DIContainer): Promise<RegistryFactory>;
/**
* Validate registry configuration
*/
private validateConfig;
/**
* Setup migration handlers if versioning is enabled
*/
private setupMigrationHandlers;
}
//# sourceMappingURL=RegistryFactory.d.ts.map