UNPKG

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
/** * 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