marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
74 lines • 2.71 kB
TypeScript
import { VersionInfo, CompatibilityResult, RegistryEntry } from './types.js';
/**
* Manages versioning for registry entries with semantic versioning support
*/
export declare class VersionManager {
private readonly migrationHandlers;
private readonly compatibilityRules;
constructor();
/**
* Parse version string to VersionInfo object
*/
parseVersion(versionString: string): VersionInfo;
/**
* Format VersionInfo object to version string
*/
formatVersion(version: VersionInfo): string;
/**
* Compare two versions
* Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
*/
compareVersions(v1: VersionInfo, v2: VersionInfo): number;
/**
* Check if a version satisfies a range requirement
*/
satisfiesRange(version: VersionInfo, range: string): boolean;
/**
* Check compatibility between two versions
*/
checkCompatibility(current: VersionInfo, required: VersionInfo): CompatibilityResult;
/**
* Increment version based on change type
*/
incrementVersion(currentVersion: VersionInfo, changeType: 'major' | 'minor' | 'patch' | 'prerelease', prereleaseIdentifier?: string): VersionInfo;
/**
* Register a migration handler for a specific version transition
*/
registerMigrationHandler(fromVersion: string, toVersion: string, handler: (entry: RegistryEntry) => Promise<RegistryEntry>): void;
/**
* Execute migration for a registry entry
*/
migrateEntry(entry: RegistryEntry, targetVersion: VersionInfo): Promise<RegistryEntry>;
/**
* Register custom compatibility rule
*/
registerCompatibilityRule(ruleKey: string, rule: (v1: VersionInfo, v2: VersionInfo) => boolean): void;
/**
* Apply custom compatibility rule
*/
applyCompatibilityRule(ruleKey: string, v1: VersionInfo, v2: VersionInfo): boolean;
/**
* Get the latest version from an array of versions
*/
getLatestVersion(versions: VersionInfo[]): VersionInfo | null;
/**
* Filter versions by compatibility with a base version
*/
getCompatibleVersions(baseVersion: VersionInfo, versions: VersionInfo[]): VersionInfo[];
/**
* Check if version is stable (no prerelease)
*/
isStableVersion(version: VersionInfo): boolean;
/**
* Check if version is prerelease
*/
isPrereleaseVersion(version: VersionInfo): boolean;
private setupDefaultCompatibilityRules;
private isCompatible;
private isSemanticCompatible;
private isCompatiblePatch;
private isCompatibleMinor;
private isMigrationPossible;
private generateMigrationPath;
}
//# sourceMappingURL=VersionManager.d.ts.map