UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

89 lines 2.41 kB
/** * Optimizely Adapter for Intelligent Query Engine * * This adapter provides discovery and execution capabilities for the Optimizely * data model stored in SQLite. It auto-discovers entities, fields, and relationships * from the database schema and cached data. */ import { Database } from 'better-sqlite3'; import type { DataModelAdapter, EntityDefinition, FieldDefinition, RelationshipMap, AdapterCapabilities } from '../types.js'; /** * Optimizely-specific adapter configuration */ export interface OptimizelyAdapterConfig { database: Database; projectFilter?: string[]; } /** * Optimizely Adapter implementation */ export declare class OptimizelyAdapter implements DataModelAdapter { name: string; version: string; description: string; private db; private projectFilter?; private schemaCache; constructor(config: OptimizelyAdapterConfig); /** * Discover all entities in the Optimizely data model */ discoverEntities(): Promise<EntityDefinition[]>; /** * Discover fields for a specific entity */ discoverFields(entity: string): Promise<FieldDefinition[]>; /** * Discover relationships between entities */ discoverRelationships(): Promise<RelationshipMap>; /** * Execute a native SQL query */ executeNativeQuery(query: any): Promise<any[]>; /** * Get the database connection */ getConnectionPool(): Database; /** * Get adapter capabilities */ getCapabilities(): AdapterCapabilities; /** * Convert table name to entity name */ private tableToEntityName; /** * Check if table has data_json column */ private hasDataJsonColumn; /** * Map SQLite type to universal field type */ private mapSQLiteType; /** * Get JSON schema for entity from FIELDS */ private getJsonSchemaForEntity; /** * Discover fields within JSON columns */ private discoverJsonFields; /** * Get fields from FIELDS schema */ private getFieldsFromSchema; /** * Check if field is a direct column */ private isDirectColumn; /** * Map schema field type to universal type */ private mapFieldType; /** * Get virtual entities (for special relationships) */ private getVirtualEntities; } //# sourceMappingURL=OptimizelyAdapter.d.ts.map