@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
84 lines • 2.35 kB
TypeScript
/**
* Mapping Resolver
* @description Handles ID and key translation between source and destination projects
* with intelligent lookup and caching capabilities
*/
import { OptimizelyMCPTools } from '../tools/OptimizelyMCPTools.js';
import { EntityType, MappingDictionary } from './types.js';
export interface MappingResolverOptions {
autoResolve?: boolean;
cacheResults?: boolean;
strictMode?: boolean;
}
export declare class MappingResolver {
private logger;
private sourceTools;
private destinationTools;
private mappings;
private resolvedMappings;
private options;
constructor(sourceTools: OptimizelyMCPTools, destinationTools: OptimizelyMCPTools, initialMappings?: MappingDictionary, options?: MappingResolverOptions);
/**
* Initialize the resolved mappings cache
*/
private initializeCache;
/**
* Resolve a single reference
*/
resolveReference(sourceRef: string, targetEntityType: EntityType, sourceProjectId: string, destProjectId: string): Promise<string | null>;
/**
* Resolve all references in an entity
*/
resolveEntityReferences(entity: any, entityType: EntityType, sourceProjectId: string, destProjectId: string): Promise<any>;
/**
* Auto-resolve by looking up entity in destination
*/
private autoResolve;
/**
* Fetch entity from project
*/
private fetchEntity;
/**
* Search for entities by name
*/
private searchByName;
/**
* Get target entity type from field name
*/
private getTargetTypeFromField;
/**
* Cache a resolved mapping
*/
private cacheMapping;
/**
* Get all resolved mappings
*/
getMappings(): MappingDictionary;
/**
* Add manual mapping
*/
addMapping(entityType: EntityType, sourceRef: string, destRef: string): void;
/**
* Bulk add mappings
*/
addMappings(mappings: MappingDictionary): void;
/**
* Clear cache
*/
clearCache(): void;
/**
* Get cache statistics
*/
getCacheStats(): {
[entityType: string]: number;
};
/**
* Export mappings to JSON
*/
exportMappings(): string;
/**
* Import mappings from JSON
*/
importMappings(json: string): void;
}
//# sourceMappingURL=MappingResolver.d.ts.map