@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
70 lines • 2.22 kB
TypeScript
import { SQLiteEngine } from '../storage/SQLiteEngine.js';
import type { SchemaInfo, JoinInfo, FieldMappingResult, FieldMapping, JoinRequirement, EntityType } from './types.js';
/**
* COMPLETE IntelligentFieldMapper Implementation
*
* STATUS: 100% COMPLETE - All 26 database entities mapped
* DATE: July 2, 2025
*
* This is the COMPLETE implementation with ALL entity schemas from the database.
* Replaces the incomplete version that only had 3 entities.
*/
export declare class IntelligentFieldMapper {
private sqliteEngine?;
private schemaMap;
private fieldCache;
private joinPathCache;
constructor(sqliteEngine?: SQLiteEngine);
/**
* Map a field reference to its database location
*/
mapField(entity: string, field: string): FieldMappingResult;
/**
* Get join path between two entities
*/
getJoinPath(fromEntity: string, toEntity: string): JoinInfo[];
/**
* Try to map field as JSON path
*/
private tryJsonMapping;
/**
* Find similar field name using fuzzy matching
*/
private findSimilarField;
/**
* Infer data type from field name
*/
private inferDataType;
/**
* Initialize the COMPLETE schema map with ALL database entities
* STATUS: 100% COMPLETE - All 26 entities mapped
*/
private initializeSchemaMap;
/**
* Get list of all available entities
*/
getAvailableEntities(): string[];
/**
* Get schema info for an entity
*/
getEntitySchema(entity: string): SchemaInfo | undefined;
/**
* Validate that all required schemas are present
*/
validateCompleteness(): {
isComplete: boolean;
missing: string[];
};
/**
* Legacy method for HybridQueryBuilder compatibility
* Resolves a field reference to SQL mapping
*/
resolveField(entityType: EntityType, fieldPath: string): FieldMapping;
/**
* Legacy method for HybridQueryBuilder compatibility
* Gets required joins for an entity
*/
getRequiredJoins(entityType: EntityType, fields: string[]): JoinRequirement[];
}
export { FieldMapping, JoinRequirement };
//# sourceMappingURL=IntelligentFieldMapper.d.ts.map