UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

84 lines 2.35 kB
/** * 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