@vfarcic/dot-ai
Version:
Universal Kubernetes application deployment agent with CLI and MCP interfaces
70 lines • 1.9 kB
TypeScript
/**
* Workflow Engine Module
*
* Handles workflow creation, execution, and templates
*/
export interface WorkflowSpec {
app?: string;
image?: string;
replicas?: number | string;
[key: string]: any;
}
export interface WorkflowExecution {
id: string;
status: 'pending' | 'running' | 'completed' | 'failed';
steps: WorkflowStep[];
error?: string;
}
export interface WorkflowStep {
name: string;
status: 'pending' | 'running' | 'completed' | 'failed';
output?: any;
error?: string;
}
export interface WorkflowTemplate {
name: string;
description: string;
parameters: TemplateParameter[];
}
export interface TemplateParameter {
name: string;
type: string;
required: boolean;
description: string;
default?: any;
}
export interface TemplateParams {
template: string;
parameters: Record<string, any>;
}
export interface RollbackResult {
success: boolean;
message?: string;
}
export declare class WorkflowEngine {
private workflows;
private executions;
private templates;
private initialized;
constructor();
private initializeTemplates;
initialize(): Promise<void>;
createDeploymentWorkflow(spec: WorkflowSpec): Promise<string>;
private validateSpec;
execute(workflowId: string): Promise<WorkflowExecution>;
private executeSteps;
private generateSteps;
rollback(executionId: string): Promise<RollbackResult>;
getAvailableTemplates(): Promise<WorkflowTemplate[]>;
createFromTemplate(params: TemplateParams): Promise<string>;
private generateId;
initializeWorkflow(config: {
appName: string;
requirements?: string;
}): Promise<string>;
transitionTo(state: string): Promise<string>;
executePhase(): Promise<any>;
getCurrentPhase(): string;
isInitialized(): boolean;
}
//# sourceMappingURL=workflow.d.ts.map