UNPKG

@zhanghongping/json-sage-workflow-cli

Version:

An intelligent JSON processing workflow system with improved error handling and configuration

52 lines (43 loc) 1.9 kB
import { SchemaAgent, DescriptionAgent, ExampleAgent } from '../agent'; import { AgentConfig, SchemaGenerationTask, AgentResult } from '../types'; export class WorkflowCoordinator { private schemaAgent: SchemaAgent; private descriptionAgent: DescriptionAgent; private exampleAgent: ExampleAgent; constructor(config: AgentConfig) { this.schemaAgent = new SchemaAgent(config); this.descriptionAgent = new DescriptionAgent(config); this.exampleAgent = new ExampleAgent(config); } async executeWorkflow(task: SchemaGenerationTask): Promise<AgentResult> { const steps: string[] = []; const startTime = Date.now(); try { // Step 1: Generate Schema steps.push('Generating Schema'); const schemaResult = await this.schemaAgent.generateSchema(task); const { schema } = schemaResult; // Step 2: Generate Descriptions steps.push('Generating Field Descriptions'); const descriptionResult = await this.descriptionAgent.generateDescriptions(task.jsonData); const { descriptions } = descriptionResult; // Step 3: Generate Examples steps.push('Generating Examples'); const exampleResult = await this.exampleAgent.generateExamples(schema); const { examples } = exampleResult; const executionTime = Date.now() - startTime; return { schema, descriptions, examples, metadata: { executionTime, steps } }; } catch (error) { console.error('Workflow execution failed:', error); throw new Error(`Workflow execution failed: ${error.message}`); } } }