aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
106 lines • 3.31 kB
TypeScript
/**
* Workflow Orchestrator
*
* Core orchestration engine that chains validation → optimization → re-validation.
* Supports batch processing, watch mode, auto-fix, and multiple output formats.
*
* @implements @.aiwg/requirements/use-cases/UC-001-validate-ai-generated-content.md
* @architecture @.aiwg/architecture/software-architecture-doc.md - Section 4.2 Core Orchestrator
* @tests @test/unit/cli/workflow-orchestrator.test.ts
* @depends @src/writing/validation-engine.ts
* @depends @src/writing/prompt-optimizer.ts
* @depends @src/cli/config-loader.ts
* @depends @src/cli/watch-service.ts
* @cli @docs/CLI_USAGE.md - workflow command
*/
import { ValidationResult } from '../writing/validation-engine.js';
import { OptimizationResult } from '../writing/prompt-optimizer.js';
import { AiwgConfig } from './config-loader.js';
export interface WorkflowResult {
filePath: string;
validation: {
before: ValidationResult;
after?: ValidationResult;
};
optimization?: OptimizationResult;
applied: boolean;
error?: string;
duration: number;
}
export interface BatchProgress {
total: number;
processed: number;
passed: number;
failed: number;
errors: number;
}
export type ProgressCallback = (progress: BatchProgress) => void;
/**
* Core Workflow Orchestrator
*/
export declare class WorkflowOrchestrator {
private configLoader;
private validator;
private optimizer;
private watchService;
private config;
constructor(guideBasePath?: string);
/**
* Process a single file through the workflow
*/
processFile(filePath: string, config?: AiwgConfig): Promise<WorkflowResult>;
/**
* Process multiple files in batch
*/
processBatch(files: string[], config?: AiwgConfig, onProgress?: ProgressCallback): Promise<Map<string, WorkflowResult>>;
/**
* Validate step
*/
validateStep(content: string, config: AiwgConfig): Promise<ValidationResult>;
/**
* Optimize step
*/
optimizeStep(content: string, config: AiwgConfig): Promise<OptimizationResult>;
/**
* Re-validate step
*/
revalidateStep(content: string, config: AiwgConfig): Promise<ValidationResult>;
/**
* Apply optimization to file
*/
private applyOptimization;
/**
* Start watch mode
*/
startWatchMode(config?: AiwgConfig): Promise<void>;
/**
* Stop watch mode
*/
stopWatchMode(): Promise<void>;
/**
* Load configuration
*/
loadConfig(configPath?: string): Promise<AiwgConfig>;
/**
* Validate configuration
*/
validateConfig(config: AiwgConfig): import("./config-loader.js").ConfigValidationResult;
/**
* Generate report from results
*/
generateReport(results: Map<string, WorkflowResult>, format: 'text' | 'json' | 'html' | 'junit'): string;
/**
* Save report to file
*/
saveReport(report: string, destination: string): Promise<void>;
/**
* Expand glob patterns to file list
*/
expandGlob(patterns: string[]): Promise<string[]>;
private generateTextReport;
private generateJsonReport;
private generateHtmlReport;
private generateJunitReport;
private escapeXml;
}
//# sourceMappingURL=workflow-orchestrator.d.ts.map