UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

57 lines 1.68 kB
/** * QueryValidator - Validates queries for safety, permissions, and complexity */ import { QueryIntent, CompiledQuery, HybridQuery, EntityType } from './types.js'; export interface ValidationResult { valid: boolean; errors: ValidationError[]; warnings: ValidationWarning[]; sanitizedQuery?: CompiledQuery | HybridQuery; } export interface ValidationError { code: string; message: string; field?: string; value?: any; } export interface ValidationWarning { code: string; message: string; suggestion?: string; } export interface QueryPermissions { allowedEntities?: EntityType[]; allowedProjects?: string[]; maxResultLimit?: number; allowComplexQueries?: boolean; allowJsonProcessing?: boolean; } export declare class QueryValidator { private permissions; constructor(permissions?: QueryPermissions); /** * Validate a query intent before building */ validateIntent(intent: QueryIntent): ValidationResult; /** * Validate a compiled SQL query */ validateCompiledQuery(query: CompiledQuery): ValidationResult; /** * Validate a hybrid query */ validateHybridQuery(query: HybridQuery): ValidationResult; private validateFilter; private validateJsonataExpression; private checkSqlInjection; private checkUnsafeFunctions; private checkJsonPathInjection; private calculateIntentComplexity; private calculateJsonataComplexity; private sanitizeQuery; /** * Update permissions for a specific request */ updatePermissions(permissions: Partial<QueryPermissions>): void; } //# sourceMappingURL=QueryValidator.d.ts.map