@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
81 lines • 2.03 kB
TypeScript
/**
* Dry Run Executor
*
* Simulates template execution without making actual API calls.
* Shows what entities would be created and in what order.
*/
export interface DryRunStep {
stepId: string;
action: 'create' | 'update' | 'lookup' | 'skip';
entityType: string;
entityName: string;
reason?: string;
inputs: Record<string, any>;
outputs: Record<string, any>;
dependencies: string[];
warnings: string[];
estimatedTime: number;
}
export interface DryRunResult {
success: boolean;
steps: DryRunStep[];
totalEstimatedTime: number;
errors: string[];
warnings: string[];
summary: {
totalSteps: number;
createActions: number;
updateActions: number;
lookupActions: number;
skippedSteps: number;
};
}
export interface DryRunOptions {
projectId: string;
parameters?: Record<string, any>;
stopOnError?: boolean;
resolveReferences?: boolean;
}
export declare class DryRunExecutor {
private referenceResolver;
private orchestrationRules;
private simulatedEntities;
constructor();
/**
* Execute a dry run of a template
*/
execute(template: any, options: DryRunOptions): Promise<DryRunResult>;
/**
* Process a single step
*/
private processStep;
/**
* Resolve template parameters
*/
private resolveParameters;
/**
* Resolve step inputs (replace parameter references)
*/
private resolveInputs;
/**
* Extract dependencies from inputs
*/
private extractDependencies;
/**
* Check for orchestration warnings
*/
private checkOrchestrationWarnings;
/**
* Estimate execution time for an action
*/
private estimateExecutionTime;
/**
* Extract entity type from system template ID
*/
private extractEntityType;
/**
* Format dry run results for display
*/
formatResults(result: DryRunResult): string;
}
//# sourceMappingURL=DryRunExecutor.d.ts.map