@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
91 lines • 2.45 kB
TypeScript
/**
* Step Executor
* @description Executes individual orchestration steps
* @author Optimizely MCP Server
* @version 1.0.0
*/
import { OrchestrationStep, OrchestrationState, OrchestrationContext } from '../types/index.js';
import { EntityAdoptionService } from '../services/EntityAdoptionService.js';
export declare class StepExecutor {
private logger;
private context;
private dependencyResolver;
private sandbox?;
private mcpTools?;
private adoptionService?;
private preExecutionValidator;
constructor(context: OrchestrationContext);
/**
* Set the adoption service - called by TemplateOrchestrationEngine
*/
setAdoptionService(adoptionService: EntityAdoptionService): void;
/**
* Extract project ID from various sources
*/
private extractProjectId;
/**
* Create EntityOrchestrator instance with proper dependencies
*/
private createEntityOrchestrator;
/**
* Execute a single step based on its type
*/
executeStep(step: OrchestrationStep, state: OrchestrationState, context: OrchestrationContext): Promise<any>;
/**
* Execute template step using new Direct Template Architecture
*/
private executeTemplateStep;
/**
* Execute conditional step
*/
private executeConditionalStep;
/**
* Execute loop step
*/
private executeLoopStep;
/**
* Execute plugin step
*/
private executePluginStep;
/**
* Execute wait step
*/
private executeWaitStep;
/**
* Execute parallel step
*/
private executeParallelStep;
/**
* Execute plugin code directly (for hooks)
*/
executePluginCode(code: string, state: OrchestrationState): Promise<any>;
/**
* Evaluate a condition expression
*/
private evaluateCondition;
/**
* Parse template ID to extract entity type and operation
*/
private parseTemplateId;
/**
* Get plugin permissions based on context
*/
private getPluginPermissions;
/**
* Resolve variables using dependency resolver
*/
private resolveVariables;
/**
* Format adoption result to match expected structure
*/
private formatAdoptionResult;
/**
* Store entity result in state
*/
private storeEntityInState;
/**
* Clean up resources
*/
destroy(): Promise<void>;
}
//# sourceMappingURL=StepExecutor.d.ts.map