UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

62 lines (61 loc) 2.11 kB
/** * Workflow Runner - Main Orchestrator * =================================== * * Coordinates the complete workflow execution pipeline: * 1. Model execution (layer-based or flat) * 2. Judge scoring with hierarchical prompts * 3. Response conditioning (stub) * 4. Metrics collection * 5. Result assembly * * @module workflow/core/workflowRunner */ import type { RunWorkflowOptions, WorkflowConfig, WorkflowResult, WorkflowStreamChunk } from "../../types/index.js"; /** * Execute a complete workflow * * This is the main entry point that orchestrates: * - Model execution (respects modelGroups or flat models) * - Judge scoring (with hierarchical prompt resolution) * - Response conditioning (currently stub) * - Metrics calculation * - Result assembly * * @param config - Validated workflow configuration * @param options - Execution options including prompt * @returns Complete workflow result with scores and metrics * * @example * ```typescript * const result = await runWorkflow(config, { * prompt: 'Explain quantum entanglement', * timeout: 30000, * verbose: true, * }); * * console.log('Best response:', result.content); * console.log('Score:', result.score); * ``` */ export declare function runWorkflow(config: WorkflowConfig, options: RunWorkflowOptions): Promise<WorkflowResult>; /** * Execute workflow with progressive streaming support * Yields preliminary response (first completed model) and final synthesized response * * @param config - Validated workflow configuration * @param options - Execution options with streaming enabled * @returns AsyncGenerator yielding preliminary and final responses * * @example * ```typescript * for await (const chunk of runWorkflowWithStreaming(config, options)) { * if (chunk.type === 'preliminary') { * console.log('Fast response:', chunk.content); * } else { * console.log('Final synthesis:', chunk.content); * } * } * ``` */ export declare function runWorkflowWithStreaming(config: WorkflowConfig, options: RunWorkflowOptions): AsyncGenerator<WorkflowStreamChunk, void, undefined>;